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.