Skip to main content

A distributed implementation of a task pool

  • Conference paper
  • First Online:
Reasearch Directions in High-Level Parallel Programming Languages (HLPPP 1991)

Abstract

In this paper we present a distributed algorithm to implement a task pool. The algorithm can be used to implement a processor farm, i.e., a collection of processes that consume tasks from the task pool and possibly produce tasks into it. There are no restrictions on which process consumes which task nor on the order in which tasks are processed. The algorithm takes care of the distribution of the tasks over the processes and ensures load balancing. We derive the algorithm by transforming a sequential algorithm into a distributed one. The transformation is guided by the distribution of the data over processes. First we discuss the case of two processes, and then the general case of one or more processes.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. E.W. Dijkstra, A Discipline of Programming, (Prentice Hall, Englewood Cliffs, NJ 1976).

    Google Scholar 

  2. C.A.R. Hoare, Communicating Sequential Processes, Comm. ACM (1978) 666–677.

    Google Scholar 

  3. C.A.R. Hoare, Communicating Sequential Processes, (Prentice-Hall International Series in Computer Science, 1985)

    Google Scholar 

  4. A.J. Martin, An Axiomatic Definition of Synchronization Primitives, Acta Informatica16, (1981) 219–235.

    Google Scholar 

  5. S. Owicki, D. Gries, An Axiomatic Proof Technique for Parallel programs, Acta Informatica 6, (1976) 319–340.

    Article  Google Scholar 

  6. H. P. Hofstee, A. J. Martin, J. L. A. van de Snepscheut, Distributed Sorting, Science of Computer Programming 15 (1990) 119–133

    MathSciNet  Google Scholar 

  7. A.J. Martin, The Probe: An Addition to Communication Primitives, Information Processing Letters 20 (1985) 125–130

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jean Pierre Banâtre Daniel Le Métayer

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hofstee, H.P., Lukkien, J.J., van de Snepscheut, J.L.A. (1992). A distributed implementation of a task pool. In: Banâtre, J., Le Métayer, D. (eds) Reasearch Directions in High-Level Parallel Programming Languages. HLPPP 1991. Lecture Notes in Computer Science, vol 574. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55160-3_54

Download citation

  • DOI: https://doi.org/10.1007/3-540-55160-3_54

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55160-7

  • Online ISBN: 978-3-540-46762-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics