Synchronization, coherence, and event ordering in multiprocessors

  title={Synchronization, coherence, and event ordering in multiprocessors},
  author={Michel Dubois and Christoph Scheurich and Faye A. Briggs},
The problems addressed apply to both throughput-oriented and speedup-oriented multiprocessor systems, either at the user level or the operating-system level. basic definitions are provided. Communication and synchronization are briefly explained, and hardware-level and software-level synchronization mechanisms are discussed. The cache coherence problem is examined, and solutions are described. Strong and weak ordering of events is considered. The user interface is discussed.<<ETX>> 

Figures and Tables from this paper

Implementing Locks in Distributed-Memory Multiprocessors
Synchronization between cooperating processes in a uniprocessor system has been investigated for many years, and exclusive access in critical sections of a program must be guaranteed, which requires support in the three major system levels.
Memory Access Dependencies in Shared-Memory Multiprocessors
The problem of implementing a given logical concurrency model in such a multiprocessor is addressed, and simple rules are introduced to verify that a multip rocessor architecture adheres to the models.
Design and lmplementation of a Multi-Cache System on a Loosely Coupled Multiprocessor
  • B. Rochat
  • Computer Science
    Proceedings of the Fifth Distributed Memory Computing Conference, 1990.
  • 1990
This paper explores the design and implementation of a generalized virtual memory and emphasizes data sharing management in loosely coupled multiprocessor memory hierarchy.
Synchronization with multiprocessor caches
  • Joonwon LeeU. Ramachandran
  • Computer Science
    [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture
  • 1990
A new lock-based cache scheme which incorporates synchronization into the cache coherency mechanism is presented and it is shown that that authors' lock- based protocol outperforms existing cache protocols.
Hardware approaches to cache coherence in shared-memory multiprocessors. 2
The coherence problem in multilevel cache hierarchies and large-scale, shared-memory multiprocessors and the principles of the two major groups of hardware protocols are discussed and relevant representatives are summarized.
Architecture, design, and performance of Application System/400 (AS/400) multiprocessors
The paper describes how this multitasking system, originally designed as a uniprocessor system, was modified to form a multiprocessors system, using relatively atomic Instructions, required a minimum of change while providing significant performance gains.
Cache Architectures in Tightly Coupled Multiprocessors
M ultiprocessing is apopularway to increase system computing power beyond the limit of current uniprocessor technology. In a multiprocessor, multiple instruction streams execute in parallel and
Distributed shared memory: a survey of issues and algorithms
An overview of distributed shared memory issues covers memory coherence, design choices, and implementation methods, and algorithms that support process synchronization and memory management are discussed.
LimitLESS directories: A scalable cache coherence scheme
The LimitLESS scheme uses a combination of hardware and software techniques to realize the performance of a full-map directory with the memory overhead of a limited directory, supported by Alewife, a large-scale multiprocessor.
A hardware cache coherency scheme for multiprocessors
  • P. RajaS. Ganesan
  • Computer Science
    Proceedings of 36th Midwest Symposium on Circuits and Systems
  • 1993
A hardware cache coherency scheme for shared memory multiprocessors that allows one to split Cache Coherency operations between the participating processors and its design details are discussed.


Cache coherence protocols: evaluation using a multiprocessor simulation model
The magnitude of the potential performance difference between the various approaches indicates that the choice of coherence solution is very important in the design of an efficient shared-bus multiprocessor, since it may limit the number of processors in the system.
A New Solution to Coherence Problems in Multicache Systems
A memory hierarchy has coherence problems as soon as one of its levels is split in several independent units which are not equally accessible from faster levels or processors. The classical solution
High-Speed Multiprocessors and Compilation Techniques
The purpose of this paper is to present some ideas on multiprocessor design and on automatic translation of sequential programs into parallel programs for multiprocessors. With respect to machine
Correct memory operation of cache-based multiprocessors
It is shown that cache coherence protocols can implement indivisible synchronization primitives reliably and can also enforce sequential consistency and it is shown how such protocols can implementation atomic READ&MODIFY operations for synchronization purposes.
How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs
  • L. Lamport
  • Computer Science
    IEEE Transactions on Computers
  • 1979
Many large sequential computers execute operations in a different order than is specified by the program, and a correct execution by each processor does not guarantee the correct execution of the entire program.
Experience Using Multiprocessor Systems—A Status Report
The subject of program control structures is turned to to determine what characterizes parallel programming.
Essential Issues in Multiprocessor Systems
A suitable classification scheme for comparing these architectures with the aim of determining the predominant importance of new parallel algorithms for enhancement of computer performance is proposed.
Concepts and Notations for Concurrent Programming
This paper identifies the major concepts and describes some of the more important language notations for writing concurrent programs and three general classes of concurrent programming languages are identified and compared.
Using cache memory to reduce processor-memory traffic
It is demonstrated that a cache exploiting primarily temporal locality (look-behind) can indeed reduce traffic to memory greatly, and introduce an elegant solution to the cache coherency problem.
Cache Memories
design issues. Specific aspects of cache memories tha t are investigated include: the cache fetch algorithm (demand versus prefetch), the placement and replacement algorithms, line size,