332
Advanced Computer Architecture
Chapter 7
Parallel
architectures, shared memory, and cache coherency
Overview
Example: Compaq Alpha+
Quadrics
NPACI Blue Horizon, San
Diego Supercomputer Center
SGI Origin 3800 at SARA,
Netherlands
The “Earth Simulator”
What are parallel
computers used for?
Why add another
processor?
Architectural
effectiveness of Intel processors
Architectural
effectiveness of Intel processors
How to add another
processor?
How to add another
processor?
How to connect
processors...
Multiple caches… and
trouble
Multiple caches… and
trouble
Multiple caches… and
trouble
Multiple caches… and
trouble
Implementing distributed,
shared memory
Cache consistency (aka
cache coherency)
Implementing Strong
Consistency: update
Implementing Strong
Consistency: update…
A more cunning plan…
invalidation
Update vs invalidate
The “Berkeley"
Protocol
Berkeley cache coherence
protocol:
state transition diagram
The job of the cache
controller - snooping
Berkeley protocol -
summary
Snoop Cache Extensions
Snooping Cache Variations
Implementation
Complications
Implementing Snooping
Caches
Implementing Snooping
Caches
Large-Scale Shared-Memory
Multiprocessors
Larger MPs
Distributed Directory MPs
Directory Protocol
Directory Protocol
Directory Protocol
Messages
State Transition Diagram
for an Individual Cache Block in a Directory Based System
CPU -Cache State Machine
State Transition Diagram
for the Directory
Directory State Machine
Example Directory
Protocol
Example Directory
Protocol
Example
Example
Example
Example
Example
Example
Implementing a Directory
Synchronization
Uninterruptable
Instruction to Fetch and Update Memory
Uninterruptable
Instruction to Fetch and Update Memory
User Level
Synchronization—Operation Using this Primitive
Another MP Issue:
Memory Consistency Models
Memory Consistency Model
Summary
Case study:
Sun’s S3MP
S3MP: Read Requests
S3MP: Read Requests -
remote
S3MP - Writes
S3MP - Replacements
Finding your data
ccNUMA summary
Beyond ccNUMA
Which cache should the
cache controller control?
Summary and Conclusions