Podcast
Questions and Answers
Describe the differences between snoop-based coherence protocols and directory based protocols?
Describe the differences between snoop-based coherence protocols and directory based protocols?
In snoop-based protocols, all processors monitor (or "snoop") a shared communication medium (typically a bus) to detect changes in the cache lines. In directory-based protocols, A directory keeps track of the state of each cache line and which processors have copies of it. The directory can be centralized or distributed across multiple nodes. Snoop based protocols work well for small systems, but as the number of processors grow, directory based protocols perform better.
Directory based coherence protocols use broadcasts.
Directory based coherence protocols use broadcasts.
False
What is the main reason to implement a directory based coherence protocol over a snoop/broadcast based protocol?
What is the main reason to implement a directory based coherence protocol over a snoop/broadcast based protocol?
scalability
Describe a point-to--point interconnection
Describe a point-to--point interconnection
Signup and view all the answers
Name the two requirements to maintain cache coherence and define them.
Name the two requirements to maintain cache coherence and define them.
Signup and view all the answers
Match the terms to their definitions.
Match the terms to their definitions.
Signup and view all the answers
Match each term to it's definition
Match each term to it's definition
Signup and view all the answers
What two things does transaction serialization require?
What two things does transaction serialization require?
Signup and view all the answers
Well-tuned applications exhibit read/write data sharing between processors.
Well-tuned applications exhibit read/write data sharing between processors.
Signup and view all the answers
Picture a 4 processor system directory-based system. Block B is stored in P3's cache in the Modified state. P0 wishes to read Block B. List the order of events.
Picture a 4 processor system directory-based system. Block B is stored in P3's cache in the Modified state. P0 wishes to read Block B. List the order of events.
Signup and view all the answers
Picture a 4 processor directory-based system. Block C is cached in the Shared state in P0, P1, and P2. P0 wishes to write to Block C. List the events that occur.
Picture a 4 processor directory-based system. Block C is cached in the Shared state in P0, P1, and P2. P0 wishes to write to Block C. List the events that occur.
Signup and view all the answers
How many and what states does the directory hold if using the MESI protocol?
How many and what states does the directory hold if using the MESI protocol?
Signup and view all the answers
What formats can the directory keep cache states in? (Select all that apply)
What formats can the directory keep cache states in? (Select all that apply)
Signup and view all the answers
Calculate the storage overhead of using a full bit vector format of the directory in a directory-based cache? Assume: 1024 caches, 64B block size, group size of 4
Calculate the storage overhead of using a full bit vector format of the directory in a directory-based cache? Assume: 1024 caches, 64B block size, group size of 4
Signup and view all the answers
Calculate the storage overhead of using a coarse bit vector format of the directory in a directory-based cache? Assume: 1024 caches, 64B block size, group size of 4
Calculate the storage overhead of using a coarse bit vector format of the directory in a directory-based cache? Assume: 1024 caches, 64B block size, group size of 4
Signup and view all the answers
Calculate the storage overhead of using a limited pointer format of the directory in a directory-based cache? Assume: 1024 caches, 64B block size, group size of 4, we keep 8 pointers
Calculate the storage overhead of using a limited pointer format of the directory in a directory-based cache? Assume: 1024 caches, 64B block size, group size of 4, we keep 8 pointers
Signup and view all the answers
Explain how a full-bit vector format works for a directory-based cache coherence.
Explain how a full-bit vector format works for a directory-based cache coherence.
Signup and view all the answers
Explain how a coarse bit directory format works for directory-based cache?
Explain how a coarse bit directory format works for directory-based cache?
Signup and view all the answers
Explain how limited pointer format works for directory-based caches. Give an example of how this would work for 1024 processors in a system, with n = 4.
Explain how limited pointer format works for directory-based caches. Give an example of how this would work for 1024 processors in a system, with n = 4.
Signup and view all the answers
Explain what the sparse directory format is. What is one limitation of this format?
Explain what the sparse directory format is. What is one limitation of this format?
Signup and view all the answers
Explain the difference between a centralized configuration vs a distributed configuration of the directory location in a directory-based cache system?
Explain the difference between a centralized configuration vs a distributed configuration of the directory location in a directory-based cache system?
Signup and view all the answers
Give two examples of other directory formats other than the 4 discussed in class?
Give two examples of other directory formats other than the 4 discussed in class?
Signup and view all the answers
List all supported request types (There are 10):
List all supported request types (There are 10):
Signup and view all the answers
Match each request type to it's definition
Match each request type to it's definition
Signup and view all the answers
Match each group of messages to the best match (home node is where the directory information resides)
Match each group of messages to the best match (home node is where the directory information resides)
Signup and view all the answers
Draw the Cache Coherence state machine for directory-based MESI protocol. Enter 'done' when finished. Solution is figure 10.3 in textbook.
Draw the Cache Coherence state machine for directory-based MESI protocol. Enter 'done' when finished. Solution is figure 10.3 in textbook.
Signup and view all the answers
Fill in the following table for a 3 processor directory based MESI cache coherence protocol:
Requests : (Init, R1, W1, R3, W3, R1, R3, R2)
The answer should be in the following format: (Request (from above row), P1 state, P2 state, P3 state, Directory <state, bit vector>, All Messages [<msg, src->dest>], # Hops)
For example, if P2 requests a block Read, and all the states will be shared, then the following format would suffice:
R2, S, S, S, <S, 111>, [<Read, P2->H>,<ReplyD, H->P2>], 2
Put a dash ("-") if cache block hasn't been brought in yet, or if no messages are sent.
Fill in the following table for a 3 processor directory based MESI cache coherence protocol: Requests : (Init, R1, W1, R3, W3, R1, R3, R2) The answer should be in the following format: (Request (from above row), P1 state, P2 state, P3 state, Directory <state, bit vector>, All Messages [<msg, src->dest>], # Hops) For example, if P2 requests a block Read, and all the states will be shared, then the following format would suffice: R2, S, S, S, <S, 111>, [<Read, P2->H>,<ReplyD, H->P2>], 2 Put a dash ("-") if cache block hasn't been brought in yet, or if no messages are sent.
Signup and view all the answers
How is cache coherence maintained in a directory based coherence protocol? Explain how write propagation and transaction serialization are satisfied.
How is cache coherence maintained in a directory based coherence protocol? Explain how write propagation and transaction serialization are satisfied.
Signup and view all the answers
What are 3 valid cases of how a directory state can contain out-of-date information (e.g., as a result of a cache line being silently evicted)?
What are 3 valid cases of how a directory state can contain out-of-date information (e.g., as a result of a cache line being silently evicted)?
Signup and view all the answers
Explain how the directory based coherence protocol handles containing out-of-date information for the case where a shared block is silently evicted.
Explain how the directory based coherence protocol handles containing out-of-date information for the case where a shared block is silently evicted.
Signup and view all the answers
Explain how the directory based coherence protocol handles containing out-of-date information for the case where a shared block is silently evicted, and then tries to read/write to block.
Explain how the directory based coherence protocol handles containing out-of-date information for the case where a shared block is silently evicted, and then tries to read/write to block.
Signup and view all the answers
Explain how the directory based coherence protocol handles containing out-of-date information for the case where an Exclusive block is silently evicted.
Explain how the directory based coherence protocol handles containing out-of-date information for the case where an Exclusive block is silently evicted.
Signup and view all the answers
What is an Overlapping request?
What is an Overlapping request?
Signup and view all the answers
Explain the difference between a home-centric and a requestor-assisted approach to handling overlapped requests.
Explain the difference between a home-centric and a requestor-assisted approach to handling overlapped requests.
Signup and view all the answers
Draw a diagram showing the processing request for the following scenarios, do so for both home-centric and requestor-assisted approaches:
Read to Clean Block
Read to exclusive/Modified block
ReadX to uncached block
ReadX to shared block
ReadX to exlusive/modified block (no WB race)
ReadX to exlusive/modified block (WB race)
(Check answer in figure 10.6 and figure 10.7 of the textbook ).
Enter 'done' when done.
Draw a diagram showing the processing request for the following scenarios, do so for both home-centric and requestor-assisted approaches: Read to Clean Block Read to exclusive/Modified block ReadX to uncached block ReadX to shared block ReadX to exlusive/modified block (no WB race) ReadX to exlusive/modified block (WB race) (Check answer in figure 10.6 and figure 10.7 of the textbook ). Enter 'done' when done.
Signup and view all the answers