Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/181014.181328acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
Article
Free access

On testing cache-coherent shared memories

Published: 01 August 1994 Publication History

Abstract

Sequential consistency is the most-widely used correctness condition for multiprocessor memory systems. High-performance shared memory multiprocessors such as the Kendall Square KSR1, the Stanford DASH, and the MIT Alewife employ a variety of techniques to improve memory system performance while providing sequential consistency. Primary among them is the use of caches at each processor, kept coherent by protocols implemented in hardware.
We study the problem of testing shared memory multiprocessors to determine if they are indeed providing a sequentially consistent memory. We present a series of results for testing an execution of a shared memory under scenarios that exploit the cache-coherence protocol. In addition to reads and writes to the shared memory, we consider the more powerful read-modify-write, load-reserved, and store-conditional operations available in many cache-coherent multiprocessors.
Finally, we consider linearizability, another well-known correctness condition for shared memories. Linearizability imposes additional restrictions on the shared memory, beyond that of sequential consistency; we show that these restrictions are useful in testing such memories.

References

[1]
Y. Afek, G. M. Brown, and M. Merritt. Lazy caching. A CM Trans. on Programming Languages and Systems, 15(1):182-205, 1993.
[2]
R. Alverson, D. Callahan, D. Cummings, B. Koblenz, A. Porterfield, and B. Smith. The Tern computer system. In Proc. 1990 International Conf. on Supercomputing, pages 1-6, November 1990.
[3]
A. Agarwal, D. Chaiken, G. D'Souza, K. Johnson, D. Kranz, J. Kubiatowicz, K. Kurihara, B.-H. Lira, G. Man, D. Nussbaum, M. Parkin, and D. Yeung. The MIT Alewife machine: A large-scale distributed-memory multiprocessor. In Proc. Workshop on Scalable Shared Memory Multiprocessors, 1991. Kluwer Academic Publishers.
[4]
S. V. Adve. Designing Memory Consistency Models for Shared-Memory Multiprocessots. PhD thesis, University of Wisconsin- Madison, December 1993.
[5]
S. V. Adve, M. D. Hill, B. P. Miller, and R. H. B. Netzer. Detecting data races on weak memory systems. In Proc. 18th International Syrup. on Computer Architecture, pages 234- 243, May 1991.
[6]
H. Attiya and J. Welch. Sequential consistency versus linearizability. In Proc. 3rd A CM Syrup. on Parallel Algorithms and Architectures, pages 304-315, July 1991.
[7]
G. Barnes. A method for implementing lockfree shared data structures. In Proc. 5th ACM Syrup. on Parallel Algorithms and Architectures, pages 261-270, June-July 1993.
[8]
M. Blum, W. Evans, P. GemmelI, S. Kannan, and M. N aor. Checking the correctness of memories, in Proc. 32nd IEEE Syrup. on Foundations of Computer Science, pages 90-99, October 1991.
[9]
S. Frank, H. Burkhardt III, and J. Rothnie. The KSRI: Bridging the gap between shared memory and MPPs. In Proc. Compcon '93, pages 285-294, February 1993.
[10]
K. Gharachorloo and P. B. Gibbons. Detecting violations of sequential consistency. In Proc. 3rd A CM Syrup. on Parallel Algorithms and Architectures, pages 316-326, July 1991.
[11]
K. Gharachorloo, A. Gupta, and J. Hennessy. Two techniques to enhance the performance of memory consistency models. In Proc. 1991 International Conf. on Parallel Processing, pages i:355-364, August 1991.
[12]
M.R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP- Completeness. W. H. Freeman and Company, New York, 1979.
[13]
P.B. Gibbons and E. Korach. The complexity of sequential consistency. In Proc. $th IEEE Syrup. on Parallel and Distributed Processing, pages 317-325, December 1992. Extended version available as "The complexity of verifying sequential consistency", Technical report, AT&T Bell Laboratories, Murray Hill NJ, May 1992.
[14]
P.B. Gibbons and E. Korach. New results on the complexity of sequential consistency. Technical report, AT&T Bell Laboratories, Murray Hill N J, September 1993.
[15]
P.B. Gibbons and E. Korach. The complexity of linearizability. Technical report, AT&T Bell Laboratories, Murray Hill NJ, April 1994.
[16]
K. Gharachorloo, D. Lenoski, J. Laudon, P. Gibbons, A. Gupta, and J. Hennessy. Memory consistency and event ordering in scalable sharedmemory multiprocessors. In Proc. 17th International Syrup. on Computer Architecture, pages 15-26, May 1990.
[17]
P.B. Gibbons and M. Merritt. Specifying nonblocking shared memories. In Proc. 4th A CM Syrup. on Parallel Algorithms and Architectures, pages 306-315, June-July 1992.
[18]
P.B. Gibbons, M. Merritt, and K. Gharachorloo. Proving sequential consistency of highperformance shared memories. In Proc. 3rd A CM Syrup. on Parallel Algorithms and Architectures, pages 292-303, July 1991.
[19]
M.P. Herlihy. A methodology for implementing highly concurrent data objects. Technical Report CRL 91/10, DEC Cambridge Reseach Laboratory, October 1991.
[20]
M.P. Herlihy. Wait-free synchronization. A CM Trans. on Programming Languages and Systems, 13(1):124-149, 1991.
[21]
R. Hood, K. Kennedy, and J. Mellor-Crummey. Parallel program debugging with on-the-fly anomaly detection. In Proc. 1990 International Conf. on Supercomputing, pages 74-81, November 1990.
[22]
M.P. Herlihy and J. M. Wing. Linearizability" A correctness condition for concurrent objects. A CM Trans. on Programming Languages and Systems, 12(3):463-492, 1990.
[23]
E.H. Jensen, G. W. Hagensen, and J. M. Broughton. A new approach to exclusive data access in shared memory multiprocessors. Technical Report UCRL-97663, Lawrence Livermore National Laboratory, November 1987.
[24]
L. Lamport. How to make a multiprocessor computer that correctly executes multiprocess programs. 1EEE Trans. on Computers, C- 28(9):690-691, 1979.
[25]
D. Lenoski, J. Laudon, K. Gharachorloo, W.- D. Weber, A. Gupta, J. Hennessy, M. Horowitz, and M. S. Lam. The Stanford DASH multiprocessor. IEEE Computer, 25(3):63-79, 1992.
[26]
J. Mellor-Crummey. Compile-time support for efficient data race detection in shared-memory parallel programs. In Proc. 3rd A CM/ONR Workshop on Parallel and Distributed Debugging, pages 129-139, May 1993.
[27]
R.H.B. Netzer and B. P. Miller. Improving the accuracy of data race detection, in Proc. 3rd A CM Syrup. on Principles and Practice o/ Parallel Programming, pages 133-144, April 1991.
[28]
C. Papadimitriou. The Theory of Database Concurrency Control. Computer Science Press, 1986.
[29]
F. Pong and M. Dubois. The verification of cache coherence protocols. In Proc. 5th A CM Syrup. on Parallel Algorithms and Architectures, pages 11-20, June-July 1993.
[30]
D. Shasha and M. Snir. Efficient and correct execution of parallel programs that share memory. Trans. on Programming Languages and Systems, 10(2):282-312, 1988.

