Shared-variable schéma
Charakteristika shared-variable (SV) schémy:
- premenná je lokálna procesoru, ak sa pouzíva iba v príkazoch alokovaných tomuto procesoru
- program a zobrazenie splnajú SV-schému, ak kazdý príkaz obsahuje najviac jednu nelokálnu premennú (nalavo alebo vpravo)
SV-schéma pre distribuované architektúry:
- pouzijeme zámky (locks)
- najviac jeden procesor drzí zámok na zdielanej premennej v danej chvíli
- procesor vykoná príkaz, iba ak drzí lock na zdielanej premennej pouzitej v tomto príkaze
- máme špeciálnu mnozinu procesorov obhospodarujúcich zámky a kazdá shared premenná je alokovaná jednému z nich (do jeho lokálnej pamäte)
Príklad:
- nech v SV-schéme x je alokovaná procesoru A
- vykonanie príkazu procesorom B, ktorý pouzíva x vyzerá nasledovne:
- B pošle správu Acku pozadujúcu lock(x)
- ked B dostane od A správu “request-granted”, tak B vykoná príkaz, odomkne x ? unlock(x) a pošle “unlocked” správu procesoru A, potom pokracuje
- A vybavuje poziadavky v poradí, akom prichádzajú