A common paradigm for distributed computing is the producer-consumer model. One set of processes produce objects (data, resources, or tasks) that are consumed by another set of processes. We present a simple algorithm for implementing a distributed queue. This algorithm has several parameters that need to be tuned, such as the number of probes to find an object, the amount of buffering, and the connectivity between the producers and the consumers. We provide an analytical model that predicts performance and based on the analytical model we provide recommendations for setting the parameters. Our analytical model is validated by a comparison to simulation results.
['Theodore Johnson']
Designing a distributed queue