Improved implementations of binary universal operations

Hagit Attiya, Eyal Dagan · Journal of the ACM · 2001

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.

Read the paper · More papers on PaperTik