Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
4
1.Procesywspółbieżne
nieniazzależnościami,odpowiednio,pworazpl1przydowolnymw.Oczywiście
możliwajesttakżesytuacja,wktórejzachodzi1<p<w,czylidostępnajestwiększa
liczbaprocesorówrzeczywistych,aleliczbatajestmniejszaodliczbyprocesówdo
wykonania.
Komunikowaniesięprocesów
Procesywspółbieżnewykonująsięniezależnie,komunikującsięzesobąwokreślonych
momentachobliczeń.Komunikacjamiędzyprocesamimożebyćrealizowananadwa
sposoby:zużyciempamięciwspólnej(ang.sharedmemory)lubzapomocąprzesyłania
wiadomości(ang.messagepassing)2.Wpierwszymsposobiezakładasięistnienie
pamięcioperacyjnej,doktórejmajądostępprocesorywirtualnerealizująceobliczenia
współbieżne.Wpamięcitejzlokalizowanajestpewnaliczbazmiennychwspólnych
(ang.sharedvariables),naktórychkażdyprocesormożerealizowaćokreśloneoperacje.
Mogątobyćprosteoperacjeczytania(ang.read)lubzapisuwartościzmiennej(ang.
write)albooperacjebardziejzaawansowane,np.operacjezamiany(ang.exchange),te-
stowaniaiprzypisania(ang.test-and-set),porównaniaizamiany(ang.compare-and-
-swap),pobieraniaidodawania(ang.fetch-and-add).Zapomocązmiennychwspól-
nychprocesywspółbieżneprzekazująsobiewynikiobliczeń,jakrównieżsynchronizują
swojedziałanie.Wprzypadkusynchronizacjiważnejest,bywymienioneoperacjebyły
wykonywanewsposóbatomowy(por.ćw.1.3).
Drugisposóbkomunikacjipoleganaprzesyłaniuprzezprocesorywirtualnewiado-
mościprzezkanałykomunikacyjne(cooznacza,żeniemapamięciwspólnej).Każdy
kanałzapewniazregułydwukierunkowepołączeniemiędzydwomaprocesorami.Zbiór
kanałówkomunikacyjnychstanowisiećpołączeńprocesorów.Procesoryulokowane
wwierzchołkachsiecimająmożliwośćrealizowaniaobliczeńprocesuwspółbieżnego,
jakrównieżwysyłaniaiodbieraniawiadomościodsąsiednichprocesorów.Zwyklenie
czynisięzałożeńdotyczącychczasuprzesyłaniawiadomościodprocesoraźródłowego
dodocelowego3.Wtakimprzypadkuobliczeniawpełniasynchroniczne,ponieważ
niemożnaokreślićanidokładnychmomentówwykonaniaposzczególnychoperacji
procesówwspółbieżnych,animomentówwysłaniaiodebraniawiadomości.
Programwspółbieżny,równoległyirozproszony
Wykonanieprocesówwspółbieżnychrozwiązującychdanyproblemobliczeniowymoże
przebiegaćnatrzypodstawowesposoby:
(i)procesywykonywaneprzezpojedynczyprocesorrzeczywistymetodąprze-
plotu;
(ii)każdyproceswykonywanyjestprzezodrębnyprocesor,przyczymprocesory
majądostępdopamięciwspólnej;
2Wliteraturzepolskiejużywasięteżokreśleńnpamięćwspółdzielona”oraznprzesyłaniekomunika-
tów”.
3Czasamiokreślasięograniczeniegórneopóźnieniadostarczeniawysłanychwiadomości.