Lock-Free Search Data Structures: Throughput Modelling with Poisson Processes

05/12/2018
by   Aras Atalar, et al.
0

This paper considers the modelling and the analysis of the performance of lock-free concurrent search data structures. Our analysis considers such lock-free data structures that are utilized through a sequence of operations which are generated with a memoryless and stationary access pattern. Our main contribution is a new way of analysing lock-free search data structures: our execution model matches with the behavior that we observe in practice and achieves good throughput predictions. Search data structures are formed of linked basic blocks, usually referred as nodes, that can be accessed by two kinds of events, characterized by their latencies; (i) CAS events originated as a result of modifications of the search data structures (ii) Read events originated during traversals. This type of data structures are usually designed to accommodate a large number of data nodes, which makes the occurrence of an event on a given node rare at any given time. The throughput is defined by the number of events per operation in conjunction with the factors that impact the latencies of these events. We frame these impacting factors under capacity and coherence cache misses. In this context, we model the events as Poisson processes that we can merge and split to estimate the latencies of the events based on the interleaving of events from different threads, and in turn estimate the throughput. We have validated our analysis on several fundamental lock-free search data structures such as linked lists, hash tables, skip lists and binary trees.

READ FULL TEXT

page 22

page 23

page 25

page 27

page 28

page 30

page 31

page 35

research
09/12/2022

Type checking data structures more complex than trees

Graphs are a generalized concept that encompasses more complex data stru...
research
09/17/2023

Concurrent Deterministic Skiplist and Other Data Structures

Skiplists are used in a variety of applications for storing data subject...
research
01/20/2018

Pointer-Chase Prefetcher for Linked Data Structures

Caches only exploit spatial and temporal locality in a set of address re...
research
05/31/2019

Tracking in Order to Recover: Recoverable Lock-Free Data Structures

We present the tracking approach for deriving recoverable implementation...
research
04/25/2019

Performance Prediction for Coarse-Grained Locking

A standard design pattern found in many concurrent data structures, such...
research
10/11/2021

Peformance Prediction for Coarse-Grained Locking: MCS Case

A standard design pattern found in many concurrent data structures, such...
research
03/15/2022

QUBOs for Sorting Lists and Building Trees

We show that the fundamental tasks of sorting lists and building search ...

Please sign up or login with your details

Forgot password? Click here to reset