Paralelni sistemi

Kada govorimo o računarskim sistemima najčešće mislimo na jednoprocesorske sisteme odnosno sisteme sa jednim CPU-om. Međutim, postoji trend razvoja sistema sa više procesora ili multiprocesorskih sistema. Ovi sistemi imaju više procesora koji tijesno komuniciraju dijeleći sabirnicu, sat i ponekad memoriju i periferne uređaje. Oni se također često nazivaju i tightly coupled sistemi što bi se moglo prevesti kao čvrsto povezani sistemi. Osnovni razlog razvoja multiprocesorskih sistema je povećanje brzine rješavanja korisničkih problema, drugim riječima više posla se može obaviti u kraćem vremenskom periodu. Također u odnosu na više jednoprocesorskih sistema, jedan višeprocesorski sistem ima i značajnu prednost i u uštedi novca s obzirom da procesori dijele iste resurse. Naprimjer više se isplati da se na jednom hard-disku nalaze određeni podaci sa kojima radi više procesora, nego da postoji više računara svaki sa svojim diskom i sa mnogo kopija podataka. Još jedan razlog zbog kojeg su se razvijali višeprocesorski sistemi se krije u činjenici da oni povećavaju pouzdanost sistema, jer ukoliko bi se desilo da jedan procesor prestane sa radom, to ne bi stopiralo rad sistema, nego bi ga samo usporilo, jer bi se posao nastavio obavljati na preostalim procesorima.

Danas višeprocesorski sistemi najčešće koriste simetrično multiprocesiranje, u kojem svaki procesor pokreće identičnu kopiju operativnog sistema, koje opet komuniciraju jedna sa drugom kada je to potrebno.

Neki sistemi pak koriste asimetrično multiprocesiranje, u kojem je svakom procesoru dat određeni specifičan zadatak. Glavni procesor kontroliše sistem, dok drugi procesori dobijaju instrukcije od njega i izvršavaju njima povjerene zadatke. Ova šema komunikacije između procesora poznata je i pod nazivom master-slave relacija.

Primjer sistema sa simetričnim multiprocesiranjem je Encor-ova verzija UNIX-a razvijena za Multimax računare. Međutim, kod ovih sistema potrebno je kontrolisati U/I procese kako bismo znali kojem procesoru se dodjeljuju određeni podaci na obradu.

Model asimetričnog multiprocesiranja je zastupljen kod ekstremno velikih sistema, u kojima je jedna od najsporijih operacija obično procesiranje U/I-a. Kao rješenje za ovaj problem tačno određeni procesori su bili zaduženi za U/I aktivnosti.

Potrebno je naglasiti da razlika između simetričnog i asimetričnog multiprocesiranja može biti posljedica i softvera kao i hardvera. Moguće je konstruirati poseban hardver koji će razlikovati više procesora, ali također je moguće napisati i softver koji će razlikovati procesore na principu master-slave relacije. Naprimjer, Sun-ov operativni sistem SunOS Version 4 omogućava asimetrično multiprocesiranje, dok je suprotno od njega Version 5 (Solaris 2) namijenjen za simetrično multiprocesiranje.