Som tidligere nevnt er jeg for tiden i Edinburgh for å herje rundt med HECToR, en av de supreste superdatamaskinene i Europa. Men hva er egentlig en superdatamaskin, hvordan skiller den seg fra et cluster (eller en klynge, som det heter på norsk) og hvorfor gidder vi å reise helt til Edinburgh for å bruke en maskin vi uansett bare får tilgang til via nettet?
Jeg begynner med det siste spørsmålet, siden svaret er åpenbart: Fordi noen andre betaler. Pluss, naturligvis, at formålet med å gi oss penger er å fremme samarbeid mellom forskere i Europa, at det er mye lettere å få support når vi kan stikke og snakke med folkene som jobber med dette til daglig, at det er Fringe og sikkert andre tungtveiende grunner jeg ikke kommer på i farten.
En klynge er rett og slett ikke noe annet enn en hel haug med datamaskiner som er koblet sammen i et nettverk, på en slik måte at det er mulig å kjøre programmer over flere maskiner. Et Beowulf-cluster, som jeg lenge trodde var et superdatamaskinmerke, er for eksempel bare en bråte med ordinære maskiner, så hvem som helst kan bygge sin egen. Jeg sasker fra
Wikipedia, som igjen har sakset fra
Beowulf HOWTO:
Beowulf is not a special software package, new network topology, or the latest kernel hack. Beowulf is a technology of clustering computers to form a parallel, virtual supercomputer. Although there are many software packages such as kernel modifications, PVM and MPI libraries, and configuration tools which make the Beowulf architecture faster, easier to configure, and much more usable, one can build a Beowulf class machine using standard Linux distribution without any additional software. If you have two networked computers which share at least the /home file system via NFS, and trust each other to execute remote shells (rsh), then it could be argued that you have a simple, two node Beowulf machine.
I tilfelle noen ikke har kjøpt julegave til meg ennå kan jeg jo nevne at jeg ønsker meg en slik.
HECToR, maskinen vi har fått tid på, er som nevnt en superdatamaskin, som egentlig vil si at det er en hel haug med sammenkoblede datamaskiner, altså en klynge, men for å kunne kalles en superdatamaskin kreves litt ekstra i tillegg. En av grunnene til at man ønsker å bruke en superdatamaskin er som regel at en vanlig maskin enten ikke har nok minne, eller for få prosessorer, eller begge deler. En maskin som HECToR Har for eksempel 44544 prossessorkjerner og 59400 gigabyte RAM, så det skulle være nok til alle. Utfordringen er imidlertid at hvis man bare tar vanlige datamaskiner og kobler dem sammen med vanlig nettverk, tar det veldig lang tid å kommunisere mellom maskinene. En essensiell del av en superdatamaskin er dermed rask kommunikasjon, og i HECToR, som er en Cray XE6, sitter hver prossessor på sin egen fancypants Gemini-chip, som er et latterlig raskt nettverkskort med en hel bråte tilkoblinger.
Så hvordan vet du om du trenger en superdatamaskin, eller om du kan greie deg med et Beowulf-cluster? Det kommer an på hvor parallelliserbart problemet ditt er. Mer om dette senere.
-Tor Nordam