Dynamic load balancing of applications
First Claim
Patent Images
1. A method for dynamically maintaining global load balance in a multiprocessor system that executes an application on a parallel computer, the method comprising the steps of:
- a) providing an application for execution to a plurality of processors of the parallel computer for processing the application that is to be executed, the application comprising a plurality of data cells arranged spatially such that each data cell has one or more neighboring data cells;
b) assigning each data cell a processor within the plurality of processors;
c) determining for one or more of the plurality of processors all other processors in one or more corresponding processor neighborhoods;
d) computing work loads for the one or more of the plurality of processors; and
e) for the one or more of the plurality of processors, exporting one or more data cells to another processor in the one or more corresponding processor neighborhoods to achieve a dynamic and global balance of the work load between the plurality of processors.
0 Assignments
0 Petitions
Accused Products
Abstract
An application-level method for dynamically maintaining global load balance on a parallel computer, particularly on massively parallel MIMD computers. Global load balancing is achieved by overlapping neighborhoods of processors, where each neighborhood performs local load balancing. The method supports a large class of finite element and finite difference based applications and provides an automatic element management system to which applications are easily integrated.
133 Citations
20 Claims
-
1. A method for dynamically maintaining global load balance in a multiprocessor system that executes an application on a parallel computer, the method comprising the steps of:
-
a) providing an application for execution to a plurality of processors of the parallel computer for processing the application that is to be executed, the application comprising a plurality of data cells arranged spatially such that each data cell has one or more neighboring data cells; b) assigning each data cell a processor within the plurality of processors; c) determining for one or more of the plurality of processors all other processors in one or more corresponding processor neighborhoods; d) computing work loads for the one or more of the plurality of processors; and e) for the one or more of the plurality of processors, exporting one or more data cells to another processor in the one or more corresponding processor neighborhoods to achieve a dynamic and global balance of the work load between the plurality of processors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 20)
-
-
11. An apparatus for dynamically maintaining global load balance in a multiprocessor system that executes an application on a parallel computer, said apparatus comprising:
-
means for providing an application for execution to a plurality of processors of the parallel computer, the application comprising a plurality of data cells arranged spatially such that each data cell has one or more neighboring data cells; means for assigning each data cell to a processor within the plurality of processors; means for determining for one or more of the plurality of processors all other processors in one or more corresponding processor neighborhoods; means for computing work loads for one or more of the plurality of processors; and means for exporting, for one or more of the plurality of processors, one or more data cells to another processor in the one or more corresponding processor neighborhoods to achieve a dynamic and global balance of the work load between the plurality of processors. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
Specification