Layout Lock: A Scalable Locking Paradigm for Concurrent Data Layout Modifications

Nachshon Cohen, Arie Tal, Erez Petrank

Research output: Contribution to journalArticlepeer-review

Abstract

Data-structures can benefit from dynamic data layout modifications when the size or the shape of the data structure changes during the execution, or when different phases in the program execute different workloads. However, in a modern multi-core environment, layout modifications involve costly synchronization overhead. In this paper we propose a novel layout lock that incurs a negligible overhead for reads and a small overhead for updates of the data structure. We then demonstrate the benefits of layout changes and also the advantages of the layout lock as its supporting synchronization mechanism for two data structures. In particular, we propose a concurrent binary search tree, and a concurrent array set, that benefit from concurrent layout modifications using the proposed layout lock. Experience demonstrates performance advantages and integration simplicity.

Original languageEnglish
Pages (from-to)17-29
Number of pages13
JournalACM SIGPLAN Notices
Volume52
Issue number8
DOIs
StatePublished - 26 Jan 2017

Keywords

  • concurrent data structures
  • data layout
  • synchronization

All Science Journal Classification (ASJC) codes

  • General Computer Science

Fingerprint

Dive into the research topics of 'Layout Lock: A Scalable Locking Paradigm for Concurrent Data Layout Modifications'. Together they form a unique fingerprint.

Cite this