SplitOrderedLists - Split-Ordered Lists: Lock-Free...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Split-Ordered Lists: Lock-Free Extensible Hash Tables ORI SHALEV Tel-Aviv University, Tel-Aviv, Israel AND NIR SHAVIT Tel-Aviv University and Sun Microsystems Laboratories, Tel-Aviv, Israel Abstract. We present the first lock-free implementation of an extensible hash table running on current architectures. Our algorithm provides concurrent insert, delete, and find operations with an expected O (1) cost. It consists of very simple code, easily implementable using only load, store, and compare- and-swap operations. The new mathematical structure at the core of our algorithm is recursive split- ordering , a way of ordering elements in a linked list so that they can be repeatedly split using a single compare-and-swap operation. Metaphorically speaking, our algorithm differs from prior known algorithms in that extensibility is derived by moving the buckets among the items rather than the items among the buckets. Though lock-free algorithms are expected to work best in multiprogrammed environments,empiricaltestsweconductedonalargesharedmemorymultiprocessorshowthatevenin non-multiprogrammed environments, the new algorithm performs as well as the most efficient known lock-based resizable hash-table algorithm, and in high load cases it significantly outperforms it. Categories and Subject Descriptors: D.1.3 [ Programming Techniques ]: Concurrent Programming Parallel programming ; D.4.1 [ Operating Systems ]: Process Management Synchronization ; con- currency ; multiprocessing/multiprogramming/multitasking ; E.2 [ Data Storage Representation ] Hash-table representations General Terms: Algorithms, Theory, Performance, Experimentation Additional Key Words and Phrases: Concurrent data structures, hash table, non-blocking synchro- nization, compare-and-swap This work was performed while N. Shavit was at Tel-Aviv University, supported by a Collaborative Research Grant from Sun Microsystems. A preliminary version of this article appeared in Proceedings of the 22nd Annual ACM Symposium on Principles of Distributed Computing (Boston, MA), ACM, New York, 2003, pp. 102111. Copyright is held by Sun Microsystems, Inc. Authors address: School of Computer Science, Tel-Aviv University, Tel-Aviv, Israel 69978, e-mail: orish@post.tau.ac.il; shanir@sun.com. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or direct commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored....
View Full Document

This note was uploaded on 07/30/2011 for the course COP 4810 taught by Professor Staff during the Spring '11 term at University of Central Florida.

Page1 / 27

SplitOrderedLists - Split-Ordered Lists: Lock-Free...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online