Analysis and Evaluation of Non-Blocking Interpolation Search Trees

01/02/2020
by   Aleksandar Prokopec, et al.
0

We start by summarizing the recently proposed implementation of the first non-blocking concurrent interpolation search tree (C-IST) data structure. We then analyze the individual operations of the C-IST, and show that they are correct and linearizable. We furthermore show that lookup (and several other non-destructive operations) are wait-free, and that the insert and delete operations are lock-free. We continue by showing that the C-IST has the following properties. For arbitrary key distributions, this data structure ensures worst-case O(log n + p) amortized time for search, insertion and deletion traversals. When the input key distributions are smooth, lookups run in expected O(loglog n + p) time, and insertion and deletion run in expected amortized O(loglog n + p) time, where p is a bound on the number of threads. Finally, we present an extended experimental evaluation of the non-blocking IST performance.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset