The document discusses cache coherence in multiprocessor systems. It describes the cache coherence problem that can arise when multiple processors have caches and can access shared memory. It then summarizes two primary hardware solutions: directory protocols which maintain information about which caches hold which memory lines; and snoopy cache protocols where cache controllers monitor bus traffic to maintain coherence without a directory. Finally it mentions a software-based solution relying on compiler analysis and operating system support.
Caches in multiprocessing environment introduce the Cache Coherence problem.
When multiple processors maintain locally cached copies of a unique shared memory location, any local modification of the location can result in a globally inconsistent view of memory. This is called Cache Coherence Problem.
A brief discussion about its solutions are given.
Multiprocessor system is an interconnection of two or more CPUs with memory and input-output equipment
The components that forms multiprocessor are CPUs IOPs connected to input –output devices , and memory unit that may be partitioned into a number of separate modules.
Multiprocessor are classified as multiple instruction stream, multiple data stream (MIMD) system.
Caches in multiprocessing environment introduce the Cache Coherence problem.
When multiple processors maintain locally cached copies of a unique shared memory location, any local modification of the location can result in a globally inconsistent view of memory. This is called Cache Coherence Problem.
A brief discussion about its solutions are given.
Multiprocessor system is an interconnection of two or more CPUs with memory and input-output equipment
The components that forms multiprocessor are CPUs IOPs connected to input –output devices , and memory unit that may be partitioned into a number of separate modules.
Multiprocessor are classified as multiple instruction stream, multiple data stream (MIMD) system.
About Cache Memory
working of cache memory
levels of cache memory
mapping techniques for cache memory
1. direct mapping techniques
2. Fully associative mapping techniques
3. set associative mapping techniques
Cache memroy organization
cache coherency
every thing in detail
DSM system
Shared memory
On chip memory
Bus based multiprocessor
Working through cache
Write through cache
Write once protocol
Ring based multiprocessor
Protocol used
Similarities and differences b\w ring based and bus based
File Replication : High availability is a desirable feature of a good distributed file system and file replication is the primary mechanism for improving file availability. Replication is a key strategy for improving reliability, fault tolerance and availability. Therefore duplicating files on multiple machines improves availability and performance.
Replicated file : A replicated file is a file that has multiple copies, with each copy located on a separate file server. Each copy of the set of copies that comprises a replicated file is referred to as replica of the replicated file.
Replication is often confused with caching, probably because they both deal with multiple copies of data. The two concepts has the following basic differences:
A replica is associated with server, whereas a cached copy is associated with a client.
The existence of cached copy is primarily dependent on the locality in file access patterns, whereas the existence of a replica normally depends on availability and performance requirements.
Satynarayanana [1992] distinguishes a replicated copy from a cached copy by calling the first-class replicas and second-class replicas respectively
About Cache Memory
working of cache memory
levels of cache memory
mapping techniques for cache memory
1. direct mapping techniques
2. Fully associative mapping techniques
3. set associative mapping techniques
Cache memroy organization
cache coherency
every thing in detail
DSM system
Shared memory
On chip memory
Bus based multiprocessor
Working through cache
Write through cache
Write once protocol
Ring based multiprocessor
Protocol used
Similarities and differences b\w ring based and bus based
File Replication : High availability is a desirable feature of a good distributed file system and file replication is the primary mechanism for improving file availability. Replication is a key strategy for improving reliability, fault tolerance and availability. Therefore duplicating files on multiple machines improves availability and performance.
Replicated file : A replicated file is a file that has multiple copies, with each copy located on a separate file server. Each copy of the set of copies that comprises a replicated file is referred to as replica of the replicated file.
Replication is often confused with caching, probably because they both deal with multiple copies of data. The two concepts has the following basic differences:
A replica is associated with server, whereas a cached copy is associated with a client.
The existence of cached copy is primarily dependent on the locality in file access patterns, whereas the existence of a replica normally depends on availability and performance requirements.
Satynarayanana [1992] distinguishes a replicated copy from a cached copy by calling the first-class replicas and second-class replicas respectively
MODULE III Parallel Processors and Memory Organization 15 Hours
Parallel Processors: Introduction to parallel processors, Concurrent access to memory and cache
coherency. Introduction to multicore architecture. Memory system design: semiconductor memory
technologies, memory organization. Memory interleaving, concept of hierarchical memory
organization, cache memory, cache size vs. block size, mapping functions, replacement
algorithms, write policies.
Case Study: Instruction sets of some common CPUs - Design of a simple hypothetical CPU- A
sequential Y86-64 design-Sun Ultra SPARC II pipeline structure
Parallel Processing & Pipelining in Computer Architecture_Prof.Sumalatha.pptx
Cache coherence
1. Cache Coherence for
Multiprocessors
Presented by Adesh Mishra
Reg. No.:1111427
Roll No.:RD1107A44
2. • Shared-Memory Multiprocessor
all processor share a common memory,
each processor have own cache.
• Cache Coherence Problem
• Solutions to Cache Coherence
– Hardware
• Policies
• Two Primary Categories
– Software
4. Cache Coherence Problem
• Multiple copy of the same data can exist in the different
caches simultaneously,
• and if processors allowed to update their own copies freely,
an inconsistent view of memory can result.
• Write policies : write back, write through
->In the write back policy only cache is updated and the location
marked so that it can be copied later into main memory.
->In the write through policy cache and main memory are
updated with every write operation.
5. Solutions to Cache Coherence
• Hardware Solution : in hardware solution the cache
controller specify designed to allow it to monitor all bus
requests from CPUs and IOPs.
->Directory protocol :
>it collect & maintain the information about copies of lines
reside .
>contain the information about content of various local
caches.
>keeping the information up-to-date.
>manage the information which caches copy of which line.
Drawback – only for less buses not large scale system
6. Snoopy Cache Protocol
->distributed responsibility for maintaining cache coherence
among all of the cache controller in the multiprocessor.
Basic Approach: write invalid & write update.
• Write invalid protocol – there can be multiple readers but
only one writer at a time, only one cache can write to the line.
• Write update protocol – there can be multiple writer as
well as multiple readers.
->when a processor wishes to update a shared line, the word to
be distributed to all others, and caches containing that line
can update it.
7. Software cache solution
• in the software based protocol relying on the operating
system and Compiler.
• Compiler-based coherence mechanisms performed an
analysis on the code to determine which data items become
unsafe for caching, and the mark those item accordingly.
• The operating system prevent any non-cacheable items from
being cached.
• Software Approaches are attractive because to overhead of
detecting potential problems is transferred run time to
compile time.