Lock-free Concurrent Search
Doktorsavhandling, 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.








Amortized Complexity

Data Structure

Binary Search Tree







Range Search



Nearest Neighbour Search



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


Bapi Chatterjee

Chalmers, Data- och informationsteknik, Nätverk och system

Understanding the Performance of Concurrent Data Structures on Graphics Processors

Lecture Notes in Computer Science,; Vol. 7484/2012(2012)p. 883-894

Paper i 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 i 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 i 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 i proceeding

Lock-free linearizable 1-dimensional range queries

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

Paper i proceeding

Concurrent Linearizable Nearest Neighbour Search in LockFree-kD-tree



Annan data- och informationsvetenskap



Datavetenskap (datalogi)


Datorseende och robotik (autonoma system)


Informations- och kommunikationsteknik



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


Chalmers tekniska högskola

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

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