Abstract.
We apply the methodology of competitive analysis of algorithms to the implementation of programs on parallel machines. We consider the problem of finding the best on-line distributed scheduling strategy that executes in parallel an unknown directed acyclic graph (dag) which represents the data dependency relation graph of a parallel program and which is revealed as execution proceeds. We study the competitive ratio of some important classes of dags assuming a fixed communication delay ratio τ that captures the average interprocessor communication measured in instruction cycles. We provide competitive algorithms for divide-and-conquer dags, trees, and general dags, when the number of processors depends on the size of the input dag and when the number of processors is fixed. Our major result is a lower bound Ω (τ / log τ ) of the competitive ratio for trees; it shows that it is impossible to design compilers that produce almost optimal execution code for all parallel programs. This fundamental result holds for almost any reasonable distributed memory parallel computation model, including the LogP and BSP model.
Similar content being viewed by others
Author information
Authors and Affiliations
Additional information
Received March 5, 1996; revised March 11, 1997.
Rights and permissions
About this article
Cite this article
Deng, X., Koutsoupias, E. & MacKenzie, P. Competitive Implementation of Parallel Programs . Algorithmica 23, 14–30 (1999). https://doi.org/10.1007/PL00009248
Issue Date:
DOI: https://doi.org/10.1007/PL00009248