IP Library Granted Patent US 9,959,238
Granted Patent B1
US 9,959,238 · App. 14/580,534 · Granted May 1, 2018

Message passing among interdependent parallel processes using a shared memory

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,959,238
App. No.
14/580,534
Granted
May 1, 2018
Kind
B1
Abstract

Message passing is provided among a plurality of interdependent parallel processes using a shared memory. Inter-process communication among a plurality of interdependent processes executing on a plurality of compute nodes is performed by obtaining a message from a first process for a second process; and storing the message in a memory location of a Peripheral Component Interconnect Express (PCIE)-linked storage device, wherein the second process reads the memory location to obtain the message. The message is optionally persistently stored in the PCIE-linked storage device for an asynchronous checkpoint until the message is no longer required for an asynchronous restart.

Claims (28)

1. A method for inter-process communication among a plurality of interdependent processes executing on a plurality of compute nodes, comprising:

obtaining a message by means of a Peripheral Component Interconnect Express (PCIE) network interconnecting a plurality of compute nodes, wherein said message is from a first process executing on a first compute node of the plurality of compute nodes for a second process executing on a distinct second compute node of the plurality of compute nodes; and

storing said message in a predefined persistent memory location of a PCIE-linked persistent storage device that is distinct from said first compute node and said second compute node, wherein said second process reads said predefined persistent memory location using a PCIE communication to obtain said message from said predefined persistent memory location.

2. The method of claim 1 , wherein said first process employs a Message Passing Interface (MPI)-Send function of an MPI application programming interface (API) to send said message.

3. The method of claim 2 , wherein said second process employs a MPI-Receive function of said MPI API to read said message.

4. The method of claim 1 , wherein said first process and said second process employ a PCIE bus on a respective compute node where said first process and said second process execute.

5. The method of claim 1 , wherein said PCIE-linked storage device employs a PCIE bus on said PCIE-linked storage device.

6. The method of claim 1 , wherein said predefined persistent memory location comprises a unique value for said first process and said second process.

7. The method of claim 1 , wherein said predefined persistent memory location is locked until said second process reads said predefined persistent memory location to obtain said message.

8. The method of claim 1 , wherein said predefined persistent memory location stores an offset to a second memory location where at least a portion of said message is stored.

9. The method of claim 1 , wherein said message is persistently stored in said PCIE-linked persistent storage device for an asynchronous checkpoint.

10. The method of claim 9 , wherein said message is persistently stored in said PCIE-linked persistent storage device until said message is no longer required for an asynchronous restart.

11. The method of claim 1 , wherein said first and second processes comprise portions of a High Performance Computing (HPC) workload in an enterprise environment.

12. A non-transitory machine-readable recordable storage medium, wherein one or more software programs when executed by one or more processing devices implement the following steps:

obtaining a message by means of a Peripheral Component Interconnect Express (PCIE) network interconnecting a plurality of compute nodes, wherein said message is from a first process executing on a first compute node of the plurality of compute nodes for a second process executing on a distinct second compute node of the plurality of compute nodes; and

storing said message in a predefined persistent memory location of a PCIE-linked persistent storage device that is distinct from said first compute node and said second compute node, wherein said second process reads said predefined persistent memory location using a PCIE communication to obtain said message from said predefined persistent memory location.

13. A system for inter-process communication among a plurality of interdependent processes executing on a plurality of compute nodes, comprising:

a memory; and

at least one processing device configured to:

obtain a message by means of a Peripheral Component Interconnect Express (PCIE) network interconnecting a plurality of compute nodes, wherein said message is from a first process executing on a first compute node of the plurality of compute nodes for a second process executing on a distinct second compute node of the plurality of compute nodes; and

store said message in a predefined persistent memory location of a PCIE-linked persistent storage device that is distinct from said first compute node and said second compute node, wherein said second process reads said predefined persistent memory location using a PCIE communication to obtain said message from said predefined persistent memory location.

14. The system of claim 13 , wherein said first process employs a Message Passing Interface (MPI)-Send function of an MPI application programming interface (API) to send said message and wherein said second process employs a MPI-Receive function of said MPI API to read said message.

15. The system of claim 13 , wherein said first process and said second process employ a PCIE bus on a respective compute node where said first process and said second process execute.

16. The system of claim 13 , wherein said PCIE-linked storage device employs a PCIE bus on said PCIE-linked storage device.

17. The system of claim 13 , wherein said predefined persistent memory location comprises a unique value for said first process and said second process.

18. The system of claim 13 , wherein said predefined persistent memory location stores an offset to a second memory location where at least a portion of said message is stored.

19. The system of claim 13 , wherein said message is persistently stored in said PCIE-linked persistent storage device for an asynchronous checkpoint.

20. The system of claim 13 , wherein said message is persistently stored in said PCIE-linked persistent storage device until said message is no longer required for an asynchronous restart.

Assignments (9)
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 (046366/0014) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 046366/0014 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2018
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045585/0340 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2015
From: BENT, JOHN M.; FAIBISH, SORIN; PEDONE, JAMES M., JR.
To: EMC CORPORATION
Reel/Frame 034909/0158 →