You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
32 Paralelizacija GA za rešavanje nekih NP-kompletnih problema<br />
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />
univerziteti i istraživački centri u SAD, Japanu i zapadnoj Evropi. Pristup im je<br />
takođe vrlo ograničen.<br />
Neki od poznatijih paralelnih sistema su: ASCI Red, Convex SPP1000, Cray<br />
T3D, Fujitsu VPP300, IBM SP-2, Intel Delta, Intel iPSC/2, Intel Paragon, Meiko<br />
CS2, SGI Origin 2000 i TMC CM-5. Detaljniji opis većine od njih, kao i njihovih<br />
performansi u praksi je dat u <strong>rad</strong>ovima [Hoc91], [Hoc94] i [Don97].<br />
<strong>1.3</strong>.3 MPI standard<br />
MPI (Message Passing Interface) je specifikacija standardne biblioteke<br />
funkcija za paralelni model prosleđivanja poruka. Definisanje standarda je<br />
trajalo preko 2 godine u organizaciji MPI foruma koji je sadržao više od 80<br />
istraživača iz oko 40 institucija. U grupi koja je definisala standard su bili<br />
najzastupljeniji: proizvođači paralelnih računara, osobe zadužene za razvojne<br />
programske pakete i specijalisti za paralelne aplikacije.<br />
MPI standard je preuzeo konstrukcije raznih postojećih sistema koji su se<br />
dobro pokazale u praksi, i inkorporirao ih u jedan efikasan sistem visokog nivoa.<br />
To se pokazalo kao bolje rešenje od direktnog preuzimanja nekog od postojećih<br />
sistema, od kojih je svaki imao određene nedostatke. Korišćene su konstrukcije<br />
sledećih sistema: CHIMP ([CHI92]), Express ([Exp92]), p4 ([But94]), Parmacs<br />
([Cal94]), PVM ([Gei94]), Zipcode ([Skj92]), kao i sistema za podršku<br />
višeprocesorskih računara firmi Cray Research, IBM, Intel, Meiko i Ncube. Bez<br />
zahtevanja kompatibilnosti po svaku cenu, bilo je moguće projektovanje<br />
standarda koji zadovoljava i najzahtevnije primene, uz očuvanje efikasnosti<br />
izvršavanja. Većina koncepata koja je primenjena pri projektovanju MPI<br />
standarda nije nova, već je standardizovano višegodišnje iskustvo eksperata.<br />
Početni dogovor oko MPI standarda je nastao aprila 1992 na međunarodnoj<br />
konferenciji Supercomputing ’92 i može se videti u [Don93]. Posle brojnih<br />
usaglašavanja konačna verzija MPI standarda 1.0 nastala je u maju 1994, i<br />
detaljno je opisana u knjigama [Gro94], [MPI94], [MPI95] i [Sni95]. On sadrži<br />
više od 100 funkcija visokog nivoa, što donekle produžava vreme učenja<br />
sintakse celog standarda, ali su zbog toga izražajne mogućnosti mnogo veće.<br />
Iako je za veliki broj primena dovoljno koristiti samo deo mogućnosti koje MPI<br />
podržava, za razumevanje njegovih karakteristika , je potrebno detaljno<br />
proučavanje. U suprotnom, pri nedovoljno pažljivoj primeni, moguć je veliki<br />
gubitak performansi korisničke aplikacije. Zbog toga je potrebno, osim same<br />
sintakse, voditi računa i o globalnoj koncepciji koju su imali autori MPI<br />
standarda, kao i o njihovim preporukama i savetima.<br />
MPI standard sadrži sledeće konstrukcije:<br />
• Pojedinačne međuprocesorske komunikacije (point-to-point<br />
communications) raznih tipova. Uz veći broj sistemskih tipova, moguće je<br />
korišćenje i korisnički definisanih tipova;<br />
• Kolektivne operacije za međuprocesorsku komunikaciju nad sistemskim i<br />
korisnički definisanim tipovima;<br />
• Grupe procesa i manipulacija kontekstima, koji čuvaju zajedničke osobine<br />
grupa procesa;<br />
• Korisnički definisane topologije koje mogu biti realne (odgovaraju fizičkim<br />
vezama) ili virtuelne;<br />
• Mogućnost svakog procesa da inicijalizuje, očitava ili menja komunikacioni<br />
kontekst svoje grupe procesa u toku izvršavanja.