Multiprocesorski sistemi

Domaći zadtak (1998/99)

Koriscenjem programskog alata Limes napisati simulator memorijskog podsistema multiprocesora sa zajednickom magistralom (bus-based shared memory multiprocessor). Procesori poseduju samo prvi nivo kesa (L1). Za odrzavanje koherencije kesa koristi se MESI Write-Back Invalidation protokol baziran na snooping mehanizmu.

Kes kontroler se sastoji od dela koji odradjuje zahteve procesora (PCC - processor-side cache controler) i dela koji odradjuje zahteve sa magistrale (BCC – bus side cache controller). Zajednicka magistrala podrzava preklopljen pristup memorijskim modulima (split-transactions bus). Transakcije BusRd i BusRdX poseduju request i response fazu, dok BusInv i BusWB imaju samo request fazu. Rezultat snooping-a je raspoloziv na kraju request faze, a azuriranje kes tagova se obavlja nakon zavrsetka transakcije (kod BusRd i BusRdX). Memorija opsluzuje zahteve po redosledu kojim su pristigli. U response fazi transakcija BusRd i BusRdX podaci se uzimaju iz memorije ili kes kontrolera procesora koji je ekskluzivni vlasnik tog kes bloka.

Lock-ove implementirati koriscenjem test-and-test&set pristupa.

1. Precizno definisati transakcije na magistrali; naznaciti relevantne kontrolne linije zajednicke magistrale i njihove vrednosti tokom pojedinih transakcija.

2. Dizajnirati kes kontroler (na funkcionalnom nivou) i nacrtati konacni automat koji opisuje funkcionisanje opisanih kontrolera. 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.

3. Na bazi razvijenog i testiranog simulatora izmeriti osteljivost miss rate-a na velicinu kes bloka. Eksperimente raditi za sledece velicine bloka: 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: 32KB, 64KB, i 128KB. Pretpostaviti da je kes memorija 2-way set asocijativna.

4. Na bazi razvijenog i testiranog simulatora izmeriti saobracaj na magistrali 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:
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.

Napomena #3:
U projektovanju kes kontrolera koristiti poglavlje 6 udzbenika [D. Culler, J. P. Singh, A. Gupta, “Parallel Computer Architecture] (posebno slike 6-4 i 6-9).

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

Napomena #5:
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 #6:
Sve gore navedeno vazi do trenutka dok se drugacije ne definise.
 

Prethodni domaći zadaci


Gore
Glavna