From a Store-collect Object and Ω to Efficient Asynchronous Consensus - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Reports (Research Report) Year : 2011

From a Store-collect Object and Ω to Efficient Asynchronous Consensus


This paper presents an efficient algorithm that builds a consensus object. This algorithm is based on an $\Omega$ failure detector (to obtain consensus liveness) and a store-collect object (to maintain its safety). A store-collect object provides the processes with two operations, a store operation which allows the invoking process to deposit a new value while discarding the previous value it has deposited and a collect operation that returns to the invoking process a set of pairs $(i, val)$ where $val$ is the last value deposited by the process $p_i$. A store-collect object has no sequential specification. While store-collect objects have been used as base objects to design wait-free constructions of more sophisticated objects (such as snapshot or renaming objects), as far as we know, they have not been explicitly used to built consensus objects. The proposed store-collect-based algorithm, which is round-based, has several noteworthy features. First it uses a single store-collect object (and not an object per round). Second, during a round, a process invokes at most once the store operation and the value $val$ it deposits is a simple pair $\langle r, v \rangle$ where $r$ is a round number and $v$ a proposed value. Third, a process is directed to skip rounds according to its view of the current global state (thereby saving useless computation rounds). Finally, the algorithm benefits from the adaptive wait-free implementations that have been proposed for store-collect objects, namely, the number of shared memory accesses involved in a collect operation is $O(k)$ where $k$ is the number of processes that have invoked the store operation. This makes the proposed algorithm particularly efficient and interesting for multiprocess programs made up of asynchronous crash-prone processes that run on top of multicore architectures.
Cet article présente un algorithme efficace qui implémente un objet consensus sans attente (\emph{wait-free}). Cet algorithme s'appuie sur un détecteur de fautes $\Omega$ pour garantir la vivacité du consensus et sur un objet \emph{store-collect} qui en assure la sûreté. Cette approche permet de bénéficier des implémentations adaptatives existantes de l'objet \emph{store-collect}, ce qui fait de l'algorithme proposé une alternative intéressante pour résoudre le problème du consensus dans les systèmes asynchrones sujets aux défaillances construits sur des architectures multiprocesseur.
Fichier principal
Vignette du fichier
consensus-omega-store-collect-RR.pdf (526.9 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-00670076 , version 1 (21-02-2012)


  • HAL Id : hal-00670076 , version 1


Michel Raynal, Julien Stainer. From a Store-collect Object and Ω to Efficient Asynchronous Consensus. [Research Report] PI-1987, 2011. ⟨hal-00670076⟩
181 View
196 Download


Gmail Facebook X LinkedIn More