IP Library Granted Patent US 7,688,737
Granted Patent B2
US 7,688,737 · App. 11/682,057 · Granted Mar 30, 2010

Latency hiding message passing protocol

Assignee: International Business Machines Corporation
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 7,688,737
App. No.
11/682,057
Granted
Mar 30, 2010
Kind
B2
Abstract

A method, system, and article of manufacture that provide latency hiding, high bandwidth message passing protocols used for data communication between nodes of a parallel computer system are disclosed. A source node transmits a request to send message to a receiving node. Prior to receiving a clear to send message, the sending node continues to send deterministically routed (or fully described) data packets to the receiving node, thereby hiding the latency inherent in the request to send—clear to send message exchange. Once the sending node receives the clear to send message, any remaining portion of the message may be sent using partially described packets which may be routed dynamically, thereby maximizing bandwidth.

Claims (26)

1. A method of transmitting a message from a sending node to a receiving node of a parallel computing system, comprising:

encapsulating the message within a set of one or more data packets;

transmitting a request to send (RTS) message from the sending node to the receiving node;

prior to receiving a clear to send (CTS) message at the sending node, transmitting one or more of the data packets to the receiving node, wherein the one or more data packets transmitted prior to receiving the CTS message at the sending node are one of deterministically routed packets and fully described, dynamically routed packets; and

upon receiving the CTS message at the sending node, transmitting any remaining packets of the set of one or more packets to the receiving node, wherein the one or more data packets transmitted after receiving the CTS message at the sending node are routed dynamically, such that the one or more packets arrive in a different sequence order at the receiving node from a sequence order in which the one or more packets are transmitted, whereby the message is transmitted from the sending node to the receiving node.

2. The method of claim 1 , wherein the RTS message comprises an initial fully described data packet interpreted by the receiving node to be the RTS message.

3. The method of claim 2 , wherein the one or more data packets transmitted prior to receiving the CTS message at the sending node are deterministically routed such that each of the packets traverse an identical path from the sending node to the receiving node.

4. The method of claim 1 , wherein the sending node and the receiving node are linked to one another via a network with a plurality of equally short paths between the sending node and receiving node.

5. A computer-readable storage medium containing a program which, when executed, performs an operation for transmitting a message from a sending node to a receiving node of a parallel computing system, comprising:

encapsulating the message within a set of one or more data packets;

transmitting a request to send (RTS) message from the sending node to the receiving node;

prior to receiving a clear to send (CTS) message at the sending node,

transmitting one or more of the data packets to the receiving node, wherein the one or more data packets transmitted prior to receiving the CTS message at the sending node are one of deterministically routed packets and fully described, dynamically routed packets; and

upon receiving the CTS message at the sending node, transmitting any remaining packets of the set of one or more packets to the receiving node, wherein the one or more data packets transmitted after receiving the CTS message at the sending node are routed dynamically, such that the one or more packets arrive in a different sequence order at the receiving node from a sequence order in which the one or more packets are transmitted, whereby the message is transmitted from the sending node to the receiving node.

6. The computer-readable storage medium of claim 5 , wherein the RTS message comprises an initial fully described data packet interpreted by the receiving node to be the RTS message.

7. The computer-readable storage medium of claim 6 , wherein the one or more data packets transmitted prior to receiving the CTS message at the sending node are deterministically routed such that each of the packets traverse an identical path from the sending node to the receiving node.

8. The computer-readable storage medium of claim 5 , wherein the sending node and the receiving node are linked to one another via a network with a plurality of equally short paths between the sending node and receiving node.

9. A parallel computing system, comprising:

a plurality of compute nodes, each having at least one processor and a memory, wherein a sending node, of the plurality of compute nodes, is configured to transmit a message to a receiving node, of the plurality of compute nodes, by:

encapsulating the message within a set of one or more data packets;

transmitting a request to send (RTS) message from the sending node to the receiving node,

prior to receiving a clear to send (CTS) message at the sending node, transmitting one or more of the data packets to the receiving node, wherein the one or more data packets transmitted prior to receiving the CTS message at the sending node are one of deterministically routed packets and fully described, dynamically routed packets; and,

upon receiving the CTS message at the sending node, transmitting any remaining packets of the set of one or more packets to the receiving node, wherein the one or more data packets transmitted after receiving the CTS message at the sending node are routed dynamically, such that the one or more packets arrive in a different sequence order at the receiving node from a sequence order in which the one or more packets are transmitted, whereby the message is transmitted from the sending node to the receiving node.

10. The parallel computing system of claim 9 , wherein the RTS message comprises an initial fully described data packet interpreted by the receiving node to be the RTS message.

11. The parallel computing system of claim 10 , wherein the one or more data packets transmitted prior to receiving the CTS message at the sending node are deterministically routed such that each of the packets traverse an identical path from the sending node to the receiving node.

12. The parallel computing system of claim 9 , wherein the sending node and the receiving node are linked to one another via a network with a plurality of equally short paths between the sending node and receiving node.

Assignments (2)
CONFIRMATORY LICENSE Recorded Dec 28, 2011
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 027455/0642 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2007
From: ARCHER, CHARLES J.; BLOCKSOME, MICHAEL A.; RATTERMAN, JOSEPH D.; SMITH, BRIAN E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 018979/0618 →
Continuity (1)
Related Publication 20080222303A1 · Sep 11, 2008