08.03.2015 Views

Ceo rad - PDF (1.3 MB)

Ceo rad - PDF (1.3 MB)

Ceo rad - PDF (1.3 MB)

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

28 Paralelizacija GA za rešavanje nekih NP-kompletnih problema<br />

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />

<strong>1.3</strong>.1 Modeli računara<br />

Postoji više podela računarskih sistema. Jedna od najpoznatijih je Flynn-ova<br />

podela (videti [Fly66] i [Fly72]), pri čemu se računari po arhitekturi dele na:<br />

• SISD (Single Instruction Single Data) u kojima postoji samo jedan procesor<br />

koji prima jedan tok instrukcija i operiše nad jednim tokom podataka. Najveći<br />

broj današnjih računara spada u ovaj model koji je projektovao John von<br />

Neumann sa sa<strong>rad</strong>nicima krajem 40-tih. Algoritmi za ovaj model su<br />

sekvencijalni, jer postoji samo jedan procesor.<br />

• MISD (Multiple Instruction Single Data) gde postoji N procesora, pri čemu<br />

svaki poseduje po jednu kontrolnu jedinicu, ali svi dele isti tok podataka. U<br />

svakom koraku, svi procesori obrađuju istovremeno jedan podatak<br />

prihvaćen iz zajedničke memorije. Svaki procesor obrađuje podatak prema<br />

instrukciji koju prima sa sopstvene upravljačke jedinice. Ovaj model je<br />

pogodan ukoliko nad istim podatkom treba izvršiti više operacija u isto<br />

vreme.<br />

• SIMD (Single Instruction Multiple Data) koji karakteriše N identičnih<br />

procesora. Svaki procesor poseduje sopstvenu lokalnu memoriju. Svi<br />

procesori <strong>rad</strong>e pod kontrolom jedne kontrolne jedinice, ili svaki procesor ima<br />

svoju kopiju istog programa u lokalnoj memoriji. Izvršavanje je sinhrono,<br />

odnosno, svaki procesor u isto vreme izvršava istu instrukciju, i ima svoj tok<br />

podataka.<br />

• MIMD (Multiple Instruction Multiple Data) je najsloženiji model, u kome svaki<br />

procesor poseduje kontrolnu jedinicu, aritmetičko logičku jedinicu i lokalnu<br />

memoriju. Svaki procesor ima svoj tok instrukcija i podataka, tako da<br />

procesori mogu izvršavati različite programe nad različitim podacima, što<br />

znači da tipično <strong>rad</strong>e asinhrono. Iako je najmoćniji model, sa<br />

višeprocesorskim računarima ovog modela je najteže <strong>rad</strong>iti, jer postoje<br />

problemi koji se ne javljaju kod ostalih modela: dodela procesa procesoru,<br />

čekanje procesa na slobodan procesor i razmena podataka između više<br />

procesora (procesa).<br />

Druga podela paralelnih računarskih sistema je po načinu komunikacije<br />

između procesora:<br />

• Višeprocesorski računari sa komunikacijom preko deljene memorije (shared<br />

memory multiprocessors).<br />

• Višeprocesorski računari sa komunikacijom prosleđivanjem poruka<br />

(message passing multiprocessors).<br />

<strong>1.3</strong>.1.1 Komunikacija preko deljene memorije<br />

U ovom modelu je celokupni memorijski prostor zajednički i dostupan za sve<br />

procesore. Ukoliko procesori žele da razmene neke podatke, to se vrši prostim<br />

upisom podatka od strane jednog i čitanja podatka od strane drugog procesora.<br />

Međutim, ovaj paralelni model, iako teorijski moćniji i fleksibilniji, nije u praksi<br />

dao rezultate koji se u teoriji predvidjaju. Razlozi su u težoj implementaciji dela<br />

za paralelno čitanje odnosno upis podataka i u njegovom sporijem izvršavanju,<br />

ukoliko je broj procesora veliki (videti [Akl89]). Programiranje na takvim<br />

sistemima je olakšano, jer operativni sistem sam vodi računa o paralelnom<br />

čitanju i upisu.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!