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.

Uvod 33<br />

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

Pošto je MPI standard nezavisan od platforme i operativnog sistema na<br />

kome se izvršava, svaka MPI implementacija mora dodatno da obezbedi<br />

ulazno/izlazne operacije i način izvršavanja aplikacije na datom konkretnom<br />

operativnom sistemu. Za prevođenje izvornog koda i ispravljanje grešaka se<br />

koriste standardni prevodioci i ostali alati posebno konfigurisani i podešeni za<br />

MPI aplikacije.<br />

U verziji 1.0 nisu eksplicitno podržane operacije paralelnog modela sa<br />

deljenom memorijom, podrška nitima (threads), dinamičko alociranje i<br />

dealociranje procesa u toku izvršavanja programa, ali je u kasnijim verzijama<br />

otklonjen deo takvih nedostataka.<br />

Pošto je u stvaranju MPI standarda učestvovao veći broj iskusnih sistemskih<br />

i aplikativnih programera specijalizovanih za paralelizaciju, prve implementacije<br />

su nastale vrlo brzo nakon usvajanja standarda. Zbog toga je MPI standard<br />

postao prihvaćen od mnogih, i pojavio se veći broj raznih MPI implementacija.<br />

Dati preduslovi su pogodno uticali na pojavu velikog broja paralelnih MPI<br />

aplikacija, a informacije o nekima od njih se mogu naći u [MPIb].<br />

Kratak opis MPI standarda se može naći u <strong>rad</strong>u [Don95] i dodatku D, a<br />

detaljnije informacije u knjigama [Gro94], [MPI94], [MPI95] i [Sni95]. Analiza<br />

performansi MPI programa je data u <strong>rad</strong>u [Krl94].<br />

<strong>1.3</strong>.4 MPI implementacije<br />

Od nastanka 1994. godine, MPI standard je implementiran na velikom broju<br />

paralelnih platformi raznih osobina, od mreže <strong>rad</strong>nih stanica do superračunara.<br />

Za neke od platformi postoji čak više različitih MPI implementacija. Neke od<br />

javno dostupnih implementacija su: MPICH, WMPI, MPI-FM, LAM, CHIMP/MPI,<br />

CRI/EPCC MPI for Cray T3D, MPIAP, RACE-MPI. Postoji i veliki broj<br />

komercijalnih MPI implementacija kao što su proizvodi sledećih kompanija: MPI<br />

Software Technology - MPI/PRO, Genias - PaTENT WMPI, Alpha - Data MPI,<br />

HP - MPI, IBM Parallel Environment for AIX - MPI Library, Hitachi - MPI, Silicon<br />

Graphics - MPI, Nec - MPI/DE, Intel - Paragon OS R1.4, Scali Computer -<br />

ScaMPI, Telmat Multinode - T.MPI, Periastron - TransMPI. Detaljnije informacije<br />

o ovim implementacijama se mogu naći u [MPIa].<br />

Za nas su najvažnije one implementacije koje su primenljive na mreži <strong>rad</strong>nih<br />

stanica, što je paralelna platforma iskorišćena u ovom <strong>rad</strong>u. Poređenje<br />

performansi nekih od njih pod Windows NT operativnim sistemom je dato u<br />

[Bak98].<br />

<strong>1.3</strong>.4.1 MPICH<br />

MPICH ([Gro96c]) je implementacija nastala u Argonne National Laboratory<br />

(Ilinois - USA), i ona u potpunosti podržava MPI 1.1 standard. Javno je<br />

dostupna verzija za UNIX operativne sisteme gde su podržane sledeće<br />

platforme: IBM SP1 i SP2, TMC CM-5, Intel Paragon, IPSC860, Touchstone<br />

Delta, Ncube2, Meiko CS-2, Kendall Square KSR-1 i KSR-2, Convex Exemplar,<br />

IBM, SGI i Sun višeprocesorski sistemi. Takođe su podržane i mreže <strong>rad</strong>nih<br />

stanica Sun4, Hewlett-Packard, DEC 3000 i Alpha, IBM RS/6000 i SGI familije,<br />

kao i mreže Intel x86 PC računara pod LINUX ili FreeBSD operativnim<br />

sistemom. Opis procedure za instalaciju ovog programskog paketa, kao i<br />

detaljno uputstvo za <strong>rad</strong> je dato u [Gro96a], [Gro96b] i [Gro97].<br />

Ova implementacija je prenesena i na Intel x86 platformu pod Windows NT<br />

operativnim sistemom i nazvana je MPICH/NT. Međutim, javno su dostupne

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

Saved successfully!

Ooh no, something went wrong!