Testing shared memories (1997)
Cached
Download Links
- [www.pittsburgh.intel-research.net]
- [pittsburgh.intel-research.net]
- [info.pittsburgh.intel-research.net]
- DBLP
Other Repositories/Bibliography
| Venue: | SIAM Journal on Computing |
| Citations: | 41 - 1 self |
BibTeX
@ARTICLE{Gibbons97testingshared,
author = {Phillip B. Gibbons and Ephraim Korach},
title = {Testing shared memories},
journal = {SIAM Journal on Computing},
year = {1997},
volume = {26},
pages = {1208--1244}
}
Years of Citing Articles
OpenURL
Abstract
Abstract. Sequential consistency is the most widely used correctness condition for multiprocessor memory systems. This paper studies the problem of testing shared-memory multiprocessors to determine if they are indeed providing a sequentially consistent memory. It presents the first formal study of this problem, which has applications to testing new memory system designs and realizations, providing run-time fault tolerance, and detecting bugs in parallel programs. A series of results are presented for testing an execution of a shared memory under various scenarios, comparing sequential consistency with linearizability, another well-known correctness condition. Linearizability imposes additional restrictions on the shared memory, beyond that of sequential consistency; these restrictions are shown to be useful in testing such memories.
Citations
| 11867 |
Computer and Intractability: A Guide to the Theory of NP-completeness
- Garey, Johnson
- 1979
(Show Context)
Citation Context ...which each sequence contains at most two memory operations and each variable occurs in at most two write operations, is NP-complete. Proof. We use a reduction from the 3-Satisfiability (3SAT) problem =-=[13]-=-. Consider a 3SAT instance F with n variables, v1,...,vn,andmclauses, C1,...,Cm.Weuse the notation (vi,S(vi)) to represent either the variable vi (when S(vi) =T) or its complement vi (when S(vi)=F) in... |
| 1105 |
How to make a multiprocessor computer that correctly executes multiprocess programs
- Lamport
- 1979
(Show Context)
Citation Context ...duction. Shared-memory multiprocessors typically promise application and system programmers some high-level view of the memory system. High-level correctness conditions such as sequential consistency =-=[26]-=- provide a conceptually simple framework for programming parallel machines. In a sequentially consistent memory, each execution is indistinguishable (by the processors) from an execution of a (very fa... |
| 1020 | Linearizability: a correctness condition for concurrent objects
- Herlihy, Wing
- 1990
(Show Context)
Citation Context ...ishable from an execution of a serial memory, in which each read or write occurs at a distinct point in time between when it is issued by the processor and when the system acknowledges its completion =-=[22]-=-. We define the problem verifying linearizability of shared-memory executions (VL) and show that the additional restrictions imposed by linearizability beyond that of sequential consistency are quite ... |
| 683 | Memory consistency and event ordering in scalable shared-memory multiprocessors
- Gharachorloo, Lenoski, et al.
- 1990
(Show Context)
Citation Context ...arge shared-memory system. Third, certain implementations used in practice provide only an approximation to sequential consistency, e.g., processor consistency, as a tradeoff for improved performance =-=[16]-=-. Fourth, shared-memory multiprocessors may support release consistency [16, 21], which provides a sequentially consistent memory (only) for programs that are free of data races. (A data race occurs w... |
| 397 | The Tera computer system
- Alverson, Callahan, et al.
- 1990
(Show Context)
Citation Context ...ondition for multiprocessor memory systems. A memory system promising sequential consistency may fail to provide it for a number of reasons. First, high-performance shared-memory multiprocessors (cf. =-=[5, 7, 12, 27]-=-) employ a variety of techniques to improve their memory system performance (e.g., buffering, pipelining, caching, multiple paths to memory, parallel access to memory banks); these serve to distance t... |
| 386 | The Stanford Dash Multiprocessor
- Lenoski, Laudon, et al.
- 1992
(Show Context)
Citation Context ...ondition for multiprocessor memory systems. A memory system promising sequential consistency may fail to provide it for a number of reasons. First, high-performance shared-memory multiprocessors (cf. =-=[5, 7, 12, 27]-=-) employ a variety of techniques to improve their memory system performance (e.g., buffering, pipelining, caching, multiple paths to memory, parallel access to memory banks); these serve to distance t... |
| 212 | The serializability of concurrent database updates
- Papadimitriou
- 1979
(Show Context)
Citation Context ...ess conditions other than linearizability and sequential consistency can be considered. A number of correctness conditions from the domain of database transactions have been previously studied (e.g., =-=[6, 25, 30]-=-). It would be interesting to develop a general theory encompassing a wide range of correctness conditions so that tradeoffs between the generality of a correctness condition and its complexity may be... |
| 192 |
E cient and correct execution of parallel programs that share memory
- Shasha, Snir
- 1988
(Show Context)
Citation Context ...he references therein), work on computing with faulty shared memories [4], work on de1210 P. B. GIBBONS AND E. KORACH termining minimal ordering constraints needed to preserve sequential consistency =-=[33]-=-, and work on comparing implementations of sequential consistency versus linearizability (e.g., [8]). However, none of this work addresses the general testing questions considered in this paper. 1.1. ... |
| 190 |
The theory of database concurrency control
- Papadimitriou
- 1986
(Show Context)
Citation Context ...y or a weaker correctness condition [11], work on detecting violations of sequential consistency within the memory system itself [14, 15], work on testing the serializability of database transactions =-=[31]-=-, work on detecting data races (e.g., [2, 23, 28, 29]), work on proving that weak memory systems provide sequential consistency for programs that are free of data races (e.g., [1, 20, 21]), work on te... |
| 147 | The MIT Alewife machine: a large-scale distributed-memory multiprocessor
- Agarwal, Chaiken, et al.
- 1992
(Show Context)
Citation Context ...ondition for multiprocessor memory systems. A memory system promising sequential consistency may fail to provide it for a number of reasons. First, high-performance shared-memory multiprocessors (cf. =-=[5, 7, 12, 27]-=-) employ a variety of techniques to improve their memory system performance (e.g., buffering, pipelining, caching, multiple paths to memory, parallel access to memory banks); these serve to distance t... |
| 146 | Two Techniques to Enhance the Performance of Memory Consistency Models
- Gharachorloo, Gupta, et al.
- 1991
(Show Context)
Citation Context ... help test whether the memory system is providing sequential consistency or a weaker correctness condition [11], work on detecting violations of sequential consistency within the memory system itself =-=[14, 15]-=-, work on testing the serializability of database transactions [31], work on detecting data races (e.g., [2, 23, 28, 29]), work on proving that weak memory systems provide sequential consistency for p... |
| 112 | Sequential Consistency versus Linearizability
- Attiya, Welch
- 1991
(Show Context)
Citation Context ...BONS AND E. KORACH termining minimal ordering constraints needed to preserve sequential consistency [33], and work on comparing implementations of sequential consistency versus linearizability (e.g., =-=[8]-=-). However, none of this work addresses the general testing questions considered in this paper. 1.1. The testing problems. During an execution of a parallel program on a given multiprocessor, processo... |
| 106 | Checking the correctness of memories
- Blum, Evans, et al.
- 1994
(Show Context)
Citation Context ...es (e.g., [2, 23, 28, 29]), work on proving that weak memory systems provide sequential consistency for programs that are free of data races (e.g., [1, 20, 21]), work on testing uniprocessor memories =-=[9]-=-, work on algorithms for testing data structures on uniprocessors (e.g., [10]), work on verifying specific properties of cache-coherence protocols (e.g., [32] and the references therein), work on comp... |
| 82 |
Reasoning About Parallel Architectures
- Collier
- 1992
(Show Context)
Citation Context ...problems. Other related previous work includes work on devising a suite of simple programs to help test whether the memory system is providing sequential consistency or a weaker correctness condition =-=[11]-=-, work on detecting violations of sequential consistency within the memory system itself [14, 15], work on testing the serializability of database transactions [31], work on detecting data races (e.g.... |
| 81 | Lazy Caching
- Afek, Brown, et al.
- 1993
(Show Context)
Citation Context ...rom an execution of a (very fast) serial memory in which only one read or write occurs at a time, in an order consistent with the respective sequences of reads and writes at the individual processors =-=[26, 3]-=-. Sequential consistency is the most widely used correctness condition for multiprocessor memory systems. A memory system promising sequential consistency may fail to provide it for a number of reason... |
| 78 | Improving the accuracy of data race detection
- Netzer, Miller
- 1991
(Show Context)
Citation Context ...work on detecting violations of sequential consistency within the memory system itself [14, 15], work on testing the serializability of database transactions [31], work on detecting data races (e.g., =-=[2, 23, 28, 29]-=-), work on proving that weak memory systems provide sequential consistency for programs that are free of data races (e.g., [1, 20, 21]), work on testing uniprocessor memories [9], work on algorithms f... |
| 69 | Detecting data races on weak memory systems
- Adve, Hill, et al.
- 1991
(Show Context)
Citation Context ...work on detecting violations of sequential consistency within the memory system itself [14, 15], work on testing the serializability of database transactions [31], work on detecting data races (e.g., =-=[2, 23, 28, 29]-=-), work on proving that weak memory systems provide sequential consistency for programs that are free of data races (e.g., [1, 20, 21]), work on testing uniprocessor memories [9], work on algorithms f... |
| 61 |
The KSR1: bridging the gap between shared memory and MPPs
- Frank, Burkhardt, et al.
- 1993
(Show Context)
Citation Context ...ondition for multiprocessor memory systems. A memory system promising sequential consistency may fail to provide it for a number of reasons. First, high-performance shared-memory multiprocessors (cf. =-=[5, 7, 12, 27]-=-) employ a variety of techniques to improve their memory system performance (e.g., buffering, pipelining, caching, multiple paths to memory, parallel access to memory banks); these serve to distance t... |
| 60 | Designing Memory Consistency Models for Shared-Memory Multiprocessors
- Adve
- 1993
(Show Context)
Citation Context ...tabase transactions [31], work on detecting data races (e.g., [2, 23, 28, 29]), work on proving that weak memory systems provide sequential consistency for programs that are free of data races (e.g., =-=[1, 20, 21]-=-), work on testing uniprocessor memories [9], work on algorithms for testing data structures on uniprocessors (e.g., [10]), work on verifying specific properties of cache-coherence protocols (e.g., [3... |
| 45 |
Proving Sequential Consistency of HighPerformance Shared Memories
- Gibbons, Merritt, et al.
- 1991
(Show Context)
Citation Context ...rovide only an approximation to sequential consistency, e.g., processor consistency, as a tradeoff for improved performance [16]. Fourth, shared-memory multiprocessors may support release consistency =-=[16, 21]-=-, which provides a sequentially consistent memory (only) for programs that are free of data races. (A data race occurs when two or more processors access the same location, with at least one writing, ... |
| 45 |
A New Approach to Exclusive Data Access in Shared Memory Multiprocessors
- Jensen, Hagensen, et al.
- 1987
(Show Context)
Citation Context ...er, we consider read, write, and read–modify–write operations. This is extended in [17, 19], where we also consider the load-reserved (a.k.a. load-linked, loadlocked) and store-conditional operations =-=[24]-=- appearing in many recent architectures. More generally, one can consider testing shared memories that support various data structures, such as priority queues. Finally, correctness conditions other t... |
| 44 |
Parallel program debugging with on-the-fly anomaly detection,” in Supercomputing ’90
- Hood, Kennedy, et al.
- 1990
(Show Context)
Citation Context ...work on detecting violations of sequential consistency within the memory system itself [14, 15], work on testing the serializability of database transactions [31], work on detecting data races (e.g., =-=[2, 23, 28, 29]-=-), work on proving that weak memory systems provide sequential consistency for programs that are free of data races (e.g., [1, 20, 21]), work on testing uniprocessor memories [9], work on algorithms f... |
| 34 | Detecting violations of sequential consistency
- Gharachorloo, Gibbons
- 1991
(Show Context)
Citation Context ... help test whether the memory system is providing sequential consistency or a weaker correctness condition [11], work on detecting violations of sequential consistency within the memory system itself =-=[14, 15]-=-, work on testing the serializability of database transactions [31], work on detecting data races (e.g., [2, 23, 28, 29]), work on proving that weak memory systems provide sequential consistency for p... |
| 34 | A New Approach for the Verification of Cache Coherence Protocols
- Pong, Dubois
- 1995
(Show Context)
Citation Context ...1]), work on testing uniprocessor memories [9], work on algorithms for testing data structures on uniprocessors (e.g., [10]), work on verifying specific properties of cache-coherence protocols (e.g., =-=[32]-=- and the references therein), work on computing with faulty shared memories [4], work on de1210 P. B. GIBBONS AND E. KORACH termining minimal ordering constraints needed to preserve sequential consis... |
| 29 | Compile-time support for efficient data race detection in sharedmemory parallel programs
- Mellor-Crummey
- 1993
(Show Context)
Citation Context ...work on detecting violations of sequential consistency within the memory system itself [14, 15], work on testing the serializability of database transactions [31], work on detecting data races (e.g., =-=[2, 23, 28, 29]-=-), work on proving that weak memory systems provide sequential consistency for programs that are free of data races (e.g., [1, 20, 21]), work on testing uniprocessor memories [9], work on algorithms f... |
| 22 |
Testing and Verifying Concurrent Objects
- Wing, Gong
- 1993
(Show Context)
Citation Context ...ting such memories. In particular, we present O(n log n)-time algorithms for several variants of the VL problem whose corresponding VSC variants are NP-complete. In an independent work, Wing and Gong =-=[34]-=- defined and studied the problem of testing and verifying linearizability for arbitrary shared data structures (e.g., a FIFO queue with push and pop operations). They developed a simulation environmen... |
| 20 | Computing with Faulty Shared Objects
- Afek, Greenberg, et al.
- 1995
(Show Context)
Citation Context ...ata structures on uniprocessors (e.g., [10]), work on verifying specific properties of cache-coherence protocols (e.g., [32] and the references therein), work on computing with faulty shared memories =-=[4]-=-, work on de1210 P. B. GIBBONS AND E. KORACH termining minimal ordering constraints needed to preserve sequential consistency [33], and work on comparing implementations of sequential consistency ver... |
| 20 | Specifying nonblocking shared memories - Gibbons, Merritt - 1992 |
| 18 | Checking mergeable priority queues
- Bright, Sullivan
- 1994
(Show Context)
Citation Context ... sequential consistency for programs that are free of data races (e.g., [1, 20, 21]), work on testing uniprocessor memories [9], work on algorithms for testing data structures on uniprocessors (e.g., =-=[10]-=-), work on verifying specific properties of cache-coherence protocols (e.g., [32] and the references therein), work on computing with faulty shared memories [4], work on de1210 P. B. GIBBONS AND E. K... |
| 16 | Relative serializability: An approach for relaxing the atomicity of transactions
- Agrawal, Bruno, et al.
- 1994
(Show Context)
Citation Context ...ess conditions other than linearizability and sequential consistency can be considered. A number of correctness conditions from the domain of database transactions have been previously studied (e.g., =-=[6, 25, 30]-=-). It would be interesting to develop a general theory encompassing a wide range of correctness conditions so that tradeoffs between the generality of a correctness condition and its complexity may be... |
| 14 |
On testing cache-coherent shared memories
- GIBBONS, KORACH
- 1994
(Show Context)
Citation Context ...mic results can be extended to handle atomic read–modify–write operations, with no asymptotic penalty. Our algorithms have small constants and hence are suitable for testing real shared memories (see =-=[17, 19]-=- for implementation details). Since this is the first paper to study these problems systematically, a number of our NP-completeness results are obtained using somewhat standard techniques. For more in... |
| 11 |
The complexity of sequential consistency
- Gibbons, Korach
- 1992
(Show Context)
Citation Context ...fically, a read-mapping, write-order, read&write only, and conflict-order. It also presents our extensions to handle atomic read-modify-write operations. Preliminary versions of this work appeared in =-=[18, 19]-=-. 2. Verifying sequential consistency. We begin this section with a proof that the VSC problem is NP-complete, even with only two operations per processor (section 2.1). Then the VSC problem is shown ... |
| 3 |
On the complexity of concurrency control using semantic information
- Krishnaswamy, Bruno
- 1992
(Show Context)
Citation Context ...ess conditions other than linearizability and sequential consistency can be considered. A number of correctness conditions from the domain of database transactions have been previously studied (e.g., =-=[6, 25, 30]-=-). It would be interesting to develop a general theory encompassing a wide range of correctness conditions so that tradeoffs between the generality of a correctness condition and its complexity may be... |
| 1 |
Testing for sequential consistency, in preparation
- Gibbons, Korach
(Show Context)
Citation Context ...mic results can be extended to handle atomic read–modify–write operations, with no asymptotic penalty. Our algorithms have small constants and hence are suitable for testing real shared memories (see =-=[17, 19]-=- for implementation details). Since this is the first paper to study these problems systematically, a number of our NP-completeness results are obtained using somewhat standard techniques. For more in... |








