Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Weak ordering—a new definition

Published: 01 May 1990 Publication History

Abstract

A memory model for a shared memory, multiprocessor commonly and often implicitly assumed by programmers is that of sequential consistency. This model guarantees that all memory accesses will appear to execute atomically and in program order. An alternative model, weak ordering, offers greater performance potential. Weak ordering was first defined by Dubois, Scheurich and Briggs in terms of a set of rules for hardware that have to be made visible to software.
The central hypothesis of this work is that programmers prefer to reason about sequentially consistent memory, rather than having to think about weaker memory, or even write buffers. Following this hypothesis, we re-define weak ordering as a contract between software and hardware. By this contract, software agrees to some formally specified constraints, and hardware agrees to appear sequentially consistent to at least the software that obeys those constraints. We illustrate the power of the new definition with a set of software constraints that forbid data races and an implementation for cache-coherent systems that is not allowed by the old definition.

References

[1]
S. V. ADVE and M. D. HILL. Weak Ordering - A New Definition And Some Implications, Computer Sciences Technical Report #902, University of Wisconsin, Madison, December 1989.
[2]
A. AGARWAL. R. SIMONI. M. HOROWITZ and J. HENNESSY, An Evaluation of Directory Schemes for Cache Coherence, 15th Annual International Symposium on Computer Architecture, Honolulu, Hawaii, June 1988.280-289.
[3]
J. ARCHIBALD and J. BAER, Cache Coherence Protocols: Evaluation Using a Multiprocessor Simulation Model, ACM Transactions on Computer Systems 4. 4 (November 1986). 273- 298.
[4]
P. A. BERNSTEIN and N. GOODMAN. Concurrency Control in Distributed Systems, Computing Surueys 13.2 (June, 1981). 185221.
[5]
R. BISIANI. A. NOWATZYK and M. RAMSHANKAR. Coherent Shared Memory on a Distributed Memory Machine, Proc. International Conference on Parallel Processing, August 1989, I-133-141.
[6]
W. C. BRANIZEY, K. P. MCAULJFFE and J. WEISS, RP3 Process-Memory Element, International Conference on Parallel Processing, August 1985. 772-781.
[7]
W. W. COLLIER, Architectures for Systems of Parallel Processes, Technical Report Tech. Rep. 00.3253, IBM Corp., Poughkeepsie, N.Y., 27 January 1984.
[8]
W. W. COLLIER, Reasoning about Parallel Architectures, Prentice-Hall, Inc., To appear 1990.
[9]
R. DE LEONE and 0. L. MANGASARIAN, Asynchronous Parallel Successive Over-relaxation for the Symmetric Linear Complementarity Problem, Mathematical Programming 42( 1988). 347-361.
[10]
M. DUBOIS, C. SCHEURICH and F. A. BRIGGS, Memory Access Buffering in Multiprocessors, Proc. Thirteenth Annual International Symposium on Computer Architecture 14. 2 (June 1986), 434-442.
[11]
M. DUBOIS, C. SCHEURICH and F. A. BRIGGS, Synchronization, Coherence, and Event Ordering in Multiprocessors, IEEE Computer 21, 2 (February 1988). 9-21.
[12]
J. R. GOODMAN, M. K. VERNON and P. J. WOEST. Efficient Synchronization Primitives for Large- Scale Cache-Coherent Multiprocessors, Proc. Third International Conference on Architectural Support for Programming Languages and Operating Systems, Boston, April 1989,64-75.
[13]
D. KROFT, Lockup-Free Instruction Fetch/Perfetch Cache Organization, Proc. Eighth Symposium on Computer Architecture, May 1981, 81-87.
[14]
L. LAMPORT. Time, Clocks, and the Ordering of Events in a Distributed System, Communications of the ACM 21.7 (July 1978). 558-565.
[15]
L. LAMPORT. How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs, IEEE Trans. on Computers C-28, 9 (September 1979). 690-691.
[16]
L. LAMPORT, The Mutual Exclusion Problem, Parts I and II, Journal of the Association of Computing Machinery 33. 2 (April 1986), 313- 348.
[17]
R. NEIZR and B. MILLER, Detecting Data Races in Parallel Program Executions, Computer Sciences Technical Report #894, University of Wiiconsin. Madison. November 1989.
[18]
C. PAPAD-OU, The Theory of Database Concurrency Control, Computer Science Press. Rockville, Maryland 20850.1986.
[19]
G. F. PZ;ISTER, W. C. BRANTLEY, D. A. GEORGE, S. L. HARVEY, W. J. QXINFELDER K. P. MCAULIFFE, E. A. MELTON, V. A. NORTON and J. WEISS, The IBM Research Parallel Processor Prototype (RP3): Introduction and Architecture, International Cogerence on Parallel Processing, August 1985.764-771.
[20]
L. RUDOLPH and Z. SEGALL, Dynamic Decentralized Cache Schemes for MIMD Parallel Processors, Proc. Eleventh International Symposium on Computer Architecture, June 1984, 340-347.
[21]
C. SCHEURICH and M. D~OIS, Correct Memory Operation of Cache-Based Multiprocessors, Proc. Fourteenth Annual International Symposium on Computer Architecture, Pittsburgh, PA, June 1987,234-243.
[22]
C. SCHEURICH and M. DUBOIS, Concurrent Miss Resolution in Multiprocessor Caches, Proceedings of the 1988 International Conference on Parallel Processing, University Park PA, August, 1988, I-l 18-125.
[23]
C. E. SCHBURICH, Access Ordering and Coherence in Shared Memory Multiprocessors, Ph.D. Thesis, Department of Computer Engineering. Technical Report CENG 89-19. University of Southern California, May 1989.
[24]
D. SHASHA and M. SNIR. Efficient and Correct Execution of Parallel Programs that Share Memory, ACM Trans. on Programming Languages and Systems 10, 2 (April 1988), 282- 312.

