1 research outputs found

    Global Arrays over SCI : Enveis kommunikasjon i clustere

    Get PDF
    Sammendrag av hovedfagsoppgaven "Global Arrays over SCI - Enveis kommunikasjon i clustere" av Kai-Robert BjÞrnstad Enkelte applikasjonstyper og algoritmer vanskelig Ä implementere over MPI-grensesnittet. MPI-standarden fordrer en tosidig kommunikasjonsmodell hvor bÄde sender og mottaker eksplisitt mÄ delta i kommunikasjonen. Enveis kommunikasjon baserer seg pÄ deltakelse kun fra senderprosessen ved utveksling av data (typisk kommunikasjonsmetode for SMP maskiner). Algoritmer og grensesnitt (f.eks. SHMEM) er utviklet for maskiner hvor prosessorene har et delt adresserom. Hovedforskjellen pÄ enveis og tosidig kommunikasjon ligger i hvilken programmeringsmodell som tilbys, mao. hvordan applikasjonsprogrammereren mÄ forholde seg til kommunikasjon mellom prosesser. Clustere har i utgangspunktet ikke et delt adresserom, noe som skaper problemer ved envis kommunikasjon. Som et resultat har man pÄ mange mÄter forsÞkt Ä skape en illusjon av shared memory ved hjelp av bÄde hardware og/eller programvare, et sÄkalt DSM (Distributed Shared Memory). I denne sammenheng har et bibliotek kalt Global Arrays (GA) blitt utviklet. GA er implementert over kommunikasjonsbiblioteket ARMCI (Aggregate Remote Memory Copy Interface). ARMCI er et portabelt kommunikasjonsbibliotek med fokus pÄ implementasjon av effektive enveis kommunikasjonsoperasjoner i clustere og i shared memory-maskiner. Grensesnittet er ikke standardisert, men benyttes likefullt av flere applikasjoner, f.eks. NWCHEM og GAMESS-UK (gjennom GA). ARMCI likner pÄ mange mÄter SHMEM-grensesnittet for enveis kommunikasjon. Forskjellen ligger i at ARMCI fokuserer pÄ overfÞring av ikke-sekvensielle (strided) datastrukturer. En viktig del av datakommunikasjon er Ä gjÞre denne sÄ effektiv som mulig. Det fokuseres pÄ Ä benytte minst mulig tid pÄ kommunikasjon (overhead) og mest mulig pÄ prosessering/regning. Med dette som utganspunkt undersÞkes det i oppgaven mulighetene for Ä la ARMCI kunne kommunisere over hÞyhastighetsnettverket SCI. Som et utgangspunkt skisserer oppgaven tre hovedmetoder for implementasjon; ARMCI over SCI via TCP/IP, MPI og SCI-driver. Prosjektet er basert pÄ Scali AS sin programvare pakke (med ScaFun og ScaMPI) SSP (Scali Software Package). Det har blir vist at bruk av TCP/IP-implementasjoner som ScaIP over SCI introduserer en hÞy overhead og gir dÄrligere ytelse enn allerede eksisterende ARMCI-implementasjoner over Gigabit Ethernet. Det er videre utviklet en ARMCI-implementasjon utelukkende over en tosidig meldingsutvekslingsstandard, MPI. Denne kan benyttes over SCI ved hjelp av MPI-implementasjonen ScaMPI. ARMCI har ogsÄ blitt implementert direkte over SCI ved hjelp av ScaFun. Denne implementasjonen ser ut til Ä ha stÞrst potensiale nÄr det kommer til selve datakommunikasjonen og bruk av zero- eller one-copy protokoller. Likefullt er faller implementasjonen i denne oppgaven pÄ den hÞye overheaden forbundet med SCI-interrupter. Ved bruk av Hyper-Threading-teknologi fra Intel og en nÞdvendig thread-safe MPI-implementasjon, blir det vist en minimal introduksjon av overhead gjennom bruk av MPI og samtidig hÞy portabilitet
    corecore