# US 2013/0159450 A1 · Optimized data communications in a parallel computer

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159450 A1
- Document ID: US20130159450A1
- Status: Published application
- Kind: A1
- Application number: 13/742,344
- Filed: 2013-01-15
- Published: 2013-06-20
- Earliest claimed: 2011-12-14
- Assignees: International Business Machines Corporation
- Inventors: DANIEL A. FARAJ
- Web page: https://patentgrep.com/patent/US20130159450A1

## CPC

- G06F 15/1735: {Network adapters, e.g. SCI, Myrinet (protocol engines H04L69/12)}
- G06F 15/167: using a common memory, e.g. mailbox
- G06F 15/17387: {Three dimensional, e.g. hypercubes}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A parallel computer includes nodes that include a network adapter that couples the node in a point-to-point network and supports communications in opposite directions of each dimension. Optimized communications include: receiving, by a network adapter of a receiving compute node, a packet—from a source direction—that specifies a destination node and deposit hints. Each hint is associated with a direction within which the packet is to be deposited. If a hint indicates the packet to be deposited in the opposite direction: the adapter delivers the packet to an application on the receiving node; forwards the packet to a next node in the opposite direction if the receiving node is not the destination; and forwards the packet to a node in a direction of a subsequent dimension if the hints indicate that the packet is to be deposited in the direction of the subsequent dimension.

## Claims

### Claim 1

A method of optimized data communications in a parallel computer, the parallel computer comprising a plurality of compute nodes, each compute node comprising a network adapter, the network adapters coupling the compute nodes in a multi-dimension point-to-point network for data communications, each network adapter supporting communications in opposite directions of each dimension, the method comprising:
receiving, by a network adapter of a receiving compute node, a data communications packet from a source direction of a source dimension, the packet specifying a compute node as a destination of the packet and specifying one or more deposit hints, each separate deposit hint associated uniquely with a direction of a dimension of the point-to-point network and each deposit hint indicating that the packet is to be deposited at each compute node in the associated direction on a path to the destination compute node;
if a deposit hint indicates that the packet is to be deposited at compute nodes in the opposite direction of the source direction in the source dimension:
delivering, by the network adapter, the packet to an application executing on the receiving compute node;
forwarding the packet to a next compute node in the opposite direction of the source dimension only if the packet does not specify the receiving compute node as the destination of the packet; and
forwarding the packet to a next compute node in a direction of a subsequent dimension only if the deposit hints indicate that the packet is to be deposited at compute nodes in the direction of the subsequent dimension.

### Claim 2 (depends on 1)

The method of claim 1, wherein forwarding the packet to a next compute node in the opposite direction of the source dimension and forwarding the packet to a next compute node in a direction of subsequent dimension are carried out in parallel.

### Claim 3 (depends on 1)

The method of claim 1, wherein delivering, by the network adapter, the packet to an application executing on the receiving compute node further comprises storing, by the network adapter, the packet directly in the application's allocated memory space.

### Claim 4 (depends on 1)

The method of claim 1, wherein delivering, by the network adapter, the packet to an application executing on the receiving compute node further comprises delivering, by the network adapter, to a Direct Memory Access (‘DMA’) engine, the packet, wherein the DMA engine is configured to store the packet through one or more DMA operations in the application's allocated memory space.

### Claim 5 (depends on 1)

The method of claim 1, wherein each deposit hint comprises a binary bit having a value of one in a bit pattern, where all other bits of the bit pattern have a value of zero.

### Claim 6 (depends on 5)

The method of claim 5, wherein forwarding the packet to a next compute node in a direction of a subsequent dimension further comprises:
identifying the direction of the subsequent dimension by identifying a next bit in the bit pattern to have a value of one and determining the direction and dimension represented by the bit.

### Claim at position 7

7-20. (canceled)
