(DCGC logo)

Dansk Center for Grid Computing


Regnekraft fra et stik i væggen?

(el-stik) I Danmark ved alle, at el, det er noget der kommer ud af et stik i væggen. Det har vi vænnet os til, så det nu er helt naturligt. Idag er der i mange hjem også et stik, der giver adgang til Internettet. Derude er der et hav af informationer, billeder, musik og andre nyttige (og unyttige) ting, som man kan søge efter, så for børn idag er information og underholdning også noget, der kommer ud af et stik i væggen.

Kan vi forestille os en verden, hvor regnekraft fra computere kommer ud af væggen? Det kan de forskere, der står bag Dansk Center for Grid Computing. Og sammen med fagfæller fra hele verden arbejder de på at gøre deres vision til virkelighed.

Hvad er Grid Computing?

(En pulje af computere) Grid Computing er en teknik, der gør det muligt for folk at oprette store puljer af computere, som de så deles om at bruge. Ideen kan minde lidt om andelsbevægelsen: Deltagerne bidrager til puljen med nogle computere, som de hver for sig ejer, men som de er villige til at stille til rådighed for andre. Har man i en periode behov for at bruge meget regnekraft, hukommelse, diskplads eller andre computerressourcer, kan man ud over de computere, man selv har bidraget med, benytte yderligere computere fra puljen. Har man i en periode kun et lille behov, får andre deltagere lov til at udnytte de ressourcer, som man har bidraget til puljen med. Naturligvis behøver man ikke fysisk at være i nærheden af computerne for at dele deres ressourcer: Nu om dage kan sådan noget ordnes med en forbindelse gennem et datanet.

Givet sådan en pulje af computere og plads til at lagre programmer og data, er det et kendetegn for Grid computing, at der er et styresystem, der fordeler opgaverne blandt de computere, der er ledige. Så man får netop fornemmelsen af, at regnekraft bare "kommer ud af et stik i væggen", ligesom elkraft. Og ligesom med elkraft behøver den enkelte forbruger ikke interessere sig for, helt præcist hvor det kommer fra.

Hvad kan man bruge det til?

Næsten alle, der har brugt en PC, har på et eller andet tidspunkt haft den fornemmelse, at computeren var for lille og for langsom! Man havde en opgave, som den tog uendelig lang tid at gøre sig færdig med. Eller disken løb fuld. Eller der manglede et eller andet specielt, som var nødvendigt for løsning af opgaven.

(Passer det røde molekyle?) Nu om dage er der rigtig mange opgaver inden for naturvidenskab, teknik, økonomi og samfundsvidenskab, hvor en enkelt PC slet ikke kan hamle op med de beregninger, som er nødvendige. Ved udvikling af ny medicin, for eksempel, kan det være nødvendigt at regne ud, hvilke egenskaber medlemmerne af en bestemt gruppe af kemiske stoffer har, for at se om nogle af dem er særligt velegnede til formålet. Billedet til venstre viser et eksempel, hvor man har prøvet at regne sig frem til, om det røde molekyle passer ind i "hullet" i midten af TGT-proteinet (blå farve), så det kunne spille en aktiv rolle som medicin.

For ikke at gå glip af nogle gode muligheder, kigger man måske på ti millioner forskellige beslægtede stoffer. Hvis man tog en kraftig moderne PC, og satte den til ikke at lave andet end at arbejde på disse beregninger, ville den tage måske 2-3 år for at gøre sig færdig. Det turde være klart, at opgaver af denne størrelse kun kan løses i løbet af en rimelig tid, hvis man kan få mange computere til at arbejde sammen om opgaven.

Blandt mange andre spørgsmål, som typisk kun kan besvares nøjagtigt ved hjælp af store beregninger, kan nævnes:

For at besvare sådanne spørgsmål behøver man i nogle tilfælde så mange computere, at en enkelt virksomhed eller institution ikke ville finde det økonomisk forsvarligt at købe dem alene. Det er især af denne grund, at ideen om en pulje bliver så tillokkende.

Hvordan opbygges puljen?

