f-arrays: implementation and applications

  • Authors:
  • Prasad Jayanti

  • Affiliations:
  • Dartmouth College, Hanover, NH

  • Venue:
  • Proceedings of the twenty-first annual symposium on Principles of distributed computing
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce f-array, a new type of shared object that generalizes the multiwriter snapshot object, and design efficient (linearizable and wait-free) algorithms for implementing it. f-arrays have made possible improved solutions to some important problems, as listed below:• A wait-free implementation of multiwriter snapshot, where the time complexity of scan and update operations is independent of the number of processes accessing the implementation.• A wait-free implementation of counter object whose time complexity has the dual advantage that it is adaptive and guarantees a small worst-case bound: the time complexity is O(1) for read and O(min(k, log n)) for increment, where k is point contention and n is the maximum number of processes that the implementation is designed to handle.• A wait-free implementation of a restricted version of a priority queue with similar time complexity as the counter implementation.• A local spinning mutual exclusion algorithm that admits processes into Critical Section (CS) according to their priorities; processes with the same priority enter the CS in first-come-first-served order. In both cache coherent and NUMA multiprocessors, a process makes at most O(min(k, log n)) remote references to complete the entry and exit sections once. To the best of our knowledge, this is the first mutual exclusion algorithm that supports process priorities and has sublinear worst-case time complexity.All algorithms in this paper require support for LL/SC instructions.