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.
Preview
Unable to display preview. Download preview PDF.
References
E.W. Dijkstra, A Discipline of Programming, (Prentice Hall, Englewood Cliffs, NJ 1976).
C.A.R. Hoare, Communicating Sequential Processes, Comm. ACM (1978) 666–677.
C.A.R. Hoare, Communicating Sequential Processes, (Prentice-Hall International Series in Computer Science, 1985)
A.J. Martin, An Axiomatic Definition of Synchronization Primitives, Acta Informatica16, (1981) 219–235.
S. Owicki, D. Gries, An Axiomatic Proof Technique for Parallel programs, Acta Informatica 6, (1976) 319–340.
H. P. Hofstee, A. J. Martin, J. L. A. van de Snepscheut, Distributed Sorting, Science of Computer Programming 15 (1990) 119–133
A.J. Martin, The Probe: An Addition to Communication Primitives, Information Processing Letters 20 (1985) 125–130
Author information
Authors and Affiliations
Editor information
Rights 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