Adaptive and efficient abortable mutual exclusion

  • Authors:
  • Prasad Jayanti

  • Affiliations:
  • Dartmouth College Hanover, NH

  • Venue:
  • Proceedings of the twenty-second annual symposium on Principles of distributed computing
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Scott and Scherer recently pointed out that existing locking algorithms do not meet a need that arises in practical systems. Specifically, database systems and real time systems need mutual exclusion locks that support the abort capability, which makes it possible for a process that waits "too long" to abort its attempt to acquire the lock. Further, to ensure high performance in cache coherent and NUMA multiprocessors, the locking algorithm should generate as few remote references as possible.To help meet this need, Scott and Scherer in 2001 and Scott in 2002 proposed some local-spin abortable mutual exclusion algorithms, but these algorithms have Shortcomings. Specifically, the algorithm by Scott and Scherer allows an aborting process to be blocked by other processes, which is unacceptable. The subsequent algorithms by Scott overcome this shortcoming, but these have unbounded worst-case time and space complexity.In this paper, we present art efficient local-spin algorithm with the following complexity: in each acquisition and release/abort of the lock, a process makes O(min(k, log n)) remote memory references, where k is the point contention and n is the total number of processes for which the lock is designed. Thus, not only is the algorithm adaptive, but also its worst-case time complexity has a small logarithmic bound. The algorithm has O(n) space complexity. To our knowledge, this is the first abortable mutual exclusion algorithm that has bounded time complexity and requires only a bounded number of memory words.