Patent ID: 8312464

Claim:
A method, in a multiple processor system, for balancing a Message Passing Interface (MPI) workload across a plurality of processors, comprising: receiving a plurality of MPI synchronization operation calls from one or more processors of the plurality of processors; determining if a state of the multiple processor system requires rebalancing of the MPI workload across the plurality of processors based on timestamps associated with the received one or more MPI synchronization operation calls; identifying a first processor, in the plurality of processors, having a fastest time of completion of a computation phase of an associated MPI task, during a computation cycle, based on the received MPI synchronization operation calls; identifying a second processor, in the plurality of processors, having a slowest time of completion of the computation phase of an associated MPI task, during a computation cycle, based on the received MPI synchronization operation calls; and modifying MPI tasks of the MPI workload to rebalance the MPI workload across the plurality of processors in response to determining that the state of the multiple processor system requires rebalancing of the MPI workload across the plurality of processors, wherein modifying MPI tasks comprises at least one of modifying an amount of data to be processed by one or more of the plurality of processors or modifying a number of MPI tasks to be executed by one or more of the plurality of processors.