English

Parallel Working-Set Search Structures

Data Structures and Algorithms 2018-07-12 v3 Distributed, Parallel, and Cluster Computing

Abstract

In this paper we present two versions of a parallel working-set map on p processors that supports searches, insertions and deletions. In both versions, the total work of all operations when the map has size at least p is bounded by the working-set bound, i.e., the cost of an item depends on how recently it was accessed (for some linearization): accessing an item in the map with recency r takes O(1+log r) work. In the simpler version each map operation has O((log p)^2+log n) span (where n is the maximum size of the map). In the pipelined version each map operation on an item with recency r has O((log p)^2+log r) span. (Operations in parallel may have overlapping span; span is additive only for operations in sequence.) Both data structures are designed to be used by a dynamic multithreading parallel program that at each step executes a unit-time instruction or makes a data structure call. To achieve the stated bounds, the pipelined data structure requires a weak-priority scheduler, which supports a limited form of 2-level prioritization. At the end we explain how the results translate to practical implementations using work-stealing schedulers. To the best of our knowledge, this is the first parallel implementation of a self-adjusting search structure where the cost of an operation adapts to the access sequence. A corollary of the working-set bound is that it achieves work static optimality: the total work is bounded by the access costs in an optimal static search tree.

Keywords

Cite

@article{arxiv.1805.05787,
  title  = {Parallel Working-Set Search Structures},
  author = {Kunal Agrawal and Seth Gilbert and Wei Quan Lim},
  journal= {arXiv preprint arXiv:1805.05787},
  year   = {2018}
}

Comments

Authors' version of a paper accepted to SPAA 2018