Framtiden er parallell

Parallell prosessering gjør at beregninger kjøres raskere enn sanntid. For eksempel kan morgendagens askespredning fra en vulkan simuleres ut fra meteorologiske data. Illustrasjon: Kolbjørn Skarpnes/NTNU Info

Parallell prosessering gjør at beregninger kjøres raskere enn sanntid. For eksempel kan morgendagens askespredning fra en vulkan simuleres ut fra meteorologiske data.
Illustrasjon: Kolbjørn Skarpnes/NTNU Info

I et lite bygg på Gløshaugen på NTNU finner vi Njord. Den gigantiske supercomputeren på cirka 30 tonn fyller hele rommet, summer stille og blinker litt til oss. Med 22 billioner regneoperasjoner per sekund er den blant de største tungregneanlegg i Norden. I dag har den beregnet spredningen av aske fra vulkanen på Island og videresendt data til Meteorologisk institutt som vil gå ut med et varsel.

Bransjer som oljeindustri og meteorologi har måttet ty til gigantiske maskiner som Njord når de har trengt mye regnekraft og egne private maskiner har blitt for små.

Men nå skjer det en endring. Kapasiteten på våre egne datamaskiner kan ikke lenger forbedres ved å kjøre på mer strøm for å øke frekvensen på prosessoren. Parallelle operasjoner blir løsningen som fører til at vi snart vil sitte med hver våre små maskiner med superytelse.

Kombinasjon

Forsker Trond Hagen ved SINTEF forklarer hva som har skjedd:

– Dagens datamaskiner har flere regneenheter som kan brukes til å knuse store tallmaterialer, blant annet grafikkort. Vi har bare ikke utnyttet dette godt nok fram til nå. Det meste av dagens programvare utnytter bare regnekraften i datamaskinens hovedprosessor, den såkalte CPU-en.

– Denne enheten gjennomfører mange logiske operasjoner, og den er fleksibel, men treg. Bare 20 prosent av kapasiteten går til beregninger. En annen type prosessor er GPU-en som behandler grafikk i dataspill (Graphics Processing Unit). Den er utstyrt med opptil 500 kjerner og utnytter ca 80 prosent av kapasiteten sin til beregninger.

– Og kunsten blir å kombinere disse to?

– Riktig. Ved å kombinere CPU og GPU får man en løsning som er både fleksibel og svært effektiv til tunge beregninger. Vi kjører noen beregninger på hovedprosessoren – og så akselererer vi andre beregninger på GPU-en. Slik øker vi ytelsen med 10 til 50 ganger.

GPU-en utnytter forskjellen i arbeidsmåte mellom enkjerne- og flerkjerne-prosessoren, og kjører tusenvis av operasjoner parallelt. Ill: www.doghouse.no

GPU-en utnytter forskjellen i arbeidsmåte mellom enkjerne- og flerkjerne-prosessoren, og kjører tusenvis av operasjoner parallelt.
Ill: www.doghouse.no

Redesign blir nødvendig

Å kombinere de to regneenhetene er et scoop. Likevel fører omleggingen til et praktisk problem.

– Mye programvare er blitt designet for å kjøres sekvensielt: Å jobbe med én og én operasjon om gangen, sier Hagen.

Når sekvensene nå skal deles opp og erstattes av tusenvis av regneoperasjoner som kjøres samtidig på GPU-en, må alle algoritmene – selve beskrivelsene av serien med operasjoner som skal utføres for å løse et problem – lages på en helt annen måte.

– Vi må tenke annerledes. Store problemer må formuleres på en annen måte og splittes opp for at hundrevis av prosessorkjerner skal kunne arbeide sammen for å løse det, sier Hagen.

Simuleringer før sanntid

Forskningsmiljøene ved både NTNU og SINTEF arbeider med den nye trenden.

På SINTEFs Avdeling for anvendt matematikk har forskerne jobbet grunnleggende med forskningsfeltet siden 2004, og bygd opp kompetanse basert på standard hyllevare. Miljøet benytter teknologien mot industri, og samarbeider blant annet med forskere på The National Center for Computational Sciences i Oxford, Mississippi for å simulere oversvømmelser i elva med samme navn.

– Dette er beregninger som kjører fortere enn sanntid og gir beslutningsgrunnlag som kan hindre ulykker, forklarer Trond Hagen. – På samme vis kan informasjon om et jordskjelv føre til at vi kan simulere en tsunami raskere enn den kommer – så folk kan forberede seg. Eller vi kan simulere spredningen av askeutslipp fra en vulkan så sant vi har meteorologiske data og en utslippsmodell.

Institutt for datateknikk og informasjonsvitenskap ved NTNU benytter man grafikkortene for det de er verdt. Her leder førsteamanuensis Anne C. Elster sin High Performance Computing-lab.

Vi bruker spreke grafikkort donert av NVIDIA og AMD på labben vår, forteller Elster. På skjermen vises en videosnutt av snøsimulering av to millioner eller flere snøfnugg i sanntid. I disse lokalene spenner aktiviteten fra snøskred- og ultralydsimuleringer til oljeoppdrag for Schlumberger, og en rekke studenter jobber med sine masterprosjekt og doktorgrader.

Superdatamaskinytelse til alle

Problemløsing med massiv parallellitet gjør at alle snart kan få oppleve maskiner med superdataytelse til skrivebordsbruk. I fjor lanserte både Dell og Microsoft/Cray sine supermaskiner. Dells modell kan regne 250 ganger raskere enn en gjennomsnitts-pc.

– Dette er egentlig bare en vanlig pc med høyytelses grafikkort. Mange tenåringer har like kraftig maskin på gutterommet – for en tredjedel av prisen, kommenterer Trond Hagen.

Disse maskinene vil ikke helt kunne erstatte jobbene som gjøres i forskningsmiljøet, men vil kunne tjene fint som et supplement. På samme vis vil nok gigantmaskiner som Njord aldri bli erstattet av vanlige pc-er. Det vil alltid være behov for stadig større regneoperasjoner.

– Men hva skal vi egentlig med all denne regnekraften?

– Vel, digitale fotografier gror i størrelse, – bare det å justere fargebalansen er en tung jobb. Og HD mangedobler mengden med data. At vi har lært oss å utnytte grafikkort, er uansett et teknologisk gjennombrudd, og sikrer at stadig større problemer kan løses – enten det skjer på gutterommet eller i et vitenskapelig miljø, avslutter Trond Hagen.

 

Åse Dragland