Multiprocesorski sistemi

Domaæi zadaci


Zadatak br. 1

Koriscenjem programskog alata Limes napisati simulator za MESI Write-Back Invalidation protokol za odrzavanje kes koherencije u SMP sistemima baziranim na deljenoj magistrali koji poseduju samo prvi nivo kesa (L1).


MESI protokol sadrzi 4 stanja:

* M (Modified ili Dirty) - procesor je ekskluzivni vlasnik bloka i blok je modifikovan, tj. kopije u kesevima drugih procesora i glavnoj memoriji nisu validne

* E (Exclusive ili Clean Unshared) - procesor je ekskluzivni vlasnik bloka ali kopija bloka nije modifikovana, tj. ista je kao i kopija u glavnoj memoriji

* S (Shared) - blok je nemodifikovan i nalazi se u kes memoriji jednog ili vise procesora

* I (Invalid) - kopija bloka nije validna.


Pretpostaviti da su na magistrali podrzane sledece transakcije:

* BusRd (Bus Read) - kes kontroler iznosi adresu trazenog bloka na magistralu i odgovarajucu "komandu" za citanje. Memorija salje trazeni blok. Ukoliko memorija nema validnu kopiju zahtev se ponistava i ponovo inicira nakon nekog vremena (retry)

* BusRsX (Bus Read Exclusive) - slicno BusRd ciklusu, s tim sto se vrsi invalidacija svih ostalih kopija trazenog bloka

* Writeback - azuriranje glavne memorije

* BusInv (Bus Invalidate) - kes kontroler iznosi adresu bloka na magistralu i odgovarajucu "komandu" za invalidaciju svih ostalih kopija.


a) Nacrtati konacan automat i dijagram prelaza za MESI protokol. Ulazi u konacan automat su tekuce stanje i akcija od strane procesora ili magistrale, a izlaz je novo stanje i odgovarajuca akcija. Koristiti standardan nacin za crtanje konacnih automata.

b) Precizno definisati signale deljene magistrale i njihove vrednosti tokom relevantnih ciklusa na magistrali.

c) Na bazi razvijenog i testiranog simulatora izmeriti osteljivost miss rate-a na velicinu kes bloka. Eksperimente raditi za sledece velicine bloka: 4B, 8B, 16B, 32B, 64B i 128B. Kao radno opterecenje koristiti sledece aplikacije iz SPLASH-2 skupa test programa: FFT, LU i Radix. Eksperimente izvoditi za slucajeve kada je broj procesora u sistemu 4, 8 i 16. Takodje, sve eksperimente ponoviti za razlicite velicine kes memorije: 64KB, 128KB, 256KB i 512KB. Pretpostaviti da je kes memorija 2-way set asocijativna.

d) Na bazi razvijenog i testiranog simulatora izmeriti saobracaj na magistrali [B/s/po instrukciji] u zavisnosti od velicine bloka. Uslovi su isti kao u tacki c).


Napomena #1: Ukoliko nesto nije dovoljno precizno definisano od studenata se ocekuje da uvedu jednu razumnu pretpostavku, da je jasno oznace radi lakseg ocenjivanja i dalje nastave rad na temeljima uvedene pretpostavke.

Napomena #2: Domaci zadaci se rade u grupama od po dva studenta. Studenti formiraju grupe samostalno.

Napomena #3: Domaci zadatak se brani u terminima koji se zakazuju po dogovoru, s tim da to mora biti pre trenutka polaganja ispita. Odbrana domaceg se vrsi usmeno. Na odbranu studenti treba da donesu sledece:

a) koncizan pisani izvestaj koji sadrzi dobijene rezultate. Izvestaj treba da bude pripremljen po metodologiji prof. Milutinovica (jedna grupa priprema jedan izvestaj) za pisanje istrazivackih radova

b) kod simulatora na disketi. Grupa treba da bude u stanju da brzo i efikasno demonstrira rad simulatora tokom usmene odbrane.

Napomena #4: Sve gore navedeno vazi do trenutka dok se drugacije "ne naredi".




Gore
Glavna