Cited By

View all
  • (2024)Formal Definitions and Performance Comparison of Consistency Models for Parallel File SystemsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.339105835:6(1092-1106)Online publication date: 18-Apr-2024
  • (2023)WARDen: Specializing Cache Coherence for High-Level Parallel LanguagesProceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization10.1145/3579990.3580013(122-135)Online publication date: 17-Feb-2023
  • (2023)IXIAM: ISA EXtension for Integrated Accelerator ManagementIEEE Access10.1109/ACCESS.2023.326426511(33768-33791)Online publication date: 2023
  • Show More Cited By

Index Terms

  1. Weak ordering—a new definition

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM SIGARCH Computer Architecture News
      ACM SIGARCH Computer Architecture News  Volume 18, Issue 2SI
      Special Issue: Proceedings of the 17th annual international symposium on Computer Architecture
      June 1990
      356 pages
      ISSN:0163-5964
      DOI:10.1145/325096
      Issue’s Table of Contents

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 01 May 1990
      Published in SIGARCH Volume 18, Issue 2SI

      Check for updates

      Author Tags

      1. sequential consistency
      2. shared-memory multiprocessor
      3. weak ordering

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)241
      • Downloads (Last 6 weeks)38
      Reflects downloads up to 21 Sep 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Formal Definitions and Performance Comparison of Consistency Models for Parallel File SystemsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.339105835:6(1092-1106)Online publication date: 18-Apr-2024
      • (2023)WARDen: Specializing Cache Coherence for High-Level Parallel LanguagesProceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization10.1145/3579990.3580013(122-135)Online publication date: 17-Feb-2023
      • (2023)IXIAM: ISA EXtension for Integrated Accelerator ManagementIEEE Access10.1109/ACCESS.2023.326426511(33768-33791)Online publication date: 2023
      • (2023)Performance Evaluation on Parallel Speculation-Based Construction of a Binary Search TreeInternational Journal of Networked and Distributed Computing10.1007/s44227-023-00013-w11:2(88-111)Online publication date: 8-Nov-2023
      • (2022)Relaxed Memory ConsistencyA Primer on Memory Consistency and Cache Coherence10.1007/978-3-031-01733-9_5(51-81)Online publication date: 18-Oct-2022
      • (2021)SherLock: unsupervised synchronization-operation inferenceProceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3445814.3446754(314-328)Online publication date: 19-Apr-2021
      • (2020)Deterministic Atomic Buffering2020 53rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)10.1109/MICRO50266.2020.00083(981-995)Online publication date: Oct-2020
      • (2020)Design-space evaluation for non-blocking synchronization in Ada: lock elision of protected objects, concurrent objects, and low-level atomicsJournal of Systems Architecture10.1016/j.sysarc.2020.101764(101764)Online publication date: Apr-2020
      • (2019)ReferencesConcurrency10.1145/3335772.3335940(319-333)Online publication date: 4-Oct-2019
      • (2019)Lazy Determinism for Faster Deterministic MultithreadingProceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3297858.3304047(879-891)Online publication date: 4-Apr-2019
      • 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