Mapping and Load-Balancing Iterative Computations on Heterogeneous Clusters
This paper is devoted to 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 to assign these chunks to the processors, so that the total execution time is minimized. One 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 that assesses 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.Katabi, D., Handley, M., Rohrs, C.: Congestion control for high bandwidth-delay product networks. In: Proceedings of ACM SIGCOMM 2002, pp. 89–102. ACM Press, New York (2002)Google Scholar
- 3.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
- 4.Renard, H., Robert, Y., Vivien, F.: Static load-balancing techniques for iterative computations on heterogeneous clusters. Research Report RR-2003-12, LIP, ENS Lyon (2003)Google Scholar
- 5.Taylor, A., Hindmarsh, A.: User documentation for KINSOL. Tech. Rep. UCRL-ID- 131185, Lawrence Livermore Nat. Lab. (July 1998)Google Scholar