Journal of Computer Science and Technology

, Volume 13, Issue 2, pp 125–140 | Cite as

Out-of-order execution in sequentially consistent shared-memory systems: Theory and experiments

  • Hu Weiwu 
  • Xia Peisu 


Traditional implementation of sequential consistency in shared-memory systems requires memory accesses to be globally performed in program order. Based on an event ordering model for correct executions in shared-memory systems, this paper proposes and proves that out-of-order execution does not influence the correctness of an execution providing certain condition is met. Simulation results show that out-of-order execution proposed in this paper is an effective way to improve the performance of a sequentially consistent shared-memory system.


Shared memory sequential consistency event ordering write atomic, out-of-order execution, simulation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Lamport L. How to make a multiprocessor computer that correctly executes multiprocessor programs.IEEE Transactions on Computers, 1979, C-28(9): 690–691.MATHCrossRefGoogle Scholar
  2. [2]
    Gharachorloo K, Lenoski D, Laudon Jet al. Memory consistency and event ordering in scalable shared-memory multiprocessors. InProceedings of the 17th Annual International Symposium on Computer Architecture, 1990, pp.15–26.Google Scholar
  3. [3]
    Shasha D, Snir M. Efficient and correct execution of parallel programs that share memory.ACM Transactions on Programming Languages and System, 1988, 10(2): 282–312.CrossRefGoogle Scholar
  4. [4]
    Scheurich C, Dubois M. Correct memory operation of cached-based multiprocessors. InProceedings of the 14th Annual International Symposium on Computer Architecture, 1987, pp.234–243.Google Scholar
  5. [5]
    Coller W. Reasoning About Parallel Architectures. Englewood Cliffs (ed.), NJ: Prentice-Hall, 1992.Google Scholar
  6. [6]
    Archibald J, Baer J. Cache coherence protocols: evaluation using a multiprocessor simulation model.ACM Transactions on Computer Systems, 1986, 4: 273–298.CrossRefGoogle Scholar
  7. [7]
    Tomasevic M, Milutinovic V. A simulation study of snoopy cache coherence protocols. InProceedings of the 25th Hawaii International Conference on System Sciences, 1992, pp.427–436.Google Scholar
  8. [8]
    Dubios M, Briggs F. Effects of csche coherence in multiprocessors.IEEE Transaction on Computers, 1982, C-31(11): 1083–1099.CrossRefGoogle Scholar
  9. [9]
    Dubios M, Scheurich C, Briggs F. Memory access buffering in multiprocessors. InProceedings of the 13th International Symposium on Computer Architecture, 1986, pp.434–442.Google Scholar
  10. [10]
    Dubios M, Scheurich C, Briggs F. Synchronization, coherence, and event ordering in multiprocessors.Computer, 1988, 21(2): 9–21.CrossRefGoogle Scholar
  11. [11]
    Adve S, Hill M. Weak Ordering: A new definition. InProceedings of the 17th Annual International Symposium on Computer Architecture, 1990, pp.1–14.Google Scholar
  12. [12]
    Goodman J. Cache Consistency and sequential consistency.Technical Report No. 61, SCI Committee, March 1989.Google Scholar
  13. [13]
    Gharachorloo K, Gupta A, Hennessy J. Two techniques to enhance the performance of memory consistency models. InProceedings of the 1991 International Conference on Parallel Processing, 1991, pp.I-335-I-364.Google Scholar
  14. [14]
    Herbert B. Enderton. Elements of Set Theory. London: Academic Press, Inc. Ltd., 1977.Google Scholar
  15. [15]
    Lenoski D, Laudon J, Gharachorloo Get al. The directory-based cache coherence protocol for the DASH multiprocessors. InProceedings of the 17th Annual International Symposium on Computer Architecture, 1990, pp.148–158.Google Scholar

Copyright information

© Science Press, Beijing China and Allerton Press Inc. 1998

Authors and Affiliations

  1. 1.Institute of Computing TechnologyChinese Academy of SciencesBeijingP.R. China

Personalised recommendations