I princippet kan den enkelte bidrage med så lidt som en enkelt PC, med hvad den nu har af regnemuligheder, hukommelse, diskplads og så videre. Nogle af de ældste eksempler på Grid Computing var baseret på netop denne måde at gøre ting på: En store regneopgave blev delt op i mindre dele og sendt ud til de enkelte deltageres personlige PC'er, for eksempel i form af et særligt screensaver program. I stedet for blot at vise billeder af fisk, der svømmede rundt, når PC'en ikke havde andet at lave, ville der så regnes på den udsendte regneopgave. Som oftest havde de valgte opgaver en stor samfundsmæssig interesse. De kunne for eksempel gå ud på at finde en kur for kræft, eller at lede efter intelligent liv ude i universet, og derfor var det ikke svært at få almindelige mennesker til at melde sig som deltagere. Der findes stadig en hel del opgaver af denne type, som man kan deltage i, hvis man har lyst.

Dagens teknik: klynger

(Klynge på AAU) Det er ikke altid muligt at dele en regneopgave op i små, bekvemme dele, som hver for sig kan løses på en almindelig PC. De fleste forsøg med Grid computing er derfor nu om dage baseret på brugen af såkaldte klynger, snarere end enkelte computere. En klynge består af en gruppe af computere, der arbejder tæt sammen. Det er fint til ikke alt for store opgaver, men stadig ikke nok til de største eller i situationer, hvor man har ekstra travlt i en periode. Så i et typisk samarbejde omkring Grid computing vil der være en samling af klynger, som samarbejdsparterne bidrager med.

Partnerne i Dansk Center for Grid Computing er forskergrupper på fire danske universiteter, med et tæt samarbejde med virksomheder, der har interesse for området. Hver forskergruppe har sin egen større eller mindre klynge, og disse er bundet sammen med et meget hurtigt datanet. Billedet til venstre viser (en del af) en af Centerets klynger, nemlig den der står på Aalborg Universitet. Hele klyngen indeholder 50 PC'er og en diskenhed med plads til 3000 Gigabytes af data.

Hvor ligger udfordringen for Centeret idag?

Centerets opgaver er dels at udbrede kendskab til Gridteknologi blandt virksomheder og offentlige institutioner, dels at gøre teknologien bedre og mere anvendeligt.

Det er nemlig ikke helt nemt at få et større antal computere til at samarbejde! I et system baseret på brug af Gridteknologi stilles der en række krav, som det kan være svært at honorere, og hvor en del mere forskning kræves. Blandt andet:

  1. Fordeling af opgaver: (animeret søgning) Når man gerne vil have en opgave udført, er det op til styringssystemet i Gridpuljen at finde ud af på hvilke af de deltagende computere, opgavens dele skal køre. De skal have netop de ressourcer, som opgaven behøver, de skal være ledige og, sidst men ikke mindst, de skal helst være rimeligt tæt på, så tidsrøvende overførsler af store mængder af data gennem datanettet kan undgås. Det er ikke nogen lille udfordring på en effektiv måde at finde en passende gruppe, der opfylder alle disse betingelser, blandt de måske tusinder af computere, som en pænt stor Gridpulje omfatter.
  2. Placering af data: I en meget stor pulje vil de enkelte klynger ofte være spredt over et stort geografisk område. Overførsel af filer med data mellem klyngerne kan da tage lang tid, selv når de forbindes med hurtige datanet. Det har de fleste Internetbrugere måttet sande, når de henter store billeder eller ny versioner af programmer via Internettet. Ofte prøver man at afhjælpe situationen ved at have flere kopier af hver fil placerede rundt omkring. Men hvor mange kopier har man brug for? Og hvordan sikrer man på en effektiv måde, at alle kopier er ens, når der gemmes ny værdier i dem som led i opgavernes afvikling?
  3. Sikkerhed: Det ligger i sagens natur, at computerne i en Gridpulje skal kunne udveksle data med hinanden uden unødige hindringer. Men hvad skal man så gøre, hvis et ondskabsfuldt program såsom en computervirus eller orm trænger ind i puljen et eller andet sted? Eller hvis en af brugerne begynder at opføre sig dårligt? Hvordan kan man sikre, at disse angreb opdages og at virkningerne ikke spreder sig meget hurtigt til alle computerne i puljen?

Partnere i DCGC

Akademiske partnere i DCGC er: For yderligere information, kontakt centerleder, professor Eric Jul, DIKU.


Redigeret af: Robin Sharp, IMM-DTU.
Sidst ajourført 050603.