Consensus Numbers of Transactional Objects

  • Authors:
  • Eric Ruppert

  • Affiliations:
  • -

  • Venue:
  • Proceedings of the 13th International Symposium on Distributed Computing
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes the ability of asynchronous shared-memory distributed systems to solve the consensus problem in a wait-free manner if processes are permitted to perform transactions on the shared memory in a single atomic action. It will be shown that transactional memory is often extremely powerful, even if weak types of shared objects are used and the transactions are short. Suppose T is a type of shared object. For any positive integer m, the transactional type trans(T,m) allows processes to perform up to m accesses to a collection of objects of type T in a transaction. The transaction may also include internal process actions that do not affect the shared memory. For any non-trivial type T, trans(T,m) can solve consensus among Ω(2m/2) processes. A stronger lower bound of Ω(2m is given for a large class of objects that includes all non-trivial read-modify-write types T. If the type T is equipped with operations that allow processes to read the state of the object without altering the state, then trans(T, 2) is capable of solving consensus among any number of processes. This paper also gives a consensus algorithm for nm-1 processes using trans(n-consensus,m) and a consensus algorithm for any number of processes that uses trans(test&set, 3).