IP Library › Granted Patent US 10,320,695
Granted Patent B2
US 10,320,695 · App. 15/165,953 · Granted Jun 11, 2019

Message aggregation, combining and compression for efficient data communications in GPU-based clusters

Inventors: Steven K. Reinhardt (Vancouver, WA); Marc S. Orr (Newcastle, WA); Bradford M. Beckmann (Redmond, WA); Shuai Che (Bellevue, WA); David A. Wood (Madison, WI)
Assignee: Advanced Micro Devices, Inc.
H04L47/365H04L47/38
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,320,695
App. No.
15/165,953
Granted
Jun 11, 2019
Kind
B2
Abstract

A system and method for efficient management of network traffic management of highly data parallel computing. A processing node includes one or more processors capable of generating network messages. A network interface is used to receive and send network messages across a network. The processing node reduces at least one of a number or a storage size of the original network messages into one or more new network messages. The new network messages are sent to the network interface to send across the network.

Claims (42)

1. A processing node comprising:

a processor configured to generate a plurality of network messages; and

a network operation combiner, wherein in response to an indication that one or more network messages of the plurality of network messages are combinable, the network operation combiner is configured to:

perform a combining operation on a plurality of data elements in the one or more network messages to produce a given result; and

generate a first packed network message comprising the given result in place of the plurality of data elements, wherein the first packed network message includes fewer than all of the data elements in the one or more network messages;

a data compressor configured to replace two or more network messages with a second packed network message responsive to the two or more network messages comprising an indication of a same destination node and one or more data elements in common, the second packed network message comprising an indication of the destination node and a single copy of the one or more data elements in common.

2. The processing node as recited in claim 1 , wherein the combining operation comprises any one or more of: a commutative operation, an associative operation, a maximum function, or a minimum function.

3. The processing node as recited in claim 1 , wherein the processing node further comprises a message aggregator configured to replace two or more network messages with a third packed network message responsive to the two or more network messages comprising an indication of a same destination node and one or more different data elements, the second packed network message comprising an indication of the destination node and a copy of the one or more different data elements.

4. The processing node as recited in claim 3 , wherein the message aggregator is further configured to insert in a given packed network message an indication of a number of network messages to expand from the given packed network message.

5. The processing node as recited in claim 1 , wherein the processing node further comprises a unit that includes at least the network operation combiner, wherein the unit is configured to:

monitor a total size of the plurality of network messages generated by the processor; and

responsive to determining the total size of the plurality of network messages exceeds a threshold, send an indication to the network operation combiner to process the plurality of network messages.

6. The processing node as recited in claim 1 , wherein:

the processing node further comprises a network interface configured to receive and send network messages across a network;

the operation combiner is further configured to send an indication to the network interface to send packed network message across the network instead of one or more of the plurality of network messages.

7. The processing node as recited in claim 6 , wherein in response to receiving a given packed network message, the network interface is further configured to generate two or more network messages, each with data from the received packed network message.

8. A method comprising:

generating a plurality of network messages;

wherein in response to an indication that one or more network messages of the plurality of network messages is combinable:

performing a combining operation on a plurality of data elements in the one or more network messages to produce a given result; and

generating a first packed network message comprising the given result in place of the plurality of data elements, wherein the first packed network message includes fewer than all of the data elements in the one or more network messages;

replacing two or more network messages with a second packed network message responsive to the two or more network messages comprising an indication of a same destination node and one or more data elements in common, the second packed network message comprising an indication of the destination node and a single copy of the one or more data elements in common.

9. The method as recited in claim 8 , wherein the combining operation comprises any one or more of: a commutative operation, an associative operation, a maximum function, or a minimum function.

10. The method as recited in claim 8 , further comprising replacing two or more network messages with a third packed network message responsive to the two or more network messages comprising an indication of a same destination node and one or more different data elements, the second packed network message comprising an indication of the destination node and a copy of the one or more different data elements.

11. The method as recited in claim 10 , further comprising inserting in a given packed network message an indication of a number of network messages to expand from the given packed network message.

12. The method as recited in claim 10 , further comprising sending an indication to a network interface indicating to send packed network message across a network and bypass sending one or more of the plurality of network messages used to generate the packed network messages.

13. The method as recited in claim 8 , further comprising:

monitoring a total size of the plurality of network messages generated by the processor; and

responsive to determining the total size of the plurality of network messages exceeds a threshold, sending an indication to a network operation combiner to process the plurality of network messages.

14. The method as recited in claim 13 , further comprising inserting in a given packed network message an indication of a number of network messages to expand from the given packed network message and an indication of which data to place in which of the number of network messages.

15. A computing system comprising:

a source node;

a network; and

a target node coupled to the source node via the network; and

wherein the source node is configured to:

generate a plurality of network messages;

in response to an indication that one or more network messages of the plurality of network messages is combinable:

perform a combining operation on a plurality of data elements in the one or more network messages to produce a given result; and

generate a first packed network message comprising the given result in place of the plurality of data elements, wherein the first packed network message includes fewer than all of the data elements in the one or more network messages;

replace two or more network messages with a second packed network message responsive to the two or more network messages comprising an indication of a same destination node and one or more data elements in common, the second packed network message comprising an indication of the destination node and a single copy of the one or more data elements in common.

16. The computing system as recited in claim 15 , wherein the source node is further configured to send the first packed network message across the network to the target node and bypass sending one or more of the plurality of network message.

17. The computing system as recited in claim 15 , wherein the source node is further configured to replace two or more network messages with a third packed network message responsive to the two or more network messages comprising an indication of a same destination node and one or more different data elements, the second packed network message comprising an indication of the destination node and a copy of the one or more different data elements.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2016
From: REINHARDT, STEVEN K.; ORR, MARC S.; BECKMANN, BRADFORD M.; CHE, SHUAI; WOOD, DAVID A.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 038731/0641 →
Continuity (2)
Provisional Application 62168519 · May 29, 2015
Related Publication 20160352598A1 · Dec 1, 2016