Milo Tomaševi

ć

SI4MPS, 2007.

Multiprocesorski sistemi

“Snoopy” protokoli

ETF Beograd, SI4MPS, "Snoopy" protokoli

2/28

“Snoopy” protokoli

¡

Relativno lako rešenje problema koherencije

l

Nadgradnja kontrolera keš memorije na prirodan na

č

in

¡

Nadgledanje, promene stanja

l

Koriš

ć

enje osobina magistrale 

¡

“Broadcast” transakcije, serijalizacija

¡

WTI

l

2 stanja: invalid, valid

l

Nema novih transakcija i žica na magistrali

l

Koherencija obezbe

đ

uje sekvencijalnu konzistenciju,

jer magistrala serijalizuje upise

l

Vrlo loše performanse

¡

Za bolje performanse => odloženi upis (WB)

background image

ETF Beograd, SI4MPS, "Snoopy" protokoli

4/28

MSI protokol - dijagram stanja

PrRd/—

PrRd/—

PrW r/BusRdX

BusRd/—

PrW r/—

S

M

I

BusRdX/Flush

BusRdX/—

BusRd/Flush

PrW r/BusRdX

PrRd/BusRd

¡

RH – bez promene, lokalno

¡

RM dobija blok u stanju S

l

... 

č

ak i ako je jedina kopija !

l

M -> C ili C -> C, M

¡

WM ostavlja blok u M

l

BusRdX

l

Postaje vlasnik

¡

WH u S se tretira kao WM

l

Ignoriše poslate podatke

l

Može i BusUpgr (bez podataka)

l

Upis u M – lokalno!

¡

Zamena

l

Ako je u M, mora “write-back”

ETF Beograd, SI4MPS, "Snoopy" protokoli

5/28

MSI protokol - koherencija

¡

Upisi i 

č

itanja se mogu obavljati bez izlaska na magistralu 

- koherencija garantovana?

¡

Propagacija upisa (“vidljivost”)

l

Upis u nemodifikovan blok vidljiv kroz BusRdX

l

Podaci se dobiju naknadnim invalidacionim promašajem

l

Tada postaju vidljivi i upisi u modifikovan blok

¡

Serijalizacija upisa

l

Upisi koji generišu BusRdX - ure

đ

eni magistralom

na isti na

č

in u odnosu na sve procesore

¡

obave se u kešu pre drugih transakcija

l

Lokalni upisi – izme

đ

u dve transakcije mogu

ć

i samo u ekskluzivnu 

kopiju 

¡

... pa su zato u programskom poretku (kao i lokalna 

č

itanja)

¡

R i W od ostalih procesora razdvojeni transakcijom 

background image

ETF Beograd, SI4MPS, "Snoopy" protokoli

7/28

¡

Šta uraditi na BusRd u stanju M ?

l

Ako se o

č

ekuje dalje 

č

itanje, M -> S (read sharing) 

l

Ako se o

č

ekuje migratorna deljivost, M -> I

¡

Problem – invalidacioni promašaji

l

Rešenje – validacija bloka 

l

Read Broadcast (read snarfing)

l

Samo jedan invalidacioni promašaj po bloku

l

Pove

ć

ana interferencija keša

¡

Problem –

č

itanje, pa upis u blok koji nije deljen

l

Dve transakcije: BusRd (I -> S), pa BusRdX (S->M)

l

Č

esta situacija u sekvencijalnim programima

l

Rešenje – novo stanje !

MSI protokol

Želiš da pročitaš svih 28 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti