The k-bakery: local-spin k-exclusion using non-atomic reads and writes

  • Authors:
  • Robert Danek

  • Affiliations:
  • University of Toronto, Toronto, ON, Canada

  • Venue:
  • Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
  • Year:
  • 2010

Quantified Score

Hi-index 0.02

Visualization

Abstract

Mutual exclusion is used to coordinate access to shared resources by concurrent processes. k-Exclusion is a variant of mutual exclusion in which up to k processes can simultaneously access the shared resource. We present the first known shared-memory k-exclusion algorithms that use only atomic reads and writes, have bounded remote memory reference (RMR) complexity, and tolerate crash failures. Our algorithms have RMR complexity O(N) in both the cache-coherent and distributed shared-memory models, where N is the number of processes in the system. Additionally, we present a k-exclusion algorithm that satisfies the First-In-First-Enabled (FIFE) fairness property. FIFE requires that processes become "enabled" to enter the CS roughly in the order that they request access to the shared resource. Finally, we present a modification to the FIFE k-exclusion algorithm that works with non-atomic reads and writes. The high-level structure of all our algorithms is inspired by Lamport's famous Bakery algorithm.