IP Library Granted Patent US 8,140,704
Granted Patent B2
US 8,140,704 · App. 12/166,748 · Granted Mar 20, 2012

Pacing network traffic among a plurality of compute nodes connected using a data communications network

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 8,140,704
App. No.
12/166,748
Granted
Mar 20, 2012
Kind
B2
Abstract

Methods, apparatus, and products are disclosed for pacing network traffic among a plurality of compute nodes connected using a data communications network. The network has a plurality of network regions, and the plurality of compute nodes are distributed among these network regions. Pacing network traffic among a plurality of compute nodes connected using a data communications network includes: identifying, by a compute node for each region of the network, a roundtrip time delay for communicating with at least one of the compute nodes in that region; determining, by the compute node for each region, a pacing algorithm for that region in dependence upon the roundtrip time delay for that region; and transmitting, by the compute node, network packets to at least one of the compute nodes in at least one of the network regions in dependence upon the pacing algorithm for that region.

Claims (39)

1. A method of pacing network traffic among a plurality of compute nodes connected using a data communications network, the network having a plurality of network regions, the plurality of compute nodes distributed among these network regions, the method comprising:

identifying, by a compute node for each region of the network, a roundtrip time delay for communicating with at least one of the compute nodes in that region;

sharing, by the compute node with all other compute nodes in the same network region as the compute node, the roundtrip time delay identified for each region of the network;

determining, by the compute node for each region, a pacing algorithm for that region in dependence upon the roundtrip time delay for that region; and

transmitting, by the compute node, network packets to at least one of the compute nodes in at least one of the network regions in dependence upon the pacing algorithm for that region.

2. The method of claim 1 wherein:

each pacing algorithm specifies allowing a transmission time delay to elapse between transmissions of a particular number of the network packets; and

determining, by the compute node for each region, a pacing algorithm for that region in dependence upon the roundtrip time delay for that region further comprises altering the transmission time delay specified by the pacing algorithm for that region of the network in dependence upon the roundtrip time delay for that region.

3. The method of claim 2 wherein altering the transmission time delay specified by the pacing algorithm for that region of the network in dependence upon the roundtrip time delay for that region further comprises altering the transmission time delay specified by the pacing algorithm for that region of the network in dependence upon locations in the network of the compute node and that network region.

4. The method of claim 1 wherein:

each pacing algorithm specifies allowing a transmission time delay to elapse between transmissions of a particular number of the network packets; and

determining, by the compute node for each region, a pacing algorithm for that region in dependence upon the roundtrip time delay for that region further comprises altering the particular number of the network packets transmitted to that network region between the transmission time delays in dependence upon the roundtrip time delay for that region of the network.

5. The method of claim 1 wherein pacing network traffic among a plurality of compute nodes connected using a data communications network further comprises pacing network traffic among a plurality of compute nodes of a parallel computer, the plurality of compute nodes connected together using a plurality of data communications networks, at least one of the data communications networks optimized for point to point operations, and at least one of the data communications networks optimized for collective operations.

6. A compute node capable of pacing network traffic among a plurality of compute nodes connected using a data communications network, the network having a plurality of network regions, the plurality of compute nodes distributed among these network regions, the compute node comprising one or more computer processors and computer memory operatively coupled to the computer processors, the computer memory having disposed within it computer program instructions capable of:

identifying, for each region of the network, a roundtrip time delay for communicating with at least one of the compute nodes in that region;

sharing, by the compute node with all other compute nodes in the same network region as the compute node, the roundtrip time delay identified for each region of the network;

determining, for each region, a pacing algorithm for that region in dependence upon the roundtrip time delay for that region; and

transmitting network packets to at least one of the compute nodes in at least one of the network regions in dependence upon the pacing algorithm for that region.

7. The compute node of claim 6 wherein:

each pacing algorithm specifies allowing a transmission time delay to elapse between transmissions of a particular number of the network packets; and

determining, for each region, a pacing algorithm for that region in dependence upon the roundtrip time delay for that region further comprises altering the transmission time delay specified by the pacing algorithm for that region of the network in dependence upon the roundtrip time delay for that region.

8. The compute node of claim 7 wherein altering the transmission time delay specified by the pacing algorithm for that region of the network in dependence upon the roundtrip time delay for that region further comprises altering the transmission time delay specified by the pacing algorithm for that region of the network in dependence upon locations in the network of the compute node and that network region.

9. The compute node of claim 6 wherein:

each pacing algorithm specifies allowing a transmission time delay to elapse between transmissions of a particular number of the network packets; and

determining, for each region, a pacing algorithm for that region in dependence upon the roundtrip time delay for that region further comprises altering the particular number of the network packets transmitted to that network region between the transmission time delays in dependence upon the roundtrip time delay for that region of the network.

10. The compute node of claim 6 wherein pacing network traffic among a plurality of compute nodes connected using a data communications network further comprises pacing network traffic among a plurality of compute nodes of a parallel computer, the plurality of compute nodes connected together using a plurality of data communications networks, at least one of the data communications networks optimized for point to point operations, and at least one of the data communications networks optimized for collective operations.

11. A computer program product for pacing network traffic among a plurality of compute nodes connected using a data communications network, the network having a plurality of network regions, the plurality of compute nodes distributed among these network regions, the computer program product embodied upon a non-transmission computer readable medium, the computer program product comprising computer program instructions capable of:

identifying, by a compute node for each region of the network, a roundtrip time delay for communicating with at least one of the compute nodes in that region;

sharing, by the compute node with all other compute nodes in the same network region as the compute node, the roundtrip time delay identified for each region of the network;

determining, by the compute node for each region, a pacing algorithm for that region in dependence upon the roundtrip time delay for that region; and

transmitting, by the compute node, network packets to at least one of the compute nodes in at least one of the network regions in dependence upon the pacing algorithm for that region.

12. The computer program product of claim 11 wherein:

each pacing algorithm specifies allowing a transmission time delay to elapse between transmissions of a particular number of the network packets; and

determining, by the compute node for each region, a pacing algorithm for that region in dependence upon the roundtrip time delay for that region further comprises altering the transmission time delay specified by the pacing algorithm for that region of the network in dependence upon the roundtrip time delay for that region.

13. The computer program product of claim 12 wherein altering the transmission time delay specified by the pacing algorithm for that region of the network in dependence upon the roundtrip time delay for that region further comprises altering the transmission time delay specified by the pacing algorithm for that region of the network in dependence upon locations in the network of the compute node and that network region.

14. The computer program product of claim 11 wherein:

each pacing algorithm specifies allowing a transmission time delay to elapse between transmissions of a particular number of the network packets; and

determining, by the compute node for each region, a pacing algorithm for that region in dependence upon the roundtrip time delay for that region further comprises altering the particular number of the network packets transmitted to that network region between the transmission time delays in dependence upon the roundtrip time delay for that region of the network.

15. The computer program product of claim 11 wherein pacing network traffic among a plurality of compute nodes connected using a data communications network further comprises pacing network traffic among a plurality of compute nodes of a parallel computer, the plurality of compute nodes connected together using a plurality of data communications networks, at least one of the data communications networks optimized for point to point operations, and at least one of the data communications networks optimized for collective operations.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: ARUBA NETWORKS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 045921/0055 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: ARUBA NETWORKS, INC.
Reel/Frame 036379/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2015
From: ARUBA NETWORKS, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 035814/0518 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: ARUBA NETWORKS, INC.
Reel/Frame 033249/0051 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2009
From: ARCHER, CHARLES J.; BLOCKSOME, MICHAEL A.; RATTERMAN, JOSEPH D.; SMITH, BRIAN E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022605/0388 →