language: en

A SIMPLE APPROACH TO DISTRIBUTED POOLS

BENEDICT M. RAFANELLO & THEODORE JOHNSON
University of Florida, Department of Computer and information Sciences
January 1994

Computer networks hold the potential to coordinate the activities of multiple machines so that their combined computational abilities can be applied to solving a single problem. Several methods have been developed over the years to harness the power of networked systems for solving certain classes of problems. One such class of problems is the distributed producer/consumer problem, in which a set of producer processes supply items to a set of consumer processes. Each of the processes involved resides on a different machine, with the machines being connected by a network and the processes communicating via message passing. The problem, then, is how to coordinate the activities of the producers and consumers so that an acceptable level of throughput can be maintained with a minimal amount of overhead. This paper presents a simple solution to the distributed producer/consumer problem. This solution, which is based upon the notion of a distributed pool, is described in detail and its performance analyzed. As the analysis shows, the distributed pools algorithm presented herein is a simple, efficient solution to the distributed producer/consumer problem, and is capable of better than 90% efficiency under common conditions. Its major failing is that it needs the production rates of the producers to be reasonably similar.

Key words: distributed computing, distributed queue, performance modeling, producer/consumer, simulation.

INTRODUCTION