Improved implementations of binary universal operations

H Attiya, E Dagan - Journal of the ACM (JACM), 2001 - dl.acm.org
H Attiya, E Dagan
Journal of the ACM (JACM), 2001dl.acm.org
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 …
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.
ACM Digital Library