Hva er en parallell virtuell maskin?
En parallell virtuell maskin er en programvare som lar flere uavhengige datamaskiner spre seg geografisk for å koble seg til hverandre som et nettverk og låne systemets prosessorkraft og minne til ett program.
Endringen i produksjonskostnadene og populariteten til hjemmedatamaskinen har resultert i en økning i overkommeligheten for veldig kraftige datamaskiner i forbrukermarkedet. Disse maskinene er underutnyttet med sine standardprogramvareprogrammer, noe som gir et stort antall prosessorkraftfritt. Parallell programvare for virtuell maskin gjør det mulig å samle og få tilgang til disse ressursene for å løse store, komplekse vitenskapelige, medisinske eller industrielle problemer.
Den parallelle virtuelle maskinen ble først opprettet i 1989 på Oak Ridge National Labs av Al Geist. Basert på arbeidet der ble prosjektet utvidet ved University of Tennessee i mars 1991 og har vokst jevnt siden den gang.
Et parallelt virtuelt maskinsystem har to deler, applikasjonen som sitter på de enkelte maskinene og biblioteket med grensesnittrutiner. Programvaren kalles den parallelle virtuelle maskindemon, pvmd3 eller pmvd. Dette lille programmet sitter passivt til det kreves for å kjøre en parallell virtuell maskinapplikasjon. Når brukeren ønsker å kjøre denne typen programmer, må de først starte den parallelle virtuelle maskinen. Dette gir dem tilgang til programvaren på enhver annen vert.
Det parallelle rutinebiblioteket for virtuelle maskiner inneholder alle en fullstendig liste over alle kodene som er nødvendige for å koordinere forskjellige oppgaver som kjøres på separate verter. Inkludert i dette biblioteket er standardrutiner for overføring av meldinger, koordinering av oppgaver og eventuelle endringer i selve den virtuelle maskinen.
Kjernekonseptet bak den virtuelle parallelle maskinen er at enhver applikasjon har flere oppgaver som kan kjøres uavhengig. Denne typen logikk er veldig vanlig er komplekse vitenskapelige beregninger. Det er to modeller brukt i parallelle virtuelle maskiner; funksjonelle og dataparallalismer.
Funksjonelle paralleller skiller en applikasjon i klart definerte, uavhengige oppgaver. Disse oppgavene utføres på separate vertsmaskiner. Den parallelle virtuelle maskinen brukes til å koordinere basert på funksjonene, for eksempel input, løsning, output og display.
Dataparallalisme eller SPMD (single program multiple data) er den mer populære metoden. I denne metoden er alle oppgavene like, men hver vert løser et lite stykke av det større puslespillet. Et parallelt virtuelt maskinmiljø støtter begge metodene, noe som er viktig da det kan være mest effektivt å blande disse to metodene avhengig av beregningene som kreves.
C, C ++ og Fortran er dataprogrammeringsspråk som brukes i den parallelle virtuelle maskinen. Disse språkene ble valgt fordi de fleste applikasjonene som ble brukt i dette miljøet, var bygget på disse språkene. Kildekoden for parallell virtuell maskinvare er allment tilgjengelig på internett og kan nås via ftp, www, xnetlib eller en automatisk e-post.