Load-Balancing Iterative Computations on Heterogeneous Clusters with Shared Communication Links
We focus on mapping iterative algorithms onto heterogeneous clusters. The application data is partitioned over the processors, which are arranged along a virtual ring. At each iteration, independent calculations are carried out in parallel, and some communications take place between consecutive processors in the ring. The question is to determine how to slice the application data into chunks, and assign these chunks to the processors, so that the total execution time is minimized. A major difficulty is to embed a processor ring into a network that typically is not fully connected, so that some communication links have to be shared by several processor pairs. We establish a complexity result assessing the difficulty of this problem, and we design a practical heuristic that provides efficient mapping, routing, and data distribution schemes.
- 1.Bertsekas, D., Gallager, R.: Data Networks. Prentice Hall, Englewood Cliffs (1987)Google Scholar
- 2.Brent, R.P.: The LINPACK Benchmark on the AP1000: Preliminary Report. In: CAP Workshop 1991. Australian National University (1991), Website, http://www.netlib.org/linpack/
- 4.Downey, A.B.: Using pathchar to estimate internet link characteristics. In: Measurement and Modeling of Computer Systems, pp. 222–223 (1999)Google Scholar
- 6.Legrand, A., Renard, H., Robert, Y., Vivien, F.: Load-balancing iterative computations in heterogeneous clusters with shared communication links. Research Report RR-2003-23, LIP, ENS Lyon, France (April 2003)Google Scholar
- 7.Taylor, A.G., Hindmarsh, A.C.: User documentation for KINSOL. Technical Report UCRL-ID-131185, Lawrence Livermore National Laboratory (July 1998)Google Scholar