Distributed FIFO Allocation of Identical Resources Using Small Shared Space

We present a simple and efficient algorithm for the FIFO allocation of k identical resources among asynchronous processes which communicate via shared memory. The algorithm simulates a shared queue but uses exponentially fewer shared memory values, resulting in practical savings of time and space as...

Full description

Bibliographic Details
Main Authors: Fischer, Michael J., Lynch, Nancy A., Burns, James, Borodin, Allan
Published: 2023
Online Access:https://hdl.handle.net/1721.1/149099
Description
Summary:We present a simple and efficient algorithm for the FIFO allocation of k identical resources among asynchronous processes which communicate via shared memory. The algorithm simulates a shared queue but uses exponentially fewer shared memory values, resulting in practical savings of time and space as well as program complexity. The algorithm is robust against processes failure through unannounced stopping, making it attractive also for use in an environment of processes of widely differing speeds. In addition to its practical advantages, we show the algorithm is optimal (to within a constant factor) with respect to shared space complexity.