A Contention-Friendly, Non-Blocking Skip List - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2012

A Contention-Friendly, Non-Blocking Skip List

Résumé

This paper presents a new non-blocking skip list algorithm. This algorithm limits the high contention induced by today's multicore environments to come up with a more efficient alternative than existing ones. Data structures like skip lists are generally constrained to guarantee a big-oh step complexity even in the presence of concurrency. By contrast our idea is to guarantee the big-oh complexity only in the absence of contention and limits the contention when concurrency appears. The key concept lies in dividing update operations within an eager abstract modification that returns rapidly for efficiency reason and a lazy selective adaptation that may be postponed to diminish contention. The skip list algorithm is proved correct by proving the linearizability of a map (i.e., dictionary) abstraction it implements. It is evaluated experimentally in Java and compared to the \opfont{ConcurrentSkipListMap} on a multi-core machine. In particular, the skip list is up to 2.5 times faster than the Java concurrent skip list.
Fichier principal
Vignette du fichier
RR-7969.pdf (595.73 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-00699794 , version 1 (21-05-2012)
hal-00699794 , version 2 (30-05-2012)
hal-00699794 , version 3 (16-10-2012)
hal-00699794 , version 4 (16-11-2012)

Identifiants

  • HAL Id : hal-00699794 , version 1

Citer

Tyler Crain, Vincent Gramoli, Michel Raynal. A Contention-Friendly, Non-Blocking Skip List. [Research Report] RR-7969, 2012. ⟨hal-00699794v1⟩

Collections

INRIA-RRRT
384 Consultations
2188 Téléchargements

Partager

Gmail Facebook X LinkedIn More