Synchronization, coherence, and event ordering in multiprocessors

@article{Dubois1988SynchronizationCA,
  title={Synchronization, coherence, and event ordering in multiprocessors},
  author={Michel Dubois and Christoph Scheurich and Faye A. Briggs},
  journal={Computer},
  year={1988},
  volume={21},
  pages={9-21}
}
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

Real-time synchronization protocols for shared memory multiprocessors
  • R. Rajkumar
  • Computer Science
    Proceedings.,10th International Conference on Distributed Computing Systems
  • 1990
TLDR
A priority-based synchronization protocol that explicitly uses shared-memory primitives is defined and analyzed, and the underlying priority consideration for a shared memory synchronization protocol are studied and priority assignments to be used by the protocol are derived.
Implementing Locks in Distributed-Memory Multiprocessors
TLDR
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
TLDR
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
TLDR
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 Lee, U. Ramachandran
  • Computer Science
    [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture
  • 1990
TLDR
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
TLDR
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.
The multiprocessor system with a fairly weighted global bus arbitration circuit
TLDR
It is shown that the addition of loosely coupled system features like private input-output devices and large local memories on a tightly coupled system exhibit characteristics such as high reliability and availability, ease of expansion, easeof programming, economy, and significantly higher performance over a comparable class of uniprocessor systems.
Architecture, design, and performance of Application System/400 (AS/400) multiprocessors
TLDR
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
...
...

References

SHOWING 1-10 OF 19 REFERENCES
Cache coherence protocols: evaluation using a multiprocessor simulation model
TLDR
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
TLDR
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
TLDR
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
TLDR
The subject of program control structures is turned to to determine what characterizes parallel programming.
Essential Issues in Multiprocessor Systems
TLDR
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
TLDR
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
TLDR
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,
...
...