Abstract: In order to execute a parallel program Pp on a parallel machine PM, we must determine an allocation function which assigns Pp operations to PM processors, such that the execution time of Pp is minimum. As this problem is known to be NP-complete, a lot of alternative approaches have been proposed in the literature. We refer to load balancing (LB) approaches, ie. to mapping algorithms which determine allocation function by uniformly distributing the computational load among PM processors. Through a simple example we show that internode precedence relations (IPR) cannot be neglected in LB algorithms when we want to achieve high speed up. As far as we know, LB algorithms do not consider IPR, so we present a new LB algorithm which determines an allocation of Pp on PM respecting IPR. We compare the parallel execution times achievable through the presented algorithm with the ones given by the mapping algorithm described in (Bultan and Aykanar, 1992); comparisons, based on actual executions of Pp with different sizes and granularities, show that the presented algorithm gives performance improvements varying from 6% to 76%.
Index Terms:
resource allocation; parallel programming; software performance evaluation; processor scheduling; parallel algorithms; directed graphs; load balancing; internode precedence relations; static allocation; DAG; parallel systems; parallel program; parallel machine; processor allocation; execution time; NP-complete; mapping algorithms; computational load; parallel execution times; performance; directed acyclic graphs
Citation:
M. Coli, P. Palazzari, "Load Balancing with Internode Precedence Relations: A New Method for Static Allocation of DAGs into Parallel Systems," pdp, pp.0252, 4th Euromicro Workshop on Parallel and Distributed Processing (PDP '96), 1996