License
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2015.470
URN: urn:nbn:de:0030-drops-52348
URL: http://drops.dagstuhl.de/opus/volltexte/2015/5234/
Go to the corresponding LIPIcs Volume Portal


Dongol, Brijesh ; Derrick, John ; Groves, Lindsay ; Smith, Graeme

Defining Correctness Conditions for Concurrent Objects in Multicore Architectures

pdf-format:
24.pdf (0.7 MB)


Abstract

Correctness of concurrent objects is defined in terms of conditions that determine allowable relationships between histories of a concurrent object and those of the corresponding sequential object. Numerous correctness conditions have been proposed over the years, and more have been proposed recently as the algorithms implementing concurrent objects have been adapted to cope with multicore processors with relaxed memory architectures. We present a formal framework for defining correctness conditions for multicore architectures, covering both standard conditions for totally ordered memory and newer conditions for relaxed memory, which allows them to be expressed in uniform manner, simplifying comparison. Our framework distinguishes between order and commitment properties, which in turn enables a hierarchy of correctness conditions to be established. We consider the Total Store Order (TSO) memory model in detail, formalise known conditions for TSO using our framework, and develop sequentially consistent variations of these. We present a work-stealing deque for TSO memory that is not linearizable, but is correct with respect to these new conditions. Using our framework, we identify a new non-blocking compositional condition, fence consistency, which lies between known conditions for TSO, and aims to capture the intention of a programmer-specified fence.

BibTeX - Entry

@InProceedings{dongol_et_al:LIPIcs:2015:5234,
  author =	{Brijesh Dongol and John Derrick and Lindsay Groves and Graeme Smith},
  title =	{{Defining Correctness Conditions for Concurrent Objects in Multicore Architectures}},
  booktitle =	{29th European Conference on Object-Oriented Programming (ECOOP 2015)},
  pages =	{470--494},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-939897-86-6},
  ISSN =	{1868-8969},
  year =	{2015},
  volume =	{37},
  editor =	{John Tang Boyland},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2015/5234},
  URN =		{urn:nbn:de:0030-drops-52348},
  doi =		{10.4230/LIPIcs.ECOOP.2015.470},
  annote =	{Keywords: Concurrent objects, correctness, relaxed memory, verification}
}

Keywords: Concurrent objects, correctness, relaxed memory, verification
Seminar: 29th European Conference on Object-Oriented Programming (ECOOP 2015)
Issue Date: 2015
Date of publication: 26.06.2015


DROPS-Home | Fulltext Search | Imprint Published by LZI