Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Uvod 29<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
Jedna od najpoznatijih biblioteka, koja je i IEEE standard, za programiranje<br />
paralelnih računara sa međuprocesorskom komunikacijom preko deljene<br />
memorije je Pthread detaljno opisan u [Nic96].<br />
<strong>1.3</strong>.1.2 Komunikacija prosleđivanjem poruka<br />
U poslednjoj deceniji su naročito postali popularni paralelni računari gde se<br />
međuprocesorska komunikacija ostvaruje prosleđivanjem poruka (message<br />
passing). Oni su lakši za projektovanje i implementaciju, ali je na njima teže<br />
programirati, jer sam programer mora da vodi računa o sinhronizaciji procesa i<br />
razmeni podataka izmedju njih, za razliku od sistema sa zajedničkom<br />
memorijom gde o tome vodi računa operativni sistem.<br />
Međuprocesorska komunikacija, kod sistema sa prosledjivanjem poruka,<br />
takodje, bitno utiče na vreme izvršavanja. Vreme potrebno za prenos<br />
odredjenog podatka, izmedju različitih procesora, je ponekad, nekoliko puta<br />
veće od vremena potrebnog za aritmetičku operaciju nad njim (videti <strong>rad</strong><br />
[Kra94]). Povećanje iskorišćenosti procesora zahteva i veću komunikaciju, pa<br />
se moraju odrediti takve vrednosti (komunikacije izmedju procesora i<br />
iskorišćenosti procesora) koje obezbedjuju minimalno vreme izvršavanja.<br />
U prošlosti je svaki paralelni računar zasnovan na datom modelu posedovao<br />
sopstveni programski sistem za razvoj paralelnih aplikacija, gde su različiti<br />
sistemi bili nekompatibilni a samim tim i aplikacije neprenosive između raznih<br />
sistema. Najpoznatiji su bili sistemi razvijeni od velikih firmi Cray Research,<br />
IBM, Intel, Meiko i Ncube, kao podrška njihovim paralelnim računarima visokih<br />
performansi. Osim njih, poznati su bili i programski sistemi za transpjutere<br />
(opisani u [Moc89] i [Tra89b]).<br />
Kasnije je pokušavano sa standardizacijom ovakvih sistema i razvijeni su<br />
sledeći sistemi:<br />
• CHIMP ([CHI91] i [CHI92]);<br />
• p4 ([But94]);<br />
• PVM ([Gei94] i [Sev98]);<br />
• Zipcode ([Skj90] i [Skj92]);<br />
• neki drugi sistemi ([Fry92]).<br />
Međutim, svi ovi sistemi su posedovali određene nedostatke, pa se pristupilo<br />
razvoju standarda, koji bi bio podržan na što većem broju platformi, efikasan i<br />
sa programskim konstrukcijama relativno visokog nivoa. Tako je nastao MPI<br />
standard detaljnije opisan u odeljku <strong>1.3</strong>.3 .<br />
<strong>1.3</strong>.2 Paralelne platforme<br />
Računarske platforme za razvoj, testiranje i izvršavanje paralelnih programa<br />
se mogu podeliti u nekoliko globalnih kategorija:<br />
• Simulatori i emulatori višeprocesorskih računara na jednoprocesorskim<br />
računarima;<br />
• Multiprocesorski sistemi nižih performansi;<br />
• Mreža <strong>rad</strong>nih stanica povezanih u paralelni računar;<br />
• Superračunari i multiprocesorski sistemi visokih performansi.<br />
<strong>1.3</strong>.2.1 Simulatori paralelnih računara<br />
Najprostije razvojne platforme uz minimalne troškove za paralelizaciju su<br />
simulatori (emulatori) višeprocesorskih računara. Njihova namena može biti: