Author :
Beaumont, Olivier ; Legrand, Arnaud ; Marchal, Loris ; Robert, Yves
Abstract :
In this paper, we consider the communications involved by the execution of a complex application, deployed on a heterogeneous platform. Such applications extensively use macrocommunication schemes, for example, to broadcast data items. Rather than aiming at minimizing the execution time of a single broadcast, we focus on the steady-state operation. We assume that there is a large number of messages to be broadcast in pipeline fashion, and we aim at maximizing the throughput, i.e., the (rational) number of messages which can be broadcast every time-step. We target heterogeneous platforms, modeled by a graph where resources have different communication and computation speeds. Achieving the best throughput may well require that the target platform is used in totality: we show that neither spanning trees nor DAGs are as powerful as general graphs. We show how to compute the best throughput using linear programming, and how to exhibit a periodic schedule, first when restricting to a DAG, and then when using a general graph. The polynomial compactness of the description comes from the decomposition of the schedule into several broadcast trees that are used concurrently to reach the best throughput. It is important to point out that a concrete scheduling algorithm based upon the steady-state operation is asymptotically optimal, in the class of all possible schedules (not only periodic solutions).
Keywords :
broadcasting; communication complexity; frame relay; grid computing; linear programming; message passing; pipeline processing; processor scheduling; resource allocation; trees (mathematics); workstation clusters; DAG; NP-completeness; broadcasts pipelining; grid computing; heterogeneous platform; linear programming; macrocommunication schemes; scheduling algorithm; spanning trees; steady-state operation; Broadcasting; Concrete; Linear programming; Pipeline processing; Polynomials; Processor scheduling; Scheduling algorithm; Steady-state; Throughput; Tree graphs; NP-completeness; Scheduling; broadcast; collective communications; grids.; heterogeneous clusters; heuristics;