Improved implementations of binary universal operations

  • Authors:
  • Hagit Attiya;Eyal Dagan

  • Affiliations:
  • The Technion, Haifa, Israel;The Technion, Haifa, Israel

  • Venue:
  • Journal of the ACM (JACM)
  • Year:
  • 2001

Quantified Score

Hi-index 0.01

Visualization

Abstract

We present an algorithm for implementing binary operations (of any type) from unary load-linked (LL) and store-conditional (SC) operations. The performance of the algorithm is evaluated according to its sensitivity, measuring the distance between operations in the graph induced by conflicts, which guarantees that they do not influence the step complexity of each other. The sensitivity of our implementation is O(log* n), where n is the number of processors in the system. That is, operations that are Ω(log* n) apart in the graph induced by conflicts do not delay each other. Constant sensitivity is achieved for operations used to implement heaps and array-based linked lists.We also prove that there is a problem which can be solved in O(1) steps using binary LL/SC operations, but requires O(log log* n) operations if only unary LL/SC operations are used. This indicates a non-constant gap between unary and binary, LL/SC operations.