Cited By

View all
  • (2024)How Hard Is Weak-Memory Testing?Proceedings of the ACM on Programming Languages10.1145/36329088:POPL(1978-2009)Online publication date: 5-Jan-2024
  • (2024)Coarser Equivalences for Causal ConcurrencyProceedings of the ACM on Programming Languages10.1145/36328738:POPL(911-941)Online publication date: 5-Jan-2024
  • (2016)A consistency checker for memory subsystem tracesProceedings of the 16th Conference on Formal Methods in Computer-Aided Design10.5555/3077629.3077654(133-140)Online publication date: 3-Oct-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPAA '94: Proceedings of the sixth annual ACM symposium on Parallel algorithms and architectures
August 1994
374 pages
ISBN:0897916719
DOI:10.1145/181014
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 August 1994

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

6SPAA94
Sponsor:

Acceptance Rates

Overall Acceptance Rate 447 of 1,461 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)59
  • Downloads (Last 6 weeks)9
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)How Hard Is Weak-Memory Testing?Proceedings of the ACM on Programming Languages10.1145/36329088:POPL(1978-2009)Online publication date: 5-Jan-2024
  • (2024)Coarser Equivalences for Causal ConcurrencyProceedings of the ACM on Programming Languages10.1145/36328738:POPL(911-941)Online publication date: 5-Jan-2024
  • (2016)A consistency checker for memory subsystem tracesProceedings of the 16th Conference on Formal Methods in Computer-Aided Design10.5555/3077629.3077654(133-140)Online publication date: 3-Oct-2016
  • (2016)A consistency checker for memory subsystem traces2016 Formal Methods in Computer-Aided Design (FMCAD)10.1109/FMCAD.2016.7886671(133-140)Online publication date: Oct-2016
  • (2014)Efficiently and Completely Verifying Synchronized Consistency ModelsAutomated Technology for Verification and Analysis10.1007/978-3-319-11936-6_20(264-280)Online publication date: 2014
  • (2013)Deterministic Replay Using Global ClockACM Transactions on Architecture and Code Optimization10.1145/2445572.244557310:1(1-28)Online publication date: 1-Apr-2013
  • (2012)Program Regularization in Memory Consistency VerificationIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2012.4423:11(2163-2174)Online publication date: 1-Nov-2012
  • (2012)Linear Time Memory Consistency VerificationIEEE Transactions on Computers10.1109/TC.2011.4161:4(502-516)Online publication date: 1-Apr-2012
  • (2011)Brief announcementProceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures10.1145/1989493.1989535(265-266)Online publication date: 4-Jun-2011
  • (2010)LReplayACM SIGARCH Computer Architecture News10.1145/1816038.181598538:3(187-197)Online publication date: 19-Jun-2010
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media