Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
The cache coherence problem in shared-memory multiprocessors
Publisher:
  • University of Washington
  • Computer Science Dept. Fr-35 112 Sieg Hall Seattle, WA
  • United States
Order Number:UMI Order No. GAX87-06505
Reflects downloads up to 22 Sep 2024Bibliometrics
Skip Abstract Section
Abstract

Shared-memory multiprocessors offer increased computational power and the programmability of the shared-memory model. However, sharing memory between processors leads to contention which delays memory accesses. Adding a cache memory for each processor reduces the average access time, but it creates the possibility of inconsistency among cached copies. The cache coherence problem is keeping all cached copies of the same memory location identical. This dissertation explores possible solutions to the cache coherence problem and identifies cache coherence protocols--solutions implemented entirely in hardware--as an attractive alternative.

Protocols for shared-bus systems are shown to be an interesting special case. Previously proposed shared-bus protocols are described using uniform terminology, and they are shown to divide into two categories: invalidation and distributed write. In invalidation protocols all other cached copies must be invalidated before any copy can be changed; in distributed write protocols all copies must be updated each time a shared block is modified. In each category, a new protocol is presented with better performance than previous schemes, based on simulation results. The simulation model and parameters are described in detail.

Previous protocols for general interconnection networks are shown to contain flaws and to be costly to implement. A new class of protocols is presented that offers reduced implementation cost and expandability, while retaining a high level of performance, as illustrated by simulation results using a crossbar switch. All new protocols have been proven correct; one of the proofs is included.

Previous definitions of cache coherence are shown to be inadequate and a new definition is presented. Coherence is compared and contrasted with other levels of consistency, which are also identified. The consistency of shared-bus protocols is shown to be naturally stronger than that of non-bus protocols.

The first protocol of its kind is presented for a large hierarchical multiprocessor, using a bus-based protocol within each cluster and a general protocol in the network connecting the clusters to the shared main memory.

Cited By

  1. Heinrich M, Soundararajan V, Hennessy J and Gupta A (1999). A Quantitative Analysis of the Performance and Scalability of Distributed Shared Memory Cache Coherence Protocols, IEEE Transactions on Computers, 48:2, (205-217), Online publication date: 1-Feb-1999.
  2. Giorgi R and Prete C (1999). PSCR, IEEE Transactions on Parallel and Distributed Systems, 10:7, (742-763), Online publication date: 1-Jul-1999.
  3. ACM
    Min S and Choi J An efficient cache-based access anomaly detection scheme Proceedings of the fourth international conference on Architectural support for programming languages and operating systems, (235-244)
  4. ACM
    Min S and Choi J (1991). An efficient cache-based access anomaly detection scheme, ACM SIGPLAN Notices, 26:4, (235-244), Online publication date: 2-Apr-1991.
  5. ACM
    Min S and Choi J (1991). An efficient cache-based access anomaly detection scheme, ACM SIGOPS Operating Systems Review, 25:Special Issue, (235-244), Online publication date: 2-Apr-1991.
  6. ACM
    Min S and Choi J (1991). An efficient cache-based access anomaly detection scheme, ACM SIGARCH Computer Architecture News, 19:2, (235-244), Online publication date: 2-Apr-1991.
  7. ACM
    Simoni R and Horowitz M Modeling the performance of limited pointers directories for cache coherence Proceedings of the 18th annual international symposium on Computer architecture, (309-319)
  8. ACM
    Simoni R and Horowitz M (1991). Modeling the performance of limited pointers directories for cache coherence, ACM SIGARCH Computer Architecture News, 19:3, (309-319), Online publication date: 1-May-1991.
  9. ACM
    Min S, Baer J and Kim H (1990). An efficient caching support for critical sections in large-scale shared-memory multiprocessors, ACM SIGARCH Computer Architecture News, 18:3b, (34-47), Online publication date: 1-Sep-1990.
  10. ACM
    Min S, Baer J and Kim H An efficient caching support for critical sections in large-scale shared-memory multiprocessors Proceedings of the 4th international conference on Supercomputing, (34-47)
  11. ACM
    Cox A and Fowler R The implementation of a coherent memory abstraction on a NUMA multiprocessor: experiences with platinum Proceedings of the twelfth ACM symposium on Operating systems principles, (32-44)
  12. ACM
    Cox A and Fowler R (1989). The implementation of a coherent memory abstraction on a NUMA multiprocessor: experiences with platinum, ACM SIGOPS Operating Systems Review, 23:5, (32-44), Online publication date: 1-Nov-1989.
  13. ACM
    Marquardt D and Alkhatib H C2MP: a cache-coherent, distributed memory multiprocessor-system Proceedings of the 1989 ACM/IEEE conference on Supercomputing, (466-475)
  14. ACM
    Archibald J A cache coherence approach for large multiprocessor systems Proceedings of the 2nd international conference on Supercomputing, (337-345)
Contributors
  • Brigham Young University

Recommendations