IP Library › Granted Patent US 8,108,467
Granted Patent B2
US 8,108,467 · App. 12/147,073 · Granted Jan 31, 2012

Load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer

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 8,108,467
App. No.
12/147,073
Granted
Jan 31, 2012
Kind
B2
Abstract

Methods, apparatus, and products are disclosed for load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer that include: identifying, by an origin compute node, an application message for transmission to a target compute node, the message to be processed by a data processing operation; determining, by the origin compute node, origin sub-operations used to carry out a portion of the data processing operation on the origin compute node; determining, by the origin compute node, target sub-operations used to carry out a remaining portion of the data processing operation on the target compute node; processing, by the origin compute node, the message using the origin sub-operations; and transmitting, by the origin compute node, the processed message to the target compute node for processing using the target sub-operations.

Claims (41)

1. A method of load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer, the method comprising:

identifying, by an origin compute node, an application message for transmission to a target compute node, the message to be processed by a data processing operation, wherein the application message is a data structure for storing application data;

partitioning, by the origin compute node, the application message into a plurality of message chunks of a predetermined size;

determining, by the origin compute node for each messaging chunk, origin sub-operations used to carry out a portion of the data processing operation on that messaging chunk on the origin compute node;

determining, by the origin compute node for each messaging chunk, target sub-operations used to carry out a remaining portion of the data processing operation on that messaging chunk on the target compute node;

processing each message chunk, by the origin compute node, the message using the origin sub-operations for that message chunk; and

transmitting, by the origin compute node, each processed message chunk to the target compute node for processing using the target sub-operations for that message chunk.

2. The method of claim 1 wherein determining, by the origin compute node, origin sub-operations used to carry out a portion of the data processing operation further comprises identifying the origin sub-operations using a predefined data processing ruleset.

3. The method of claim 1 wherein determining, by the origin compute node, target sub-operations used to carry out a remaining portion of the data processing operation further comprises identifying the target sub-operations using a predefined data processing ruleset.

4. The method of claim 1 wherein determining, by the origin compute node, origin sub-operations used to carry out a portion of the data processing operation further comprises:

requesting data processing advice from the target compute node; and

identifying the origin sub-operations in dependence upon the data processing advice from the target compute node.

5. The method of claim 1 wherein determining, by the origin compute node, target sub-operations used to carry out a remaining portion of the data processing operation further comprises:

requesting data processing advice from the target compute node; and

identifying the target sub-operations in dependence upon the data processing advice from the target compute node.

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

7. An origin compute node capable of load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer, the origin 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, by an origin compute node, an application message for transmission to a target compute node, the message to be processed by a data processing operation, wherein the application message is a data structure for storing application data;

partitioning, by the origin compute node, the application message into a plurality of message chunks of a predetermined size;

determining, by the origin compute node for each messaging chunk, origin sub-operations used to carry out a portion of the data processing operation on that messaging chunk on the origin compute node;

determining, by the origin compute node for each messaging chunk, target sub-operations used to carry out a remaining portion of the data processing operation on that messaging chunk on the target compute node;

processing each message chunk, by the origin compute node, the message using the origin sub-operations for that message chunk; and

transmitting, by the origin compute node, each processed message chunk to the target compute node for processing using the target sub-operations for that message chunk.

8. The origin compute node of claim 7 wherein determining origin sub-operations used to carry out a portion of the data processing operation further comprises identifying the origin sub-operations using a predefined data processing ruleset.

9. The origin compute node of claim 7 wherein determining target sub-operations used to carry out a remaining portion of the data processing operation further comprises identifying the target sub-operations using a predefined data processing ruleset.

10. A computer program product for load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer, the computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions capable of:

identifying, by an origin compute node, an application message for transmission to a target compute node, the message to be processed by a data processing operation, wherein the application message is a data structure for storing application data;

partitioning, by the origin compute node, the application message into a plurality of message chunks of a predetermined size;

determining, by the origin compute node for each messaging chunk, origin sub-operations used to carry out a portion of the data processing operation on that messaging chunk on the origin compute node;

determining, by the origin compute node for each messaging chunk, target sub-operations used to carry out a remaining portion of the data processing operation on that messaging chunk on the target compute node;

processing each message chunk, by the origin compute node, the message using the origin sub-operations for that message chunk; and

transmitting, by the origin compute node, each processed message chunk to the target compute node for processing using the target sub-operations for that message chunk.

11. The computer program product of claim 9 wherein determining, by the origin compute node, origin sub-operations used to carry out a portion of the data processing operation further comprises identifying the origin sub-operations using a predefined data processing ruleset.

12. The computer program product of claim 10 wherein determining, by the origin compute node, target sub-operations used to carry out a remaining portion of the data processing operation further comprises identifying the target sub-operations using a predefined data processing ruleset.

13. The computer program product of claim 10 wherein determining, by the origin compute node, origin sub-operations used to carry out a portion of the data processing operation further comprises:

requesting data processing advice from the target compute node; and

identifying the origin sub-operations in dependence upon the data processing advice from the target compute node.

14. The computer program product of claim 10 wherein determining, by the origin compute node, target sub-operations used to carry out a remaining portion of the data processing operation further comprises:

requesting data processing advice from the target compute node; and

identifying the target sub-operations in dependence upon the data processing advice from the target compute node.

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

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2008
From: ARCHER, CHARLES J; BLOCKSOME, MICHAEL A
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021304/0835 →
Continuity (1)
Related Publication 20090327464A1 · Dec 31, 2009