Monotonically relaxing concurrent data-structure semantics for increasing performance: An efficient 2D design framework
Paper i proceeding, 2019

There has been a significant amount of work in the literature proposing semantic relaxation of concurrent data structures for improving scalability and performance. By relaxing the semantics of a data structure, a bigger design space, that allows weaker synchronization and more useful parallelism, is unveiled. Investigating new data structure designs, capable of trading semantics for achieving better performance in a monotonic way, is a major challenge in the area. We algorithmically address this challenge in this paper. We present an efficient, lock-free, concurrent data structure design framework for out-of-order semantic relaxation. We introduce a new two dimensional algorithmic design, that uses multiple instances of a given data structure. The first dimension of our design is the number of data structure instances operations are spread to, in order to benefit from parallelism through disjoint memory access; the second dimension is the number of consecutive operations that try to use the same data structure instance in order to benefit from data locality. Our design can flexibly explore this two-dimensional space to achieve the property of monotonically relaxing concurrent data structure semantics for better performance within a tight deterministic relaxation bound, as we prove in the paper. We show how our framework can instantiate lock-free out-of-order queues, stacks, counters and dequeues. We provide implementations of these relaxed data structures and evaluate their performance and behaviour on two parallel architectures. Experimental evaluation shows that our two-dimensional design significantly outperforms the respected previous proposed designs with respect to scalability and performance. Moreover, our design increases performance monotonically as relaxation increases.

Data structures

Concurrency

Semantics relaxation

Lock free

Författare

Adones Rukundo

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

Aras Atalar

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

Philippas Tsigas

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

Leibniz International Proceedings in Informatics, LIPIcs

18688969 (ISSN)

Vol. 146 31

33rd International Symposium on Distributed Computing, DISC 2019
Budapest, Hungary,

Ämneskategorier

Datorteknik

Annan data- och informationsvetenskap

Datavetenskap (datalogi)

DOI

10.4230/LIPIcs.DISC.2019.31

Mer information

Senast uppdaterat

2019-11-28