Project Payback
 

Disse sidene er under utvikling, mer informasjon om prosjektet vil komme etterhvert.

Introduksjon

Clustering
Maskinkrevende dataprosessering har markert seg som et av de områdene innen data der de største besparelsene nå åpenbarer seg. Tidligere generasjoner har vært avhengige av stormaskiner med avansert prosessorteknologi og maskinarkitektur, og dermed vært begrenset til en liten, gitt produsent/levrandør-skare. Utviklingen innen mikroprosessorer og PC-arkitektur har nylig gjort det mulig å bruke store mengder små og billige maskiner, koblet sammen, i stedet. Det finnes nå veldefinerte og robuste verktøy for slik parallellprosessering (muligheten til å jobbe sammen på data som en virtuell stormaskin).

Denne sammenkoblingen av mindre, masseproduserte maskiner kalles for clustering og det er en metode som brukes mye rundt om i verden idag, spesielt innenfor univeristeter og større forskningsorganisasjoner (som f.eks. NASA). Clustering er også en stor markedsfilosofi hos eldre stormaskinprodusenter som IBM, men disse parallelle virtuelle maskinene skiller seg fra den mest utbredte filosofien bak denne typen teknologi, nemlig COTS clustering.

COTS
COTS (Commodity Off The Shelf) -clustering viser til en skalerbar teknologi hvor man erstatter stormaskinen (eller maskiner som kommer fra en spesifikk levrandør) med vidt tilgjengelig teknologi, som PCer. Dette gir betraktelige kutt i kostnadene for et oppsett med den samme prosessorkraften, siden teknologien er billigere og man ikke er bundet til en enkelt levrandør. I tillegg gjør dette at det blir enklere å skifte ut eller legge til maskiner i et gitt cluster.

Vår (Project Paybacks) clusterutvikling baserer seg på COTS-clustering der vi spesielt ønsker å vise hvor egnet Alpha prosessoren er til slike formål. Men vi tar også for oss forskjellige ytelsesøkende teknologier som ennå ikke har blitt vidt tilgjengelig. Et eksempel er nye typer nettverkskommunikasjon, som Dolphins Wulfkit, PUs PAPERS og MediaFusions Night Lights, som enda ikke har etablert seg som store standarder. Vi ønsker å demonstrere forskjellige sammensetninger av hardware og software der vi baserer oss på operativsystemet GNU/Linux.

Fri Software
Vi stiller oss bak GNU-filosofien og benytter det GPL lisenserte GNU/Linux operativsystet. GNU/Linux, som kan brukes til det meste, er også perfekt som fundament for et cluster. Som et robust, tillpassningsdyktig, vidt utbredt og ikke minst billig operativsystem, går GNU/Linux hånd i hånd med COTS-cluster-filosofien. GNU/Linux har derfor blitt førstevalget hos utviklingsmiljøene, og det har blitt laget enorme mengder verktøy for clustering og parallellprosessering til GNU/Linux. NASA, som er en av hovedaktørene bak systemet, har kalt dette cluster-feneomenet for et Beowulf-Cluster, som betegner 'COTS clustering med Fri Software'. Disse Beowulf-clusterene kjører på en stor mengde forskjellig hardware med et stort antall forskjellige oppsett, både med bruk av kommunikasjonsbibliotek som PVM og MPI, og med reell deling av minne.

Kommunikasjonsbibliotek
PVM og MPI er metodestandarder som man utvikler programmeringsbibliotek fra. Slike metoder må skisseres og implementeres (med f.eks. programmeringsbibliotek) for at et cluster skal kunne kommunisere og fordele prosesser. De mest utbredte metodene brukt i cluster-programvare i dag er MPI (Message Passing Interface) og PVM (Parallel Virtual Machine), hvor MPI er nyere og blir brukt hovedsaklig av bedrifter og proprietære cluster-pakke-utviklere (som SCALI i Norge). PVM blir brukt i universitet og forskermiljøer. Det finnes mange syn på hvilket system som er best, og vi vil forsøke å gå litt gjennom disse. I tråd med GNU-filosofien finnes det varianter av begge metoder i pakker som er Fri Software Disse kommer i form av programbibliotek og servere (deamons), PVM for PVM, og MPICH, LAM og AFMPI for MPI.

Eksempler
I prosjektet presenterer vi også flere mer spesefike implementasjoner av clustere, som f.eks. vårt oppsett for seismisk prosessering av data (med SU/DSU). Vi vil også komme inn på muligheter for videre utvikling av cluster-systemene og evt. ny utvikling av programvare der det trengs. Dette er ikke et prosjekt vi vil avslutte etterhvert som vi når målene - vi kommer til å utvide det i takt med utviklingen i teknologien. Tanken bak prosjektet er å presentere GNU/Linux-alternativene til bedrifter og organisasjoner som prosesserer store mengder data.

Vi ønsker å komme i kontakt med alle interesserte, og vil være behjelpelige med informasjon om GNU/Linux-alternativet. Rett alle spørsmål til vegard@copyleft.no

 

Videre lesing :

http://www.beowulf.org
http://www.netlib.org/
http://www.epm.ornl.gov/pvm/pvm_home.html
http://landau.mines.edu/pvm/
http://www.rs6000.ibm.com/
http://www.aspsys.com
http://cwp.mines.edu/