Gridd & Kluster tacklar terabyten
År 2007 går startskottet för jakten på Higgs bosoner, supersymmetriska partiklar och andra hittills okända partiklar. Då kommer den nya partikelacceleratorn vid Cern, som är det europeiska laboratoriet för partikelfysik i Genève, att krocka sina första protoner. Förhoppningsvis finns bevis för de mystiska partiklarna gömda i de data som då börjar strömma ut från detektorerna. För att hitta bevisen gäller det dock att vara väl förberedd. Forskarna övar därför redan nu, fast med simulerade partikelkollisioner.
Man räknar med att det verkliga experimentet kommer att leverera ofattbara 10 petabyte data per sekund! Mycket snabba så kallade triggerprocessorer kommer dock att reducera detta enorma flöde så att det som måste lagras minskas till några gigabyte per sekund, eller cirka 10 petabyte per år.
För att ro projektet i land krävs det 2 000 forskare spridda på 160 institutioner i 40 länder. Men de skulle stå sig slätt utan sitt främsta analysverktyg: gridden.
En gridd består av ett stort antal datorer kopplade via ett datornät på så sätt att forskaren kan använda dem som en enda gigantisk datorresurs. Ofta är det hundratals persondatorer på en plats som kopplas med liknande så kallade kluster på andra platser. För Cern-forskningen kommer storleksordningen hundratusen persondatorer spridda över hela världen att användas på detta sätt. En svensk sådan gridd öppnade förra året. Den heter Swegrid och består av sex kluster med vardera 100 datorer utplacerade på sex olika platser i landet.
Tord Ekelöf, professor i elementarpartikelfysik och initiativtagare till Swegrid, drar paralleller till World Wide Web. Denna omistliga del av internet togs fram vid Cern för att hjälpa de geografiskt spridda forskarna att samarbeta. Nu utvecklar partikelfysikerna åter programvara som ska underlätta samarbetet, denna gång kring gridden.
Centralt i en gridd är det så kallade mellanprogrammet. Det gör att forskaren kan använda alla inkopplade resurser oavsett var de befinner sig. Mellanprogrammet hanterar också de konflikter som uppstår när flera forskare samtidigt vill utnyttja begränsade beräkningsresurser och håller reda på vem som utnyttjar hur mycket av resurserna. Det mellanprogram som används i Swegrid kallas ARC och har utvecklats i ett nordiskt samarbete kallat Nordugrid.
Snart är det exabyte
Inte bara partikelfysiker använder griddar. Flera pågående kartläggningar av universum håller på att ge astronomerna samma överflöd av data. Ett exempel är Sloan Digital Sky Survey som har kartlagt miljarder galaxer och innehåller ungefär 40 terabyte data.
Astronomerna och fysikerna har därmed ett gemensamt problem: internet hänger inte med i utvecklingen. Trots att överföringshastigheten tusenfaldigats på tio år räcker det inte. En gigabyte tar 1 minut att överföra på internet, en terabyte tar 2 dagar, men en petabyte tar 3 år!
– I dag arbetar vi med terabyte, men mängden data vi får in växer exponentiellt. Vi räknar med att nästa kartläggning ska ge åtskilliga petabyte med data. Snart kommer det att handla om exabyte, säger professor Alex Szalay, astrofysiker vid Johns Hopkins University.
Det kallas e-forskning
Griddatorer används också av biologer som kartlägger proteiner och jordbävningsforskare som simulerar jordskalv. Oavsett inom vilket område som forskningen bedrivs kännetecknas den av stora grupper av geografiskt spridda forskare som använder gemensamma datasamlingar.
Alex Szalay menar att detta är en helt ny form av forskning, han kallar den e-forskning, och beskriver den som ett slags upptäcktsresa i ett okänt landskap av data. Skillnaden mot tidigare är att insamlingen av uppgifter visserligen är en storartad insats, men att själva forskningen sker när man bearbetar datamängden för att kunna bekräfta en teori eller dra nya slutsatser.
Problemet väljer datorn
En gridd lämpar sig särskilt väl för problem som kallas trivialt parallella. Tänk dig att du ska gräva ett dike. Då går det i princip tio gånger så snabbt om det är tio personer som gräver. Dikesgrävning är därmed trivialt parallellt. Om du däremot ska gräva en smal men djup grop är det snarare seriellt. Troligen är det bättre om fler gräver, men arbetet måste organiseras annorlunda, och det går inte tio gånger så snabbt med tio personer.
– Många problem ligger någonstans mitt emellan, som att mura en vägg, säger professor Bo Kågström, ansvarig för Sveriges nordligaste högpresterande datorcenter, HPC2N i Umeå.
Väderprognoser, simulering av luftflödet kring ett fordon och beräkningar av vad som händer när en blixt slår ner i en viss flygplanstyp är exempel på problem som går hyfsat bra att utföra parallellt, men de är inte triviala. I dessa fall är inte en gridd den optimala lösningen.
I en väderprognos delas atmosfären in i ett tredimensionellt nät av block. Programmet räknar ut hur vädret utvecklas i varje block under en viss tidsrymd. I en parallelldator har varje del av datorn, kallade noder, ett visst antal block att räkna på. När programmet går ett steg framåt i tiden måste alla noder dela med sig av vad som hänt i gränserna mellan blocken. Hur effektivt problemet löses beror på hur väl arbetet kan delas upp och hur ofta och hur mycket data som måste delges. Ju mindre kommunikation som sker mellan noderna desto bättre prestanda.
Lars Davidson, professor i fluid- och termodynamik vid Chalmers tekniska högskola, använder högpresterande parallelldatorer på Nationellt superdatorcentrum (NSC) i Linköping för att beräkna hur luften strömmar kring fordon.
– Det är inte speciellt svåra beräkningar och det är bra parallellism, men vi kan aldrig köra på 1 000 datorer, säger han. Det blir för mycket kommunikation mellan datorerna och går knappt snabbare än på häften så många.
Kluster dominerar
Ett ytterligare exempel kommer från kvantkemin. I dag vet forskarna i stora drag hur fotosyntesen går till. Men flera detaljer är okända, till exempel exakt hur det enzym ser ut som frigör syreatomer ur vattenmolekyler. Detta enzym är en molekyl som består av flera tusen atomer, bland annat har metallen mangan en central roll.
Enzymet låter sig dock inte avbildas med traditionella metoder. Vid Stockholms universitet har därför en forskargrupp ledd av professor Per Siegbahn tagit högpresterande datorer till hjälp. De bygger upp molekylen i datorn och gör sina experiment, som de säger, in silico.
Just nu provkör de det som kommer att bli Sveriges snabbaste dator. Den är döpt till Lenngren och består av 442 persondatorer sammankopplade i ett supersnabbt datanät i en datorhall på Parallelldatorcentrum, PDC, vid Kungliga Tekniska högskolan. I teorin kan den utföra 5 biljoner decimalberäkningar per sekund (5 teraflops).
Lenngren är en så kallad klusterdator och typisk för de högpresterande datorsystem som byggs i dag. Till skillnad från en gridd är alla de ingående delarna samlade på samma plats. Både en gridd och ett kluster består dock ofta av sammankopplade persondatorer.
Standardprogram
När Per Siegbahn började med sina kvantkemiska beräkningar fanns inga färdiga program. Han skrev dem själv. Då handlade också forskningen mycket om att försöka efterlikna experiment man kunde genomföra i verkligheten.
– Vi kunde pröva med en vattenmolekyl och se att beräkningarna stämde, men särskilt mycket nytt om naturen fick vi förstås inte reda på, säger Per Siegbahn.
I dag är det annorlunda. Nu använder han standardprogram, på en dator som består av persondatorer. Men viktigare är förstås att han nu också genomför experiment i datorn som man inte kan utföra i verkligheten. Lenngren är dessutom 10 gånger snabbare än den som ersätts, och det betyder att programmen körs på några timmar, snarare än dagar.
Lenngren är långt från de superdatorer som byggdes på 1980-talet. Många minns nog Seymour Crays soffliknande skapelser. Av de högpresterande datorer som byggs i dag är få av den sorten. Av de 500 snabbaste datorerna i världen är över hälften kluster av persondatorer. För bara fem år sedan fanns det bara en handfull kluster.
Det viktigaste skälet till att de har slagit igenom är priset. Räknat i flops per krona är det oslagbart. Det går dock inte att bygga hur stora kluster som helst med persondatorer.
Superdatorn BlueGene
BlueGene är världens i särklass snabbaste superdator. Med sina 71 teraflops toppar den listan, och det är ändå bara en testversion. Det system som IBM ska leverera i år till amerikanska energidepartementets atomforskningsorgan beräknas komma upp i 360 teraflops.
En sådan superdator kräver specialkomponenter och specialprogram som kostar betydligt mer per prestandaenhet än ett kluster av standardkomponenter. För en persondator är det viktigt att ha hög klockhastighet, alltså utföra många beräkningar per sekund, men det drar ström som i processorn omvandlas till värme vilket gör att datorn blir varm. Kopplar man samman flera tusen persondatorer i kluster blir värmeutvecklingen ohanterbar.
BlueGene är också konstruerad för att effektivisera kommunikation mellan processorerna. I själva verket är varannan processor helt upptagen med att sköta denna kommunikation. Det gör att BlueGene klarar vissa typer av problem bättre än ett vanligt kluster.
Molekylsimuleringar
– De kluster som nu är populära är idealiska för beräkningar av molekyldynamik, säger docent Lars Ojamäe, teoretisk kemist vid Linköpings universitet.
I simuleringar av molekyldynamik låter man molekylerna röra sig genom att lösa Newtons ekvationer. Man beräknar kraften på varje partikel vid ett visst tidssteg, räknar ut hastigheten och positionen vid ett litet tidssteg senare, räknar ut krafterna på nytt och så vidare.
Simuleringsprogrammet delar upp arbetet så att varje persondator, varje nod, beräknar växelverkan mellan partiklarna i en grupp av atomer eller molekyler. Den krävande delen av beräkningarna är just kraftberäkningarna. Om krafterna beror av avståndet mellan 2 partiklar, och man har 100 000 partiklar, så måste man i princip räkna ut kraften på varje partikel från alla andra partiklar, vilket skulle motsvara ungefär tio miljarder beräkningar. Ett vanligt tidssteg är en femtosekund (10-15 sekunder), och den önskvärda simuleringstiden är från 1 nanosekund (10-9 sekunder) och uppåt. Totalt blir det då omkring 1016 beräkningar av funktionen.
I vissa fall, till exempel när beskrivningen av växelverkan är mycket invecklad, kan man också behöva mycket arbetsminne eller så snabb kommunikation att noderna måste vara tätt sammankopplade och dela samma minne. Då kan den gamla tidens typ av superdatorer komma till användning. De har en så kallad delad minnesresurs.
Minneshantering
Oavsett vilken typ av högpresterande dator det handlar om sitter det någonstans en eller flera processorer som utför själva beräkningarna. I ett kluster är det ofta två processorer i varje persondator. HPC2N:s Sarek består av 192 persondatorer, men har följaktligen 384 processorer. Processorerna tillbringar ofta sin tid med att vänta på data från något minne. Exakt hur länge är dock starkt beroende av hur väl programmet är skrivet och hur väl datorsystemet är anpassat till problemet som ska lösas. Om processorerna i ett kluster arbetar mer än 10 procent av tiden anses det mycket bra.
Ett problem är att det minne som finns närmast processorn, och som är snabbast, inte är särskilt stort. En superdator använder en hierarki av minnen, från det mest lokala minnet, cacheminnet i processorn, via lokalt arbetsminne och hårddiskar, till centralt delat minne. Det lokala cacheminnet är alltså snabbt men litet, medan det mest avlägsna minnet kan vara gigantiskt men också långsamt. För att minska väntetiden för processorn försöker man i förväg lista ut vilka data som behövs och skicka upp dem i hierarkin så att de ligger och väntar i cacheminnet när processorn behöver dem.
En metod som utvecklats av Bo Kågströms forskargrupp vid Umeå universitet i samarbete med IBM T.J. Watson Research Center kallas rekursiv blockning. Det innebär att en beräkning delas upp i mindre delar som i sin tur delas upp i mindre delar till dess att man har fått en behändigt liten beräkning som kan genomföras av processorn med de data som ryms i cacheminnet. Rekursion stämmer väl överens med hur minnet är organiserat i en klusterdator och har därför visat sig ge mycket snabba beräkningar. Rekursiv blockning anpassar med andra ord automatiskt beräkningarna till datorns minneshierarki.
Grus i realtid
Riktigt snabba beräkningar behövs om datorn ska kunna svara användaren direkt i så kallad realtid.
Om man spelar ett dataspel dör den man skjuter direkt framför ögonen på en, och om man arbetar i ett bildbehandlingsprogram får man se effekterna av sina kommandon direkt i bilden. Normalt utförs beräkningar på högpresterande datorer dock på samma sätt som de gjordes på stordatorernas tid för femtio år sedan. Man skickar in ett jobb och får tillbaka resultatet en stund senare. ”En stund” kan vara allt från några minuter till flera dagar. Detta kallas satsvis bearbetning, och under tiden man väntar kan man inte påverka programmet. Motsatsen kallas realtids- eller interaktiv bearbetning. Interaktivitet och realtidstillämpningar är allt vanligare i ordinära persondatorer, och nu kommer de också alltmer i de högpresterande systemen.
Ett exempel är beräkningar på hur sand beter sig i en skopa på en lastmaskin. Företaget Oryx Simulation i Umeå håller tillsammans med Umeå universitet på att ta fram en simulator där en förare på ett så verklighetstroget sätt som möjligt ska kunna lyfta grus i en skopa. Problemet är mycket svårt eftersom högen beter sig mycket olika beroende på materialegenskaper hos kornen, deras storlek, temperatur och fuktighet. Traditionellt använder man ett finmaskigt nät för att simulera ett materials beståndsdelar, vilket blir svårt att hantera beräkningsmässigt när materialet ändar form och nätet hela tiden måste ritas om.
– Vi använder i stället partiklarna som bas. De följer ju självmant med materialet allteftersom det ändrar form, säger Bo Kågström vid HPC2N som tillsammans med Kenneth Holmlund-Bodin leder projektet.
Att simulera hur stora mängder av ett visst material beter sig ställer krav på att systemet kan hantera flera skalor samtidigt. Denna typ av problem kallas också multiskalproblem och är besvärliga eftersom ett material har olika egenskaper i olika skalor.
Väder i skurar
Man skulle kunna tro att de program som kördes på Sveriges allra första dator, Besk, numera lätt skulle kunna hanteras av en miniräknare. Och det gäller förvisso för många av de problem som sysselsatte Besk för femtio år sedan. Men en tillämpning har hängt med och fortsatt konsumera hela den mängd datorkraft som man allteftersom kunnat ställa till förfogande. Det handlar om väderprognoser.
När beräkningskapaciteten ökar förfinar i stället meteorologerna metoderna. För ett tiotal år sedan var det inte längre meningsfullt att enbart minska storleken på blocken i beräkningen, trots att den ökade beräkningskapaciteten medgav det. Man började också räkna med flera prognoser i samma körning. Eftersom det fanns tid över kunde man helt enkelt låta datorn kontrollräkna. Genom att göra små förändringar i ingångsdata kunde man samtidigt se hur stabil prognosen var. Om prognoserna såg lika ut kunde man säga att prognosen var säkrare än om man såg att bara en liten förändring av indata gav helt olika utfall.
I dag har man gått ytterligare ett steg, och numera är beräkningarna före prognosen minst lika tunga som själva prognosen. Eftersom antalet mätpunkter är ojämnt fördelade geografiskt, och dessutom ibland har data från olika tidpunkter har det visat sig att man kan få säkrare prognoser om man bearbetar indata innan själva prognosen startar.
– Den bättre kartläggningen ger förutsättningar för säkrare prognoser av både den storskaliga lågtrycksutvecklingen och av det mer detaljerade vädret, säger Lars Häggmark, meteorolog vid SMHI.
För att orka med dessa nya beräkningar invigdes i februari i år en ny dator vid Nationellt superdatorcentrum i Linköping. Det nya datorsystemet, som fått namnet Blixt, är ett kluster som består av 60 persondatorer.
Persondatorerna räcker inte
En vanlig hemdator är i dag betydligt snabbare än de superdatorer som levererades för mindre än tio år sedan. De beräkningar som då krävde superdatorer, bland annat hållfasthetsberäkningar, ligger i dag inbäddade i konstruktionsprogrammen och körs på en enda persondator. Men som exemplet med väderprognoser visar – och astrofysiken och partikelfysiken – är en del problem sådana att det aldrig tycks finnas nog med datorkraft. Superdatorerna har jobb även i framtiden.