Room synchronizations

  • Authors:
  • Guy E. Blelloch;Perry Cheng;Phillip B. Gibbons

  • Affiliations:
  • Computer Science Department, Carnegie Mellon University, Pittsburgh, PA;Computer Science Department, Carnegie Mellon University, Pittsburgh, PA;Information Sciences Research Center, Bell Laboratories, Murray Hill, NJ

  • Venue:
  • Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a class of synchronization called room synchronizations and show how this class can be used to implement asynchronous parallel queues and stacks with constant time access (assuming a fetch-and-add operation). The room synchronization problem involves supporting a set of m mutually exclusive “rooms” where any number of users can execute code simultaneously in any one of the rooms, but no two users can simultaneously execute code in separate rooms. Users asynchronously request permission to enter specified rooms, and neither the arrival time nor the arrival order nor the desired room of such requests are known ahead of time. We describe an algorithm for room synchronizations, and prove it satisfies a number of desirable properties. We have implemented our algorithm on a Sun UltraEnterprise 10000 multiprocessor. We present experimental results comparing an implementation of a parallel stack using room synchronizations to one using locks, demonstrating a significant scalability advantage for room synchronizations.