1.1 Flashcards

1-6 pdf (9 cards)

1
Q

Koje su ključne razlike u implementaciji između barijere sa promenom parnosti i barijere
sa kombinacionim stablom ?

A

Barijera sa promenom parnos8 (centralizovana) ima problem memorijskog konflikta jer sve niE
spinuju nad istom lokacijom . Polje s ens e je način održavanja uniformnog vremena noEfikacije
na keš-koherentnim mulEprocesorima .
Barijera sa kombinacionim stablom umanjuje memorijski konflikt razdvajanjem velike barijere
na stablo manjih barijera. Niti kombinuju pristizanje na barijeru penjući se uz stablo, a
distribuiraju notifikacije potomcima za napuštanje barijere silazeći niz stablo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Zašto barijera sa kombinacionim stablom nije optimalna za NUMA arhitekture bez
keširanja?

A

Zbog toga što niti posete nepredvidljivi broj lokacija tokom kretanja uz stablo, ovakav pristup ne bi dobro radio na NUMA arhitekturama bez keširanja, jer može proizvesti neuniformna vremena notifikacije . Takođe, mrežna tačka usijanja (hotspot) zbog preterane komunikacije prilikom spinovanja čini je lošom za distribuirane arhitekture .

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Koje su prednosti barijere sa statičkim stablom u poređenju sa drugim tipovima barijera?

A

Na keš-koherentnim multiprocesorima, staEčka barijera zahteva log(n) koraka kretanja kroz stablo
za kompletiranje, dok noEfikacija zahteva samo promenu vrednosE globalnog bita s ens e , koji se
dalje propagira mehanizmom za koherenciju keševa. To rezultira vrlo malim keš saobraćajem ,
minimalnim zahtevom za prostorom i može se optimalno primenjuje na NUMA arhitekturama .

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Koja je svrha monitora u programiranju konkurentnih sistema i koje probleme rešava?

A

Monitor je konstrukcija programskog jezika za kontrolu pristupa deljenim podacima . Rešava
probleme sinhronizacije na visokom nivou time što blokira niti koje čekaju i dozvoljava prekide
unutar kritične sekcije . Monitor garantuje uzajamno isključivanje – samo jedna nit može u
jednom trenutku da izvršava proceduru monitora. Ako druga nit pokuša, ona se blokira i čeka u
redu.
Enkapsulira deljene strukture podataka, procedure koje se izvršavaju na tim podacima i
sinhronizaciju između konkurentnih poziva procedura .

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Zašto su semafori , iako korisni, nekada problematični za upotrebu?

A

Semafori su u osnovi globalne deljene promenljive kojima se može pristupiE bilo gde u
programu . Ne postoji nikakva veza između semafora i podataka koje E semafori kontrolišu, niti
bilo kakva kontrola ili garancija ispravnog korišćenja. Zbog toga su nekada teški za upotrebu i
podložni bagovima .

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Koje su mane tradicionalnog zaključavanja (locking) u multiprocesorskim sistemima?

A

Skalabilnost: Zaključavanje grube granularnosti nije skalabilno. Zaključavanje fine granularnosti
dovodi do problema kada se isti objekat zaključava različitim redosledom.
Robustnost: Nije robusno zbog fenomena kao što su:

Inverzija prioriteta: Nit niskog prioriteta drži ključ potreban niti višeg prioriteta, a nit srednjeg
prioriteta može da preduzme CPU, uzrokujući gladovanje niti višeg prioriteta .
Efekat konvoja: Kada nit koja drži ključ nije aktivna (zbog prekida, strane greške, itd.), druge niti
koje zahtevaju ključ se svrstavaju u red čekanja, bez mogućnosti napredovanja .

Upotrebljivost: Teško je za upotrebu jer je konzervaEvno, može izazvati uzajamno blokiranje i
propuštena buđenja niti .

Kompozicija: Nema svojstvo kompozicije, što znači da je teško obezbediti atomičnost operacija
koje uključuju više objekata bez uvođenja novih problema skalabilnosti ili stanja trke .

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Šta je transakcija u kontekstu transakcione memorije i koja svojstva poseduje?

A

Transakcija je sekvenca koraka koje izvršava jedna nit . Transakcije imaju mogućnost serijalizacije,
što znači da izgledaju kao da se izvršavaju sekvencijalno . Izvršavaju se špekula8vno , privremeno
menjajući objekte. Ukoliko se završe bez sinhronizacionog konflikta, vrše predaju (commit) i
promene postaju trajne. U suprotnom, vrše prekidanje (abort) i sve privremene promene se
odbacuju .

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Koje su glavne razlike između nestrpljivog (Eager) i lenjog (Lazy) pravljenja verzije
(versioning) kod transakcione memorije?

A

Nestrpljivo (Eager) pravljenje verzije: Brzi commit, spori abort . Podaci se direktno upisuju u
memoriju, a ako dođe do prekida, undo l og se koriste za vraćanje starih vrednosti .
Lenjo (Lazy) pravljenje verzije: Spori commit, brzi abort . Podaci se privremeno čuvaju u baferu
sve do tačke za predaju, kada se memorija kompletno ažurira . Pristup memoriji za čitanje može
biE sporiji nego kod nestrpljive verzije jer se bafer mora pretraživaE kod svakog špekulaEvnog
čitanja .

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Kako Hardverska Transakciona Memorija (HTM) detektuje konflikte koristeći MESI
protokol i kakva su njena ograničenja?

A

HTM korisE MESI protokol sa dodatnim transakcionim bitom u svakom tagu keš linije . Ovaj bit
se setuje kada se vrednost stavi u keš radi transakcije .
Detekcija konflikta: Ukoliko MESI protokol invalidira transakcionu stavku (zbog konflikta
pisanja/čitanja ili pisanja/pisanja) ili ako je modifikovana transakciona linija izbačena iz keša,
tada se ta transakcija prekida (abort) . Razlog za prekid kod izbacivanja je što keš-koherentni
protokol ne može detektovaE konflikt kada linija više nije u kešu .
Ograničenja:
Veličina transakcije: Ograničena je veličinom keša .
Trajanje transakcije: Ograničeno je dužinom vremenskog kvantuma raspoređivača, jer
operaEvni sistem čisE keš kada isEskuje nit sa procesora . Zbog toga je HTM najbolja za
kratke i male transakcije .
Konflik8 mapiranja keša: Transakcija koja korisE dve adrese mapirane u istu keš liniju
(kod direktno preslikanih keševa) ili k+ 1 adresa u isE set (kod set-asocijaEvnih keševa)
biće neuspešna.
Nedostatak menadžera konflikta: HTM nema menadžera konflikta, što može dovesE do
izgladnjivanja transakcija .

How well did you know this?
1
Not at all
2
3
4
5
Perfectly