IP Library Granted Patent US 9,183,211
Granted Patent B1
US 9,183,211 · App. 13/730,080 · Granted Nov 10, 2015

Cooperative storage of shared files in a parallel computing system with dynamic block size

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,183,211
App. No.
13/730,080
Granted
Nov 10, 2015
Kind
B1
Abstract

Improved techniques are provided for parallel writing of data to a shared object in a parallel computing system. A method is provided for storing data generated by a plurality of parallel processes to a shared object in a parallel computing system. The method is performed by at least one of the processes and comprises: dynamically determining a block size for storing the data; exchanging a determined amount of the data with at least one additional process to achieve a block of the data having the dynamically determined block size; and writing the block of the data having the dynamically determined block size to a file system. The determined block size comprises, e.g., a total amount of the data to be stored divided by the number of parallel processes. The file system comprises, for example, a log structured virtual parallel file system, such as a Parallel Log-Structured File System (PLFS).

Claims (30)

1. A method performed at a compute node for storing data generated by a plurality of parallel processes to a shared object in a parallel computing system, wherein said method is performed by at least a first one of said parallel processes that generate said shared object, wherein said compute node hosts at least said first one of said parallel processes and wherein said method comprises the steps of:

dynamically determining a write block size for storing said data;

exchanging a determined amount of said data with at least a second one of said parallel processes to achieve a block of said data having said dynamically determined write block size, wherein said exchanging comprises said first one of said parallel processes one or more of (i) sending said determined amount of said data to, and (ii) receiving said determined amount of said data from, said at least second one of said parallel processes to achieve said block of said data having said dynamically determined write block size at said compute node hosting said first one of said parallel processes; and

writing said block of said data having said dynamically determined block size to a file system for storage.

2. The method of claim 1 , wherein said determined write block size comprises a total amount of said data to be stored by said plurality of parallel processes divided by a number of said plurality of parallel processes.

3. The method of claim 1 , further comprising the step of broadcasting a number of bytes to be written by each of said plurality of parallel processes.

4. The method of claim 1 , wherein said exchanging step comprises an inter-process message exchange.

5. The method of claim 1 , wherein said file system comprises a log structured virtual parallel file system.

6. The method of claim 1 , wherein said file system comprises a Parallel Log-Structured File System (PLFS).

7. A compute node apparatus for storing data generated by a plurality of parallel processes to a shared object in a parallel computing system, wherein said apparatus hosts at least a first one of said parallel processes, wherein said apparatus comprises:

a memory; and

at least one hardware device operatively coupled to the memory and configured to:

dynamically determine a write block size for storing said data;

exchange a determined amount of said data with at least a second one of said parallel processes to achieve a block of said data having said dynamically determined write block size, wherein said exchange comprises said first one of said parallel processes one or more of (i) sending said determined amount of said data to, and (ii) receiving said determined amount of said data from, said at least second one of said parallel processes to achieve said block of said data having said dynamically determined write block size at said compute node hosting said first one of said parallel processes; and

write said block of said data having said dynamically determined block size to a file system for storage.

8. The compute node apparatus of claim 7 , wherein said determined write block size comprises a total amount of said data to be stored by said plurality of parallel processes divided by a number of said plurality of parallel processes.

9. The compute node apparatus of claim 7 , further comprising broadcasting a number of bytes to be written by each of said plurality of parallel processes.

10. The compute node apparatus of claim 7 , wherein said exchange comprises an inter-process message exchange.

11. The compute node apparatus of claim 7 , wherein said file system comprises a log structured virtual parallel file system.

12. The compute node apparatus of claim 7 , wherein said file system comprises a Parallel Log-Structured File System (PLFS).

13. A data storage system of a compute node for storing data generated by a plurality of parallel processes to a shared object in a parallel computing system, wherein said compute node hosts at least a first one of said parallel processes, wherein said data storage system comprises:

a processing unit that dynamically determines a write block size for storing said data and for exchanging a determined amount of said data with at least a second one of said parallel processes to achieve a block of said data having said dynamically determined write block size, wherein said exchange comprises said first one of said parallel processes one or more of (i) sending said determined amount of said data to, and (ii) receiving said determined amount of said data from, said at least second one of said parallel processes to achieve said block of said data having said dynamically determined write block size at said compute node hosting said first one of said parallel processes; and

a storage medium that stores said block of said data having said dynamically determined write block size prior to writing said block of said data to a file system.

14. The data storage system of claim 13 , wherein said determined write block size comprises a total amount of said data to be stored by said plurality of parallel processes divided by a number of said plurality of parallel processes.

15. The data storage system of claim 13 , wherein said processing unit is further configured to broadcast a number of bytes to be written by each of said plurality of parallel processes.

16. The data storage system of claim 13 , wherein said exchange comprises an inter-process message exchange.

17. The data storage system of claim 13 , wherein said file system comprises a log structured virtual parallel file system.

18. The data storage system of claim 13 , wherein said file system comprises a Parallel Log-Structured File System (PLFS).

19. The method of claim 1 , wherein said step of exchanging a determined amount of said data with at least a second one of said parallel processes is performed using an interconnect of said parallel computing system.

20. The compute node apparatus of claim 7 , wherein said step of exchanging a determined amount of said data with at least a second one of said parallel processes is performed using an interconnect of said parallel computing system.

Assignments (14)
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: 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; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
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 053546/0001 →
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: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/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 →
CONFIRMATORY LICENSE Recorded Nov 25, 2015
From: LOS ALAMOS NATIONAL SECURITY
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 037138/0100 →
CONFIRMATORY LICENSE Recorded Mar 6, 2014
From: LOS ALAMOS NATIONAL SECURITY
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 032361/0372 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2013
From: GRIDER, GARY A.
To: LOS ALAMOS NATIONAL SECURITY, LLC
Reel/Frame 031670/0814 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2013
From: BENT, JOHN M.; FAIBISH, SORIN
To: EMC CORPORATION
Reel/Frame 030385/0250 →