Please use this identifier to cite or link to this item:
|Title:||Defining correctness conditions for concurrent objects in multicore architectures|
|Keywords:||Concurrent objects;Correctness;Relaxed memory;Verification|
|Publisher:||Schloss Dagstuhl -- Leibniz-Zentrum fuer Informatik|
|Citation:||29th European Conference on Object-Oriented Programming (ECOOP 2015), Leibniz International Proceedings in Informatics (LIPIcs), 37: pp. 470 - 494, (2015)|
|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.|
|Appears in Collections:||Dept of Computer Science Research Papers|
Items in BURA are protected by copyright, with all rights reserved, unless otherwise indicated.