1 research outputs found
Global Arrays over SCI : Enveis kommunikasjon i clustere
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