Lock-free Concurrent Search
Doctoral thesis, 2017

The contemporary computers typically consist of multiple computing cores with high compute power. Such computers make excellent concurrent asynchronous shared memory system. On the other hand, though many celebrated books on data structure and algorithm provide a comprehensive study of sequential search data structures, unfortunately, we do not have such a luxury if concurrency comes in the setting. The present dissertation aims to address this paucity. We describe novel lock-free algorithms for concurrent data structures that target a variety of search problems. (i) Point search (membership query, predecessor query, nearest neighbour query) for 1-dimensional data: Lock-free linked-list; lock-free internal and external binary search trees (BST). (ii) Range search for 1-dimensional data: A range search method for lock-free ordered set data structures - linked-list, skip-list and BST. (iii) Point search for multi-dimensional data: Lock-free kD-tree, specially, a generic method for nearest neighbour search. We prove that the presented algorithms are linearizable i.e. the concurrent data structure operations intuitively display their sequential behaviour to an observer of the concurrent system. The lock-freedom in the introduced algorithms guarantee overall progress in an asynchronous shared memory system. We present the amortized analysis of lock-free data structures to show their efficiency. Moreover, we provide sample implementations of the algorithms and test them over extensive micro-benchmarks. Our experiments demonstrate that the implementations are scalable and perform well when compared to related existing alternative implementations on common multi-core computers. Our focus is on propounding the generic methodologies for efficient lock-free concurrent search. In this direction, we present the notion of help-optimality, which captures the optimization of amortized step complexity of the operations. In addition to that, we explore the language-portable design of lock-free data structures that aims to simplify an implementation from programmer’s point of view. Finally, our techniques to implement lock-free linearizable range search and nearest neighbour search are independent of the underlying data structures and thus are adaptive to similar data structures.

Concurrent

Range Search

Non-blocking

Nearest Neighbour Search

Linearizability

Search

Binary Search Tree

Linearizable

Blocking

Linked-list

Synchronization

Wait-free

kD-tree

Lock-free-kD-tree

Lock-free

Amortized Complexity

Help-aware

Language-portable

Help-optimal

Lock-based

Concurrency

Data Structure

EA, Rännvägen 6 B, EDIT building
Opponent: Professor Pascal Felber Department of Computer Science, The University of Neuchatel, Switzerland

Author

Bapi Chatterjee

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

Understanding the Performance of Concurrent Data Structures on Graphics Processors

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics),;Vol. 7484/2012(2012)p. 883-894

Paper in proceeding

A Study of the Behavior of Synchronization Methods in Commonly Used Languages and Systems

Proceedings of the 27th IEEE International Parallel & Distributed Processing Symposium,;(2013)p. 1309-1320

Paper in proceeding

Efficient lock-free binary search trees

2014 ACM Symposium on Principles of Distributed Computing, PODC 2014; Paris; France; 15 July 2014 through 18 July 2014,;(2014)p. 322-331

Paper in proceeding

Help-Optimal and Language-Portable Lock-Free Concurrent Data Structures

45th International Conference on Parallel Processing (ICPP), 2016,;Vol. 2016 september(2016)p. 360-369

Paper in proceeding

Lock-free linearizable 1-dimensional range queries

ACM International Conference Proceeding Series,;Vol. Part F125794(2017)p. Article no: a 9-

Paper in proceeding

Concurrent Linearizable Nearest Neighbour Search in LockFree-kD-tree

Subject Categories

Computer Engineering

Other Computer and Information Science

Software Engineering

Information Science

Computer Science

Computer Systems

Computer Vision and Robotics (Autonomous Systems)

Areas of Advance

Information and Communication Technology

ISBN

978-91-7597-483-5

Doktorsavhandlingar vid Chalmers tekniska högskola. Ny serie: 4164

Publisher

Chalmers

EA, Rännvägen 6 B, EDIT building

Opponent: Professor Pascal Felber Department of Computer Science, The University of Neuchatel, Switzerland

More information

Latest update

5/28/2024