SHARED MEMORY SYSTEMS Mahdi Nazm Bojnordi Assistant Professor - - PowerPoint PPT Presentation

shared memory systems
SMART_READER_LITE
LIVE PREVIEW

SHARED MEMORY SYSTEMS Mahdi Nazm Bojnordi Assistant Professor - - PowerPoint PPT Presentation

SHARED MEMORY SYSTEMS Mahdi Nazm Bojnordi Assistant Professor School of Computing University of Utah CS/ECE 6810: Computer Architecture Overview Shared memory systems Inconsistent vs. consistent data Cache coherence with write back


slide-1
SLIDE 1

SHARED MEMORY SYSTEMS

CS/ECE 6810: Computer Architecture

Mahdi Nazm Bojnordi

Assistant Professor School of Computing University of Utah

slide-2
SLIDE 2

Overview

¨ Shared memory systems

¤ Inconsistent vs. consistent data

¨ Cache coherence with write back policy

¤ MSI protocol ¤ MESI protocol

¨ Memory consistency

¤ Sequential consistency

slide-3
SLIDE 3

Recall: Shared Memory Systems

¨ Multiple threads employ a shared memory system ¤ Easy for programmers ¨ Complex synchronization mechanisms are required ¤ Cache coherence

n All the processors see the same data for a particular memory

address as they should have if there were no caches in the system

n e.g., snoopy protocol with write-through, write no-allocate

n Inefficient

¤ Memory consistency

n All memory instructions appear to execute in the program order n e.g., sequential consistency

slide-4
SLIDE 4

Snooping with Writeback Policy

¨ Problem: writes are not propagated to memory until

eviction

¤ Cache data maybe different from main memory

¨ Solution: identify the owner of the most recently

updated replica

¤ Every data may have only one owner at any time ¤ Only the owner can update the replica ¤ Multiple readers can share the data

n No one can write without gaining ownership first

slide-5
SLIDE 5

Modified-Shared-Invalid Protocol

¨ Every cache block transitions among three states

¤ Invalid: no replica in the cache ¤ Shared: a read-only copy in the cache n Multiple units may have the same copy ¤ Modified: a writable copy of the data in the cache n The replica has been updated n The cache has the only valid copy of the data block

¨ Processor actions

¤ Load, store, evict

¨ Bus messages

¤ BusRd, BusRdX, BusInv, BusWB, BusReply

slide-6
SLIDE 6

MSI Example

P1 P2 I I

Load/BusRd

BUS

invalid shared

Load BusRd BusReply

slide-7
SLIDE 7

MSI Example

P1 P2 S I

Load/-- BusRd/[BusReply] Load/BusRd

invalid shared

BUS

BusRd Load

slide-8
SLIDE 8

MSI Example

P1 P2 S S

Load/-- BusRd/[BusReply] Load/BusRd Evict/--

invalid shared

BUS

Evict

slide-9
SLIDE 9

MSI Example

P1 P2 S I

Load, Store/-- Load/-- BusRd/[BusReply] Load/BusRd Evict/-- BusRdX/[BusReply] Store/BusRdX

invalid shared modified

BUS

Store

slide-10
SLIDE 10

MSI Example

P1 P2 I M

Load, Store/-- Load/-- BusRd/[BusReply] Load/BusRd Evict/-- Store/BusRdX BusRd/BusReply

invalid shared modified

BUS

BusRdX/[BusReply] Load

slide-11
SLIDE 11

MSI Example

P1 P2 S S

Load, Store/-- Load/-- BusRd/[BusReply] Load/BusRd Evict/-- BusInv,BusRdX/[BusReply] Store/BusRdX Store/BusInv BusRd/BusReply

invalid shared modified

BUS

Store

slide-12
SLIDE 12

MSI Example

P1 P2 M I

Load, Store/-- Load/-- BusRd/[BusReply] Load/BusRd Evict/-- BusInv,BusRdX/[BusReply] Store/BusRdX BusRdX/BusReply Store/BusInv BusRd/BusReply

invalid shared modified

BUS

Store

slide-13
SLIDE 13

MSI Example

P1 P2 I M

Load, Store/-- Load/-- BusRd/[BusReply] Load/BusRd Evict/-- BusInv,BusRdX/[BusReply] Store/BusRdX BusRdX/BusReply Store/BusInv BusRd/BusReply

invalid shared modified

BUS

Evict BusWB

slide-14
SLIDE 14

Modified, Exclusive, Shared, Invalid

¨ Also known as Illinois protocol

¤ Employed by real processors ¤ A cache may have an exclusive copy of the data ¤ The exclusive copy may be copied between caches

¨ Pros

¤ No invalidation traffic on write-hits in the E state ¤ Lower overheads in sequential applications

¨ Cons

¤ More complex protocol ¤ Longer memory latency due to the protocol