Skip to main content
Log in

Competitive Implementation of Parallel Programs

  • Published:
Algorithmica Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

Author information

Authors and Affiliations

Authors

Additional information

Received March 5, 1996; revised March 11, 1997.

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/PL00009248

Navigation