Distributed queuing and applications

  • Authors:
  • Maurice Herlihy;Srikanta N. Tirthapura

  • Affiliations:
  • -;-

  • Venue:
  • Distributed queuing and applications
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Distributed Queuing is a fundamental distributed coordination problem, arising in a variety of applications, such as ordered multicast and distributed fetch-and-&phis; data structures. In the distributed queuing problem, processors in a network asynchronously and concurrently request to join a distributed queue. A distributed queuing protocol organizes these requests into a queue, and each request learns the identity of its successor in the queue. In this thesis, we present the first systematic study of distributed queuing and demonstrate its importance as a fundamental building block in building distributed data structures. We focus our attention on the Arrow queuing protocol, which has been observed to perform well in practice. We present the first analysis of the Arrow protocol under concurrent access to the queue, improving on previous work which analyzed the protocol under sequential access. Our analysis shows that the Arrow protocol is competitive to the “optimal” in the concurrent case. While fault tolerant distributed queuing is impossible in the face of process failures, we show how to make the Arrow queuing protocol self-stabilizing, so that it can automatically recover from failures. Our self-stabilizing queuing protocol is scalable, and stabilizes quickly into a legal state. We show a novel application of distributed queuing to ordered multicast. There is some evidence that ordered multicast using distributed queuing has lower latency than previously studied approaches to ordered multicast which use distributed counting. We present a construction of a general purpose parallel and distributed fetch-and-&phis; data structure based on distributed queuing. Our algorithm takes a sequential implementation of a data structure and converts it into a parallel and distributed implementation. Our algorithm has significant advantages over its only other competitor we know of, the Combining trees.