Results 1 - 10
of
22
Real-Time Computing with Lock-Free Shared Objects
- ACM Transactions on Computer Systems
, 1995
"... This paper considers the use of lock-free shared objects within hard real-time systems. As the name suggests, lock-free shared objects are distinguished by the fact that they are not locked. As such, they do not give rise to priority inversions, a key advantage over conventional, lock-based object-s ..."
Abstract
-
Cited by 50 (7 self)
- Add to MetaCart
This paper considers the use of lock-free shared objects within hard real-time systems. As the name suggests, lock-free shared objects are distinguished by the fact that they are not locked. As such, they do not give rise to priority inversions, a key advantage over conventional, lock-based object-sharing approaches. Despite this advantage, it is not immediately apparent that lock-free shared objects can be employed if tasks must adhere to strict timing constraints. In particular, lock-free object implementations permit concurrent operations to interfere with each other, and repeated interferences can cause a given operation to take an arbitrarily long time to complete. The main contribution of this paper is to show that such interferences can be bounded by judicious scheduling. This work pertains to periodic, hard real-time tasks that sharelock-free objects on a uniprocessor. In the first part of the paper, scheduling conditions are derived for such tasks, for both static and dynamic pri...
Bounded Concurrent Time-Stamping
- SIAM JOURNAL ON COMPUTING
, 1997
"... We introduce concurrent time-stamping, a paradigm that allows processes to temporally order concurrent events in an asynchronous shared-memory system. Concurrent time-stamp systems are powerful tools for concurrency control, serving as the basis for solutions to coordination problems such as mutual ..."
Abstract
-
Cited by 14 (1 self)
- Add to MetaCart
We introduce concurrent time-stamping, a paradigm that allows processes to temporally order concurrent events in an asynchronous shared-memory system. Concurrent time-stamp systems are powerful tools for concurrency control, serving as the basis for solutions to coordination problems such as mutual exclusion, l-exclusion, randomized consensus, and multiwriter multireader atomic registers. Unfortunately, all previously known methods for implementing concurrent timestamp systems have been theoretically unsatisfying since they require unbounded-size time-stamps -- in other words, unbounded-size memory. This work presents the first bounded implementation of a concurrent time-stamp system, providing a modular unbounded-to-bounded transformation of the simple unbounded solutions to problems such as those mentioned above. It allows solutions to two formerly open problems, the boundedprobabilistic -consensus problem of Abrahamson and the fifo-l-exclusion problem of Fischer, Lynch, Burns and...
A Lock-Free Approach to Object Sharing in Real-Time Systems
, 1997
"... This work aims to establish the viability of lock-free object sharing in uniprocessor real-time systems. Naive usage of conventional lock-based object-sharing schemes in real-time systems leads to unbounded priority inversion. A priority inversion occurs when a task is blocked by a lower-priority ta ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
This work aims to establish the viability of lock-free object sharing in uniprocessor real-time systems. Naive usage of conventional lock-based object-sharing schemes in real-time systems leads to unbounded priority inversion. A priority inversion occurs when a task is blocked by a lower-priority task that is inside a critical section. Mechanisms that bound priority inversion usually entail kernel overhead that is sometimes excessive. We propose that lock-free objects offer an attractive alternative to lock-based schemes because they eliminate priority inversion and its associated problems. On the surface, lock-free objects may seem to be unsuitable for hard real-time systems because accesses to such objects are not guaranteed to complete in bounded time. Nonetheless, we present scheduling conditions that demonstrate the applicability of lock-free objects in hard real-time systems. Our scheduling conditions are applicable to schemes such as rate-monotonic scheduling and earliest-deadline-...
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.
A Three-Slot Asynchronous Reader/Writer Mechanism for Multiprocessor Real-Time Systems
, 1997
"... This report presents an approach to realizing a three-slot asynchronous reader/writer mechanism in multiprocessor real-time systems. The mechanism allows both the reader and the writer to access the shared data object at any time without employing any conventional synchronization protocol. Its imple ..."
Abstract
-
Cited by 11 (2 self)
- Add to MetaCart
This report presents an approach to realizing a three-slot asynchronous reader/writer mechanism in multiprocessor real-time systems. The mechanism allows both the reader and the writer to access the shared data object at any time without employing any conventional synchronization protocol. Its implementation takes advantage of the hardware supported Compare-and-Swap instruction to coordinate buffer accessing. Since there is no locking mechanism adopted in the approach, it is a non-blocking mechanism such that delay of either the reader or the writer imposes no effect upon the other. In addition, no repeated reading is needed by the reader. For real-time applications, this mechanism introduces no impact upon timing behaviour of tasks. It helps to reduce blocking and priority inversion problems incurred by the commonly used lock-based synchronization mechanisms. 1 Introduction Data sharing, which is a basic approach to achieving intertask communication within a variety of applications,...
Nonatomic Mutual Exclusion with Local Spinning (Extended Abstract)
, 2002
"... We present an N-process local-spin mutual exclusion algorithm, based on nonatomic reads and writes, in which each process performs \Theta (log N) remote memory references to enter and exit its critical section. This algorithm is derived from Yang and Anderson's atomic tree-based local-spin algorit ..."
Abstract
-
Cited by 9 (3 self)
- Add to MetaCart
We present an N-process local-spin mutual exclusion algorithm, based on nonatomic reads and writes, in which each process performs \Theta (log N) remote memory references to enter and exit its critical section. This algorithm is derived from Yang and Anderson's atomic tree-based local-spin algorithm in a way that preserves its time complexity. No atomic read/write algorithm with better asymptotic worst-case time complexity (under the remote-memory-references measure) is currently known. This suggests that atomic memory is not fundamentally required if one is interested in worst-case time complexity. The same cannot be said if one is interested in fast-path algorithms (in which contention-free time complexity is required to be O(1)) or adaptive algorithms (in which time complexity is required to be proportional to the number of contending processes). We show that such algorithms fundamentally require memory accesses to be atomic. In particular, we show that for any N-process nonatomic algorithm, there exists a single-process execution in which the lone competing process executes \Omega (log N / log log N) remote operations to enter its critical section. Moreover, these operations must access \Omega (plog N / log log N) distinct variables, which implies that fast and adaptive algorithms are impossible even if caching techniques are used to avoid accessing the processors-to-memory interconnection network.
Lamport on Mutual Exclusion: 27 Years of Planting Seeds
- In 20th ACM Symposium on Principles of Distributed Computing
, 2001
"... Mutual exclusion is a topic that Leslie Lamport has returned to many times throughout his career. This article, which is being written in celebration of Lamport's sixtieth birthday, is an attempt to survey some of his many contributions to research on this topic. ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Mutual exclusion is a topic that Leslie Lamport has returned to many times throughout his career. This article, which is being written in celebration of Lamport's sixtieth birthday, is an attempt to survey some of his many contributions to research on this topic.
A Unified Approach to the Study of Asynchronous Communication Mechanisms in Real Time Systems.
, 2000
"... This thesis presents a new application of analyzing Asynchronous Communication Mechanisms (ACMs) using Petri nets. This technique facilitates the testing of essential ACM operating properties: data coherence (concurrent reading and writing of data at the same location should not happen), data freshn ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
This thesis presents a new application of analyzing Asynchronous Communication Mechanisms (ACMs) using Petri nets. This technique facilitates the testing of essential ACM operating properties: data coherence (concurrent reading and writing of data at the same location should not happen), data freshness (not reading out of date data) and data sequencing (not reading data in a new-old-new order). The technique allows for analysis under metastable conditions which cannot be avoided in an asynchronous environment, but have usually been omitted in the analysis of published ACM algorithms. The modelling techniques are described, along with the analysis methods and optimizations which allow the ACM models to be as compact as possible without omitting necessary detail. The method allows for fast automated analysis of ACMs therefore allowing design changes in the algorithms to be quickly analyzed, without the need to perform long formal proofs. The use of a common analysis method allows compari...
A Recipe for Atomic Semantics for Byzantine Quorum Systems
, 2000
"... We present a formal proof that the problem of atomic semantics [Lam86] for Byzantine quorum systems with trustworthy clients can be reduced to that of regular semantics. Specifically, any regular protocol for such systems can be combined with a writeback mechanism to produce an atomic protocol. We t ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
We present a formal proof that the problem of atomic semantics [Lam86] for Byzantine quorum systems with trustworthy clients can be reduced to that of regular semantics. Specifically, any regular protocol for such systems can be combined with a writeback mechanism to produce an atomic protocol. We then give a pseudo-regular protocol for general masking quorum systems [MR98a] and show that it can be used in this way to build a pseudo-atomic protocol. keywords: atomic variable semantics, byzantine fault tolerance, quorum systems, large-scale data services, calculational proofs Department of Computer Sciences, University of Texas, Austin, Texas; tumlin@cs.utexas.edu. y Department of Computer Sciences, University of Texas, Austin, Texas; lorenzo@cs.utexas.edu. 1 1 Introduction Byzantine quorum systems [MR98a] are a promising approach to the problem of efficiently implementing Byzantine fault-tolerant data services. There are several variations on this approach [Baz97, MRWr97, MRW9...

