Ny dansk virtuel maskine kan hjælpe forskere til nye gennembrud

Forskere, der løser kræftgåder, kan snart få hjælp fra dansk ph.d.-studerende. Han har udviklet en afløser for Folding@Home, så forskere nemt kan lægge beregninger ud til en helt isoleret virtuel maskine på andres computere, med fuld hastighed.

Videnskabelige gennembrud kræver tit en enorm regnekraft til at knuse data. Og ph.d.-studerende Rasmus Andersen fra DIKU (Datalogisk Institut på Københavns Universitet) er klar til at række forskerne en hjælpende hånd.

Han har udviklet en løsning, hvor et grid, altså et netværk af computere, kan hjælpe forskere med at få løst deres beregningsopgaver på nemmeste vis.

Ved at køre en abstrakt virtuel maskine på de fremmede computere, som ønsker at påtage sig en beregningsopgave, kan forskerne få hjælp fra et stort antal computere. Beregningerne kan derefter køre helt isoleret i en 'sandkasse' på klient-maskinerne, samtidigt med at processen kan udnytte hardwaren i computeren fuldt ud, en kombination der hidtil har voldt problemer.

Normalt vil det give en begrænset hastighed at bruge en virtuel maskine, og de, der kan afvikle programmer i fuld hastighed, er meget omfattende at portere til forskellige arkitekturer. Men det problem har Rasmus Andersen løst.

»Min maskine opnår nativ hastighed, fordi den kommer som en virtuel maskine med en række statiske biblioteker i sig. Pointen her er, at min virtuelle maskine er rettet mod videnskabelige applikationer, og de tilbringer næsten al deres tid i videnskabelige libraries og meget lidt tid i den omkringliggende bytekode, som maskinen afvikler. Hvis vi med denne bytekode kan tillade applikationerne at kalde ned til disse libraries, så kan vi overkomme det performancetab, der normalt er,« forklarer han.

Han har testet sin virtuelle maskine med forskellige videnskabelige beregningsopgaver, og de kører lige så hurtigt, som hvis de blev kørt på computeren som et normalt program.

»Udfordringen er at køre programmer på fremmede computere, uden at computeren behøver at have tillid til disse programmer. Det kan lade sig gøre her, og det her projekt er første gang, at der bliver fokuseret på denne hybrid-model,« forklarer professor Brian Vinter fra DIKU, der er vejleder for Rasmus Andersen.

Hurtigere end Folding@Home

Det har i nogle år været udbredt at downloade programmer, der kunne hjælpe forskere, for eksempel Folding@Home. Disse programmer downloader en pakke data og udnytter de ubrugte ressourcer på klient-computeren til at arbejde sig igennem dataene.

Rasmus Andersens virtuelle maskine har dog flere store fordele i forhold til denne metode.

»Med Folding@Home binder man computeren til kun at løse én slags opgave. Med vores grid-løsning kan enhver forsker sende en opgave ud. Så ved vi ikke, hvad de forskellige computere kører, men vi ved, at opgaven kører i en totalt isoleret proces,« forklarer han.

Samtidigt er det langt hurtigere at sende en opgave til en virtuel maskine.

»Det er markant nemmere for forskere at sende jobs til et grid end at skulle porte til det til det framework, der bruges i for eksempel Folding@Home. Det vil tage et par måneders mandearbejde. De kan tage deres program og bruge min compiler til at oversætte til den bytekode, som min virtuelle maskine kan eksekvere, så det er i høj grad uafhængigt af platform,« siger Rasmus Andersen, og tilføjer, at hans virtuelle maskine er skrevet i C, så den kan bruges på alle platforme med en C-compiler.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (10)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#9 Brian Vinter

Der er en del forskelle - men den vigtigste er at MiG tillader brugerne (typisk forskere) at fordele sine program-kørsler på Grid mens WCG tillader at fordele de enkelte data på Grid. Altså i MiG henter computeren for hvert job det program der skal bruges mens maskinerne på WCG en gang for alle har hentet programmet de kører ned og bare henter nye data (programmet kan selvf opdateres men vil ikke skifte fra job til job)

Det betyde 2 ting; for det første kan forskere bruge MiG til ganske små forsøg (fx 1000 eller enda bare 100 jobs mens WCG kræver millioner), for det andet skal en PC ejer ikke i MiG stole på programmet som forskeren sender ud - man skal stole på den sandkasse som MiG lader programmet køre i. I WCG modellen skal man stole på programmet, det gør så ikke så meget for der er relativt få programmer som er undersøgt godt før de kommer ud (der er også lidt sandkasse men ikke som i MiG).

En hel fundamentel forskel er så også at WCG er ment som et værktøj for anden forskning mens MiG er et datalogisk forskningsprojekt der bruger anden forskning som motivation.

  • 0
  • 0
Log ind eller Opret konto for at kommentere