Lock-free Data Structures in Multicore Software Programming
Licentiate thesis, 2012

Lock-free data objects have been proven to have many advantages over their lock-based counter-parts such as high scalability, performance, and immunity to deadlocks and livelocks. Several lock-free implementations of fundamental data structures have been introduced in the literature, and used in practice. However, we found that lock-free data objects are not composable in term of progress guarantees. Therefore, we proposed a synchronization mechanism to enhance shared lock-free data objects so that they can provide progress guarantees, in a fair manner, to all objects using them. Using the proposed mechanism, a programmer can compose as many lock-free objects as needed and still ensure lock-freedom of individual object. We implemented and evaluated our synchronization mechanism with a lock-free queue. The evaluation result shows that there is a performance penalty of using the mechanism which mostly comes from the use of a software-based Double-Compare-And-Swap. The second part of this thesis presents our design of a concurrent mark-split garbage collector. The design addresses the challenge of handling concurrent updates to the list of free intervals by algorithmically introducing an efficient concurrency control mechanism. This mechanism is based on a lock-free skip-list design and supports an extended set of operations that allows, atomically and in a lock-free manner, to search and remove and also to insert two intervals at the same time. We have implemented the concurrent mark-split garbage collector, namely CoMarkSplit, in OpenJDK HotSpot Virtual Machine as a collector for the tenured generation. We performed experimental evaluation of CoMarkSplit and compared with the default concurrent mark-sweep present in OpenJDK HotSpot, using Dacapo benchmarks. The result shows that CoMarkSplit outperforms the concurrent mark-sweep in two out of four applications.

Mark-Split

Concurrent Data Structures

Garbage Collection

Lock-free

Concurrent Garbage Collector

Composition

Java

Room ED, Rännvägen 6, Chalmers
Opponent: Dr. Marc Shapiro, INRIA & LIP6, France

Author

Dang Nhan Nguyen

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

Progress guarantees when composing lock-free objects

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics),; Vol. Part II(2011)p. 148--159-

Paper in proceeding

Areas of Advance

Information and Communication Technology

Subject Categories

Computer Science

Technical report L - Department of Computer Science and Engineering, Chalmers University of Technology and Göteborg University

Room ED, Rännvägen 6, Chalmers

Opponent: Dr. Marc Shapiro, INRIA & LIP6, France

More information

Created

10/6/2017