IP Library Granted Patent US 10,831,701
Granted Patent B2
US 10,831,701 · App. 16/562,740 · Granted Nov 10, 2020

Configuring compute nodes in a parallel computer using remote direct memory access (‘RDMA’)

Inventors: Michael E. Aho (Rochester, MN); John E. Attinella (Rochester, MN); Thomas M. Gooding (Rochester, MN); Michael B. Mundy (Rochester, MN)
Assignee: International Business Machines Corporation
G06F15/177G06F8/63G06F9/441G06F9/4401
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 10,831,701
App. No.
16/562,740
Granted
Nov 10, 2020
Kind
B2
Abstract

Configuring compute nodes in a parallel computer using remote direct memory access (‘RDMA’), the parallel computer comprising a plurality of compute nodes coupled for data communications via one or more data communications networks, including: initiating, by a source compute node of the parallel computer, an RDMA broadcast operation to broadcast binary configuration information to one or more target compute nodes in the parallel computer; preparing, by each target compute node, the target compute node for receipt of the binary configuration information from the source compute node; transmitting, by each target compute node, a ready message to the target compute node, the ready message indicating that the target compute node is ready to receive the binary configuration information from the source compute node; and performing, by the source compute node, an RDMA broadcast operation to write the binary configuration information into memory of each target compute node.

Claims (36)

1. An apparatus for configuring compute nodes in a parallel computer using remote direct memory access (‘RDMA’), the parallel computer comprising an operational group comprising a plurality of compute nodes coupled for data communications via one or more data communications networks, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

initiating, by a source compute node of the parallel computer, an RDMA broadcast operation to broadcast binary configuration information to at least two target compute nodes of the operational group;

preparing, by each of the at least two target computes nodes, the target compute node for receipt of the binary configuration information from the source compute node by:

changing a data communications state of the target compute node, wherein the data communication state specifies a type of data communications mode, to indicate that the target compute node is ready to receive a broadcast of data, such that the target compute node is ready to receive binary configuration information that is being broadcast to the target compute node via an RDMA broadcast operation;

allocating memory to store the binary configuration information; and

setting a value of an expected data transfer size counter to the size of data to be transferred during the RDMA broadcast operation;

transmitting, by each of the at least two target compute nodes, a ready message to the source compute node, wherein the ready message indicates that the target compute node is ready to receive the binary configuration information from the source compute node; and

performing, by the source compute node, an RDMA broadcast operation to write the binary configuration information into memory of each target compute node.

2. The apparatus of claim 1 wherein initiating a broadcast operation to broadcast binary configuration information to at least two target compute nodes further comprises sending, by the source compute node, an RDMA broadcast operation message to each of the target compute nodes, wherein the RDMA broadcast operation message includes setup parameters for the RDMA broadcast operation, including the size of data to be transferred during the RDMA broadcast operation.

3. The apparatus of claim 1 wherein transmitting a ready message to the target compute node further comprises transmitting a collective packet as part of a collective operation.

4. The apparatus of claim 1 wherein the computer memory further includes computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

for each target compute node upon receipt of binary configuration information:

determining the size of the binary configuration information that was received;

decrementing a value of an expected data transfer size counter by an amount equal to the size of the binary configuration information that was received;

determining whether the value of an expected data transfer size counter is zero; and

responsive to determining that the value of the expected data transfer size counter is zero, transmitting a data received message to the source compute node.

5. The apparatus of claim 4 wherein transmitting the data received message to the source compute node further comprises transmitting a collective packet as part of a collective operation.

6. The apparatus of claim 1 wherein the binary configuration data is a binary executable file.

7. A computer program product for configuring compute nodes in a parallel computer using remote direct memory access (‘RDMA’), the parallel computer comprising an operational group comprising a plurality of compute nodes coupled for data communications via one or more data communications networks, the computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

initiating, by a source compute node of the parallel computer, an RDMA broadcast operation to broadcast binary configuration information to at least two target compute nodes of the operational group;

preparing, by each of the at least two target computes nodes, the target compute node for receipt of the binary configuration information from the source compute node by:

changing a data communications state of the target compute node, wherein the data communication state specifies a type of data communications mode, to indicate that the target compute node is ready to receive a broadcast of data, such that the target compute node is ready to receive binary configuration information that is being broadcast to the target compute node via an RDMA broadcast operation;

allocating memory to store the binary configuration information; and

setting a value of an expected data transfer size counter to the size of data to be transferred during the RDMA broadcast operation;

transmitting, by each of the at least two target compute nodes, a ready message to the source compute node, wherein the ready message indicates that the target compute node is ready to receive the binary configuration information from the source compute node; and

performing, by the source compute node, an RDMA broadcast operation to write the binary configuration information into memory of each target compute node.

8. The computer program product of claim 7 wherein initiating a broadcast operation to broadcast binary configuration information to at least two target compute nodes further comprises sending, by the source compute node, an RDMA broadcast operation message to each of the target compute nodes, wherein the RDMA broadcast operation message includes setup parameters for the RDMA broadcast operation, including the size of data to be transferred during the RDMA broadcast operation.

9. The computer program product of claim 7 wherein transmitting a ready message to the target compute node further comprises transmitting a collective packet as part of a collective operation.

10. The computer program product of claim 7 wherein the computer program product further comprises computer program instructions that, when executed, cause a computer to carry out the steps of:

for each target compute node upon receipt of binary configuration information:

determining the size of the binary configuration information that was received;

decrementing a value of an expected data transfer size counter by an amount equal to the size of the binary configuration information that was received;

determining whether the value of an expected data transfer size counter is zero; and

responsive to determining that the value of the expected data transfer size counter is zero, transmitting a data received message to the source compute node.

11. The computer program product of claim 10 wherein transmitting the data received message to the source compute node further comprises transmitting a collective packet as part of a collective operation.

12. The computer program product of claim 7 wherein the binary configuration data is a binary executable file.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: AHO, MICHAEL E.; ATTINELLA, JOHN E.; GOODING, THOMAS M.; MUNDY, MICHAEL B.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 050291/0432 →
Continuity (3)
Continuation 13709567 · Dec 10, 2012
Continuation 13351419 · Jan 17, 2012
Related Publication 20190391955A1 · Dec 26, 2019