Treffer: A Contention-Friendly Methodology for Search Structures

Title:
A Contention-Friendly Methodology for Search Structures
Contributors:
As Scalable As Possible: foundations of large scale dynamic distributed systems (ASAP), Centre Inria de l'Université de Rennes, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-SYSTÈMES LARGE ÉCHELLE (IRISA-D1), Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA), Université de Rennes (UR)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut National des Sciences Appliquées (INSA)-Institut National des Sciences Appliquées (INSA)-Université de Bretagne Sud (UBS)-École normale supérieure - Rennes (ENS Rennes)-Institut National de Recherche en Informatique et en Automatique (Inria)-Télécom Bretagne-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS)-Université de Rennes (UR)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut National des Sciences Appliquées (INSA)-Institut National des Sciences Appliquées (INSA)-Université de Bretagne Sud (UBS)-École normale supérieure - Rennes (ENS Rennes)-Institut National de Recherche en Informatique et en Automatique (Inria)-Télécom Bretagne-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS)-Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA), Institut National des Sciences Appliquées (INSA)-Institut National des Sciences Appliquées (INSA)-Université de Bretagne Sud (UBS)-École normale supérieure - Rennes (ENS Rennes)-Télécom Bretagne-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS), Ecole Polytechnique Fédérale de Lausanne (EPFL), European Project: 238639,EC:FP7:PEOPLE,FP7-PEOPLE-ITN-2008,TRANSFORM(2009)
Source:
[Research Report] 2012
Publisher Information:
CCSD, 2012.
Publication Year:
2012
Collection:
collection:EC-PARIS
collection:UNIV-RENNES1
collection:CNRS
collection:INRIA
collection:UNIV-UBS
collection:INSA-RENNES
collection:INRIA-RENNES
collection:IRISA
collection:IRISA_SET
collection:INRIA_TEST
collection:TESTALAIN1
collection:IRISA-D1
collection:INRIA2
collection:UR1-HAL
collection:LARA
collection:UR1-MATH-STIC
collection:UR1-UFR-ISTIC
collection:TEST-UNIV-RENNES
collection:TEST-UR-CSS
collection:UNIV-RENNES
collection:INRIA-RENGRE
collection:INSTITUTS-TELECOM
collection:UR1-MATH-NUM
Original Identifier:
HAL: hal-00668010
Document Type:
Report report<br />Reports
Language:
English
Relation:
info:eu-repo/grantAgreement/EC/FP7/238639/EU/TransForm: Theoretical Foundations of Transactional Memory/TRANSFORM
Rights:
info:eu-repo/semantics/OpenAccess
Accession Number:
edshal.hal.00668010v1
Database:
HAL

Weitere Informationen

In this paper, a new methodology for writing concurrent data structures is proposed. This methodology limits the high contention induced by today's mutlicore environments to come up with efficient alternatives to most widely used search structures, including skip lists, binary search trees and hash tables. Data structures are generally constrained to guarantee a big-oh step complexity even in the presence of concurrency. By contrast our methodology guarantees 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 access that returns rapidly for efficiency reason and a lazy structural adaptation that may be postponed to diminish contention. We illustrate our methodology with three contention-friendly data structures: a lock based skip list and binary search tree, and a lock-free hash table. Our evaluation clearly shows that our contention-friendly data structures are more efficient than their non-contention-friendly counterparts. In particular, our lockbased skip list is up to 1:3 faster than the Java concurrent skip list, our lock-based tree is up to 2:2 faster than the most recent concurrent tree algorithm we are aware of, and our lock-free hash table outperforms by up to 1:2 the Java concurrent hash table. We also present contention-friendly versions of the skip list and binary search tree using transactional memory. Even though our transaction-based data structures are substantially slower than our lock-based ones, they inherit compositionality from transactional memory and outperform their non-contention-friendly counterparts by 1:5 on average.
Ce rapport présente une approche méthodologique pour les structures de recherche concurrentes avec des applcations aux listes á saut (skip list), arbres et table de hachage (hash table).