Results 1 - 10
of
10
On the correctness of transactional memory
- In PPoPP
, 2008
"... Transactional memory (TM) is an appealing abstraction for programming multi-core systems. Potential target applications for TM, such as business software and video games, are likely to involve complex data structures and large transactions, requiring specific software solutions (STM). So far, howeve ..."
Abstract
-
Cited by 76 (17 self)
- Add to MetaCart
Transactional memory (TM) is an appealing abstraction for programming multi-core systems. Potential target applications for TM, such as business software and video games, are likely to involve complex data structures and large transactions, requiring specific software solutions (STM). So far, however, STMs have been mainly evaluated and optimized for smaller scale benchmarks. We revisit the main STM design choices from the perspective of complex workloads and propose a new STM, which we call SwissTM. In short, SwissTM is lock- and word-based and uses (1) optimistic (commit-time) conflict detection for read/write conflicts and pessimistic (encounter-time) conflict detection for write/write conflicts, as well as (2) a new two-phase contention manager that ensures the progress of long transactions while inducing no overhead on short ones. SwissTM outperforms state-of-theart STM implementations, namely RSTM, TL2, and TinySTM, in our experiments on STMBench7, STAMP, Lee-TM and red-black tree benchmarks. Beyond SwissTM, we present the most complete evaluation to date of the individual impact of various STM design choices on the ability to support the mixed workloads of large applications.
The Mutual Exclusion Problem - Part I: A Theory of Interprocess Communication
, 2000
"... A novel formal theory of concurrent systems is introduced that does not assume any atomic operations. The execution of a concurrent program is modeled as an abstract set of operation executions with two temporal ordering relations: "precedence" and "can causally a#ect". A primitive interprocess comm ..."
Abstract
-
Cited by 45 (4 self)
- Add to MetaCart
A novel formal theory of concurrent systems is introduced that does not assume any atomic operations. The execution of a concurrent program is modeled as an abstract set of operation executions with two temporal ordering relations: "precedence" and "can causally a#ect". A primitive interprocess communication mechanism is then defined. In Part II, the mutual exclusion is expressed precisely in terms of this model, and solutions using the communication mechanism are given. Contents 1 Introduction 2 2 The Model 2 2.1 Physical Considerations . . . . . . . . . . . . . . . . . . . . . 3 2.2 System Executions . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Higher-Level Views . . . . . . . . . . . . . . . . . . . . . . . . 7 3 Interprocess Communication 9 4 Processes 14 5 Multiple-Reader Variables 17 6 Discussion of the Assumptions 18 7 Conclusion 19 1 1 Introduction The mutual exclusion problem was first described and solved by Dijkstra in [3]. In this problem, there is a collection...
The Weakest Failure Detectors to Solve Certain Fundamental Problems in Distributed Computing (Extended Abstract)
, 2004
"... Carole Delporte-Gallet cd@liafa.jussieu.fr Hugues Fauconnier hf@liafa.jussieu.fr Rachid Guerraoui rachid.guerraoui@epfl.ch Vassos Hadzilacos vassos@cs.toronto.edu Petr Kouznetsov petr.kouznetsov@epfl.ch Sam Toueg sam@cs.toronto.edu ABSTRACT We determine the weakest failure d ..."
Abstract
-
Cited by 34 (10 self)
- Add to MetaCart
Carole Delporte-Gallet cd@liafa.jussieu.fr Hugues Fauconnier hf@liafa.jussieu.fr Rachid Guerraoui rachid.guerraoui@epfl.ch Vassos Hadzilacos vassos@cs.toronto.edu Petr Kouznetsov petr.kouznetsov@epfl.ch Sam Toueg sam@cs.toronto.edu ABSTRACT We determine the weakest failure detectors to solve several fundamental problems in distributed message-passing systems, for all environments --- i.e., regardless of the number and timing of crashes. The problems that we consider are: implementing an atomic register, solving consensus, solving quittable consensus (a variant of consensus in which processes have the option to decide `quit' if a failure occurs), and solving non-blocking atomic commit.
How to make a correct multiprocess program execute correctly on a multiprocessor
- IEEE Transactions on Computers
, 1997
"... A multiprocess program executing on a modern multiprocessor must issue explicit commands to synchronize memory accesses. A method is proposed for deriving the necessary commands from a correctness proof of the underlying algorithm in a formalism based on temporal relations among operation executions ..."
Abstract
-
Cited by 33 (3 self)
- Add to MetaCart
A multiprocess program executing on a modern multiprocessor must issue explicit commands to synchronize memory accesses. A method is proposed for deriving the necessary commands from a correctness proof of the underlying algorithm in a formalism based on temporal relations among operation executions. index terms concurrency, memory consistency, multiprocessor, synchronization, verification
Bounded Concurrent Timestamp Systems Using Vector Clocks
- J. ACM
, 2002
"... Shared registers are basic objects used as communication mediums in asynchronous concurrent computation. A concurrent timestamp system is a higher typed communication object, and has been shown to be a powerful tool to solve many concurrency control problems. It has turned out to be possible to cons ..."
Abstract
-
Cited by 13 (2 self)
- Add to MetaCart
Shared registers are basic objects used as communication mediums in asynchronous concurrent computation. A concurrent timestamp system is a higher typed communication object, and has been shown to be a powerful tool to solve many concurrency control problems. It has turned out to be possible to construct such higher typed objects from primitive lower typed ones. The next step is to find efficient constructions. We propose a very efficient wait-free construction of bounded concurrent timestamp systems from 1-writer shared registers. This finalizes, corrects, and extends a preliminary bounded multiwriter construction proposed by the second author in 1986. That work partially initiated the current interest in wait-free concurrent objects, and introduced a notion of discrete vector clocks in distributed algorithms.
Model Checking Simpson's Four-Slot Fully Asynchronous Communication Mechanism
, 2002
"... Simpson's four-slot fully asynchronous communication mechanism allows single reader and writer processes to access a shared memory in such a way that interference between concurrent reads and writes is avoided, the reader always accesses the most recent data stored by the writer, and neither process ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
Simpson's four-slot fully asynchronous communication mechanism allows single reader and writer processes to access a shared memory in such a way that interference between concurrent reads and writes is avoided, the reader always accesses the most recent data stored by the writer, and neither process need wait for the other. In computer science parlance, it is a means for implementing a wait-free atomic register.
A Graph-Theoretic Model of Shared-Memory Legality
, 2000
"... The concept of legality is a crucial one for the denition of many shared-memory consistency conditions. As originally dened, a sequence of operations on a given object is legal if it is in the set of valid sequences specied for that object. Being thus dened on totally ordered sets of operations, the ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
The concept of legality is a crucial one for the denition of many shared-memory consistency conditions. As originally dened, a sequence of operations on a given object is legal if it is in the set of valid sequences specied for that object. Being thus dened on totally ordered sets of operations, the notion of legality is not fully realistic, because parallel executions on sharedmemory multiprocessing systems are best represented by partially ordered sets of operations. It is conceivable, therefore, that the eventual derivation of practical systems based on consistency models that rely on some form of legality will tend to be excessively heavy on the required synchronization. In this paper, we introduce an alternative denition of legality that is based on partially ordered sets of operations. Our treatment starts with a system model that makes very few assumptions on machine architecture, and proceeds to employ a graph-theoretic formalism to handle the normally troublesome issue of write multiplicity and to characterize legality. Using this same formalism, we argue that the novel denition of legality is consonant with the one on totally ordered sets of operations, so it carries the same intuitive appeal intended by the original denition. Keywords: Shared Memory, Legality, Consistency Models, Distributed Computing. 1 1
Opacity: A Correctness Condition for Transactional Memory ∗ Abstract
, 2007
"... Transactional memory (TM) is perceived as an appealing alternative to critical sections for general purpose concurrent programming. Despite the large amount of recent work on TM implementations, however, very little effort has been devoted to precisely defining what guarantees these implementations ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Transactional memory (TM) is perceived as an appealing alternative to critical sections for general purpose concurrent programming. Despite the large amount of recent work on TM implementations, however, very little effort has been devoted to precisely defining what guarantees these implementations should provide. A formal description of such guarantees is necessary in order to check the correctness of TM systems, as well as to establish TM optimality results and inherent trade-offs. This paper presents opacity, a candidate correctness criterion for TM implementations. We define opacity as a property of concurrent transaction histories and give its graph theoretical interpretation. Opacity captures precisely the correctness requirements that have been intuitively described by many TM designers. Most TM systems we know of do ensure opacity. At a very first approximation, opacity can be viewed as an extension of the classical database serializability property with the additional requirement that even noncommitted transactions are prevented from accessing inconsistent states. Capturing this requirement precisely, in the context of general objects, and without precluding pragmatic strategies that are often used by modern TM implementations, such as versioning, invisible reads, lazy updates, and open nesting, is not trivial. As a use case of opacity, we prove the first lower bound on the complexity of TM implementations. Basically, we show that every single-version TM system that uses invisible reads and does not abort non-conflicting transactions requires, in the worst case, Ω(k) steps for an operation to terminate, where k is the total number of objects shared by transactions. This (tight) bound precisely captures an inherent trade-off in the design of TM systems. The bound also highlights a fundamental gap between systems in which transactions can be fully isolated from the outside environment, e.g., databases or certain specialized transactional languages, and systems that lack such isolation capabilities, e.g., general TM frameworks.
Access Protocol
"... � Universe U of servers |U | = n � Quorum system � Byzantine faulty servers � Modeled as fail-prone system � Some contains all the faulty servers � Initially clients assumed to be correct � Point to point authenticated and reliable asynchronous channel ..."
Abstract
- Add to MetaCart
� Universe U of servers |U | = n � Quorum system � Byzantine faulty servers � Modeled as fail-prone system � Some contains all the faulty servers � Initially clients assumed to be correct � Point to point authenticated and reliable asynchronous channel
Virtually Synchronous Methodology for Building Dynamic Reliable Services
"... ABSTRACT 1 There has been considerable interest in reliability services such as Google‟s Chubby and Yahoo‟s Zookeeper, and in the State Machine Replication model, the standard way of formalizing them. Yet, traditional SMR treatments omit a formal analysis of reconfiguration as actually implemented i ..."
Abstract
- Add to MetaCart
ABSTRACT 1 There has been considerable interest in reliability services such as Google‟s Chubby and Yahoo‟s Zookeeper, and in the State Machine Replication model, the standard way of formalizing them. Yet, traditional SMR treatments omit a formal analysis of reconfiguration as actually implemented in production settings. We develop such a model; it ensures that members of the new configuration start with full knowledge of the finalized state of the prior configuration. To evaluate the approach, we develop a new implementation of atomic multicast, and evaluate its performance under a range of reconfiguration scenarios. 1.

