IP Library Granted Patent US 9,245,048
Granted Patent B1
US 9,245,048 · App. 14/143,771 · Granted Jan 26, 2016

Parallel sort with a ranged, partitioned key-value store in a high perfomance computing environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,245,048
App. No.
14/143,771
Granted
Jan 26, 2016
Kind
B1
Abstract

Improved sorting techniques are provided that perform a parallel sort using a ranged, partitioned key-value store in a high performance computing (HPC) environment. A plurality of input data files comprising unsorted key-value data in a partitioned key-value store are sorted. The partitioned key-value store comprises a range server for each of a plurality of ranges. Each input data file has an associated reader thread. Each reader thread reads the unsorted key-value data in the corresponding input data file and performs a local sort of the unsorted key-value data to generate sorted key-value data. A plurality of sorted, ranged subsets of each of the sorted key-value data are generated based on the plurality of ranges. Each sorted, ranged subset corresponds to a given one of the ranges and is provided to one of the range servers corresponding to the range of the sorted, ranged subset. Each range server sorts the received sorted, ranged subsets and provides a sorted range. A plurality of the sorted ranges are concatenated to obtain a globally sorted result.

Claims (34)

1. A method for sorting a plurality of input data files comprising unsorted key-value data in a partitioned key-value store comprising a range server for each of a plurality of ranges in said partitioned key-value store, said method comprising:

wherein each of said plurality of input data files has an associated reader thread, wherein each reader thread reads said unsorted key-value data in said corresponding input data file and performs a local sort of said unsorted key-value data to generate sorted key-value data;

generating a plurality of sorted, ranged subsets of each of said sorted key-value data based on said plurality of ranges, such that each of said sorted, ranged subsets corresponds to a given one of said ranges;

providing each of said plurality of sorted, ranged subsets to one of said range servers corresponding to said range of said sorted, ranged subset, wherein each of said range servers sorts said received sorted, ranged subsets and provides a sorted range; and

concatenating a plurality of said sorted ranges to obtain a globally sorted result.

2. The method of claim 1 , wherein said step of providing each of said plurality of sorted, ranged subsets to one of said range servers comprises a batch insert operation.

3. The method of claim 1 , wherein said partitioned key-value store is based on a Multidimensional Data Hashing Indexing Middleware (MDHIM) framework.

4. The method of claim 1 , wherein said partitioned key-value store employs Message Passing Interface (MPI) communications.

5. The method of claim 1 , wherein said reader thread is associated with an MDHIM client.

6. The method of claim 1 , wherein said step of generating a plurality of sorted, ranged subsets of each of said sorted key-value data is performed by said reader thread.

7. The method of claim 1 , wherein said range servers comprise MDHIM range servers.

8. An apparatus for sorting a plurality of input data files comprising unsorted key-value data in a partitioned key-value store comprising a range server for each of a plurality of ranges in

said partitioned key-value store, the apparatus comprising: a memory; and

at least one hardware device, coupled to the memory, operative to implement the following steps:

wherein each of said plurality of input data files has an associated reader thread, wherein each reader thread reads said unsorted key-value data in said corresponding input data file and performs a local sort of said unsorted key-value data to generate sorted key-value data;

generating a plurality of sorted, ranged subsets of each of said sorted key-value data based on said plurality of ranges, such that each of said sorted, ranged subsets corresponds to a given one of said ranges;

providing each of said plurality of sorted, ranged subsets to one of said range servers corresponding to said range of said sorted, ranged subset, wherein each of said range servers sorts said received sorted, ranged subsets and provides a sorted range; and

concatenating a plurality of said sorted ranges to obtain a globally sorted result.

9. The apparatus of claim 8 , wherein said plurality of sorted, ranged subsets are provided to one of said range servers using a batch insert operation.

10. The apparatus of claim 8 , wherein said partitioned key-value store is based on a Multidimensional Data Hashing Indexing Middleware (MDHIM) framework.

11. The apparatus of claim 8 , wherein said partitioned key-value store employs Message Passing Interface (MPI) communications.

12. The apparatus of claim 8 , wherein said reader thread is associated with an MDHIM client.

13. The apparatus of claim 8 , wherein said plurality of sorted, ranged subsets of each of said sorted key-value data are generated by said reader thread.

14. The apparatus of claim 8 , wherein said range servers comprise MDHIM range servers.

15. An article of manufacture for sorting a plurality of input data files comprising unsorted key-value data in a partitioned key-value store comprising a range server for each of a plurality of ranges in said partitioned key-value store, the article of manufacture comprising a non-transitory machine readable recordable storage medium containing one or more programs which when executed implement the steps of:

wherein each of said plurality of input data files has an associated reader thread, wherein each reader thread reads said unsorted key-value data in said corresponding input data file and performs a local sort of said unsorted key-value data to generate sorted key-value data;

generating a plurality of sorted, ranged subsets of each of said sorted key-value data based on said plurality of ranges, such that each of said sorted, ranged subsets corresponds to a given one of said ranges;

providing each of said plurality of sorted, ranged subsets to one of said range servers corresponding to said range of said sorted, ranged subset, wherein each of said range servers sorts said received sorted, ranged subsets and provides a sorted range; and

concatenating a plurality of said sorted ranges to obtain a globally sorted result.

16. The article of manufacture of claim 15 , wherein said step of providing each of said plurality of sorted, ranged subsets to one of said range servers comprises a batch insert operation.

17. The article of manufacture of claim 15 , wherein said partitioned key-value store is based on a Multidimensional Data Hashing Indexing Middleware (MDHIM) framework.

18. The article of manufacture of claim 15 , wherein said partitioned key-value store employs Message Passing Interface (MPI) communications.

19. The article of manufacture of claim 15 , wherein said reader thread is associated with an MDHIM client and wherein said range servers comprise MDHIM range servers.

20. The article of manufacture of claim 15 , wherein said step of generating a plurality of sorted, ranged subsets of each of said sorted key-value data is performed by said reader thread.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2019
From: POOLE, STEPHEN W.
To: UT-BATTELLE, LLC
Reel/Frame 049589/0710 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2018
From: LOS ALAMOS NATIONAL SECURITY, LLC
To: TRIAD NATIONAL SECURITY, LLC
Reel/Frame 047485/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
CONFIRMATORY LICENSE Recorded Nov 27, 2015
From: LOS ALAMOS NATIONAL SECURITY
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 037149/0829 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2015
From: GRIDER, GARY; TORRES, AARON
To: LOS ALAMOS NATIONAL SECURITY, LLC
Reel/Frame 037006/0180 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2014
From: BENT, JOHN M.; FAIBISH, SORIN
To: EMC CORPORATION
Reel/Frame 032221/0330 →