Hardcore-programmører med hår på brystet
Posted on marts 15, 2007
Filed Under Artikelarkiv, Digitale forbrugerartikler, Prosa-Bladet
Mens vi venter på kvantecomputeren: Danske dataloger har kastet deres kærlighed på den nye Cell-processor, der bruges i blandt andet den nye PlayStation 3.
Det kræver “programmør-hår på brystet” at være med i det projekt, som professor Brian Vinter fra Datalogisk Institut på Københavns Universitet (DIKU) sammen med sine kolleger har kastet sig over. På Linuxforum i begyndelsen af februar fortalte han om nødvendigheden af at udvikle processorer med flere kerner til tunge beregninger – og udvikle nye programmer, der kan håndtere det omfattende talknuseri.
- Jeg har tidligere sagt, at det kun er ti procent af programmørerne, der magter det her. Men det er nok højt sat – så mange tror jeg ikke kan klare det. Det er meget, meget komplekst, forklarer Brian Vinter.
Hensigten er at udvikle billigere og langt stærkere supercomputere end dem, vi kender i dag, ved at basere sig på processorer med flere kerner. Sammen med kolleger på DIKU er datalogiprofessoren langt fremme med praktiske eksperimenter med Sonys, IBM’s og Toshibas Cell-processor, der er beregnet til avancerede grafiske spil, og blandt andet findes i Sonys nye PlayStation 3. Cell-processoren har ni kerner, en central power processor og otte mindre såkaldte SPE’s (Synergistic Processor Element).
Foruden de ni kerner har processoren cirka 250 millioner transistorer på 236 kvadratmillimeter. Frekvensen er på 3,2 GHz, og så kan den levere mere end 200 gigaflops med kommatal på 32 bit, hvilket er rigeligt præcist til spil. Men videnskabelige beregninger kræver beregninger i det, der hedder double precision på 64 bit, og her kan Cell-processoren levere mere end 20 gigaflops. Flops er den typiske måde at beregne en computers kapacitet. En flop svarer til en beregning med flydende komma: FLoating point Operations Per Second.
Enden på Moores lov – næsten
- Så bæstet er ikke bare en processor med ni kerner, den er oven i købet uhomogen. Men det er den vej, vi skal, hvis Moores lov stadig skal gælde. Vi skulle allerede have haft fire GHz-processoren i oktober 2004, hvis Moores lov om fordobling af kapaciteten hver 18. måned også skulle have fordoblet frekvensen, men det fik vi ikke, fordi vi ramte hovedet mod loftet i den klassiske processor, forklarer Brian Vinter og peger på, at problemerne skyldes, at arkitekturen i de almindelige pc-processorer gør det håbløst at blive ved med at skalere. En Pentium-processor til tunge beregninger bruger typisk langt de fleste af sine ressourcer på at hente og bringe data – prefetch og caching.
- Vores beregninger viser, at kun 3,6 procent af transistorerne bruges til beregning. I stedet for at gøre tingene hurtigere, så må vi bruge flere af dem, siger Brian Vinter.
Lyset skal skynde sig hurtigere
Den klassiske processor render bogstavelig talt “panden mod muren.” Et af de største problemer er hukommelsesmuren, som Brian Vinter kalder den, der skyldes forsinkelser i forbindelserne i processorerne. Det er simpelthen ikke muligt at få transporteret data hurtigt nok internt i processoren.
- Afstandene er så store i processoren, at vi bruger mere og mere tid på at vente på hukommelsen. Hvis vi skal flytte den grænse, skal vi i praksis til at forøge lysets hastighed. Ikke forsinke lysets hastighed, som den danske forsker Lene Hau arbejder på, siger datalogiprofessoren og viser med en hovedrysten, at den barriere forekommer fuldstændigt uoverstigelig. For ikke at nævne problemerne med udvikling af varme.
- Da grænsen blev nået, var pointen netop afkøling. Fortsætter det, vil processoren udvikle 6.000 grader celsius. Det svarer til temperaturen på solens overflade – bare på en lille plastikchip, griner Brian Vinter.
Otte gange hurtigere
For datalogiprofessoren er der derfor kun én vej frem.
- Multikerner er nødvendigt. Vi skal have flere kerner, selv om det giver flere problemer.
Og så er vi tilbage til historien om, hvorfor dataloger har kastet deres kærlighed på en chip, der er udviklet til spil og underholdning. Det har også været en udfordring for datalogerne at få IBM til at levere en rackcomputer med Cell-processoren.
- Vi kan nemlig ikke bare hacke en PlayStation og begynde at regne på den, forklarer Brian Vinter, der alligevel fik overtalt de udenlandske it-giganter til at sælge den computer, som forskerne har brug for.
Selv om den er dukket op på Datalogisk Institut på Københavns Universitet, så er den desværre endnu ikke monteret og køreklar. Men en af Brian Vinters studerende, Mohammad Jowkar, har udviklet et program til den komplicerede kernestruktur. Et program, der kan løse en af de største udfordringer indenfor biologien: At folde proteiner sammen.
- Det program fik vi lov at teste på Mare Nostrum-computeren i Spanien, og den viser klart, at Cell-processoren løser opgaven cirka otte gange hurtigere end en almindelig Pentium-processor på 3,2 GHz, siger Brian Vinter med henvisning til verdens fjerdestørste supercomputer på universitetet i Barcelona. Mare Nostrum kører i øvrigt Linux.
Drømmen er en petaflop
Jowkars program til Cell-processoren folder kun en lille brøkdel af et protein. At folde et helt protein er en massiv opgave, som IBM’s Bluegene-computer med en million CPU’er formentlig skal bruge et års tid på at tygge sig igennem.
- Men det er jo spændende, at allerede de første forsøg viser, at Cell-processoren er langt mere effektiv. Nu er drømmen at skabe en supercomputer på en chip. En Cell-CPU med 10.000 kerner, så vi kan ramme en petaflop, siger Brian Vinter. I juni 2006 nåede den japanske Mdgrape-3 computer den magiske petaflop-grænse (1.000.000.000.000.000 flops) og tredoblede dermed Blue Genes hidtidige rekord, og Mdgrape-3 er nu verdens hurtigste supercomputer. Indtil videre.
En leder og otte kulier
Man skulle umiddelbart tro, at Cell-processorens store, centrale kerne – kaldet PowerPC Processor Element (PPE) er regnemaskinen. Men sådan er det ikke.
- PPE regner ikke, men det er arbejdslederen, der hele tiden leder og fordeler i stedet arbejdet mellem SPE’erne (de otte mindre processorer i kernen, red.), forklarer Brian Vinter og peger på, at det er netop her, den store udfordring for programmørerne ligger: De skal lære at programmere en række parallelle processer – tråde – og sikre, at programmet virker og er i fremdrift, selv om de ikke ved, hvornår de enkelte processer er færdige med deres beregning. Det gælder om at undgå, at der bliver flaskehalse.
- I virkeligheden skal vi lære at programmere, så der er en million tråde, så er der altid en proces, der er færdig og klar til at køre, siger Brian Vinter og langer samtidig ud efter IBM, der lægger op til synkrone processer.
- Det bliver alt for svært at dele ressourcerne effektivt, når det skal være synkront. Men jeg må erkende, at det er svært at programmere asynkront
- og det bliver dyrt at få skrevet programmer, siger Brian Vinter, der kalder det “extreme multithreadsprogrammering.”
Programmørerne får igen magten
Han peger på, at Cell-computeren ikke rummer de hardware-mæssige begrænsninger, der har gjort det lettere at programmere en Pentium-CPU, men som til gengæld har tvunget processoren til at bruge regnekraft på tidskrævende prefetch- og cacheoperationer. Begrænsningerne i hardwaren er væk ligesom i de første computere.
- Du kan adressere alt. Det er en rå arbejdshest, der giver programmøren fuld kontrol og fuldt ansvar overfor alle operationer i maskinen. En skræmmende opgave, der kræver sin mand at styre, siger datalogiprofessoren på DIKU.
Og nu glæder Brian Vinter sig bare til, at han kan komme til at undersøge mulighederne i praksis på DIKU’s nye Cell-computer. På Linuxforum viste han fra talerstolen i den store sal et billede af sig selv ved siden af det nye legetøj.
- Jeg vidste ikke, at jeg lignede Fedtmule så meget. Men jeg er glad ligesom på billedet. Det bliver meget spændende, griner han og peger på, at fremtidens computer med flere kerner netop ikke udvikler så meget varme, som vi kender det fra de stadigt hurtigere pc-processorer.
- CPU’er med flere kerner er en cool teknologi.
Professor i datalogi
Brian Vinter er oprindelig civilingeniør fra AUC og dr. scient fra Tromsø Universitet. Han er professor i datalogi på Københavns Universitet (DIKU) med supercomputere og grid som speciale. Brian Vinter har tidligere været ansat på SDU, Tromsø Universitet i Norge og Princeton University i USA. Han fungerede frem til 2006 som direktør for Nordic Datagrid Facility og sidder med i ledelsen af Mesh Technologies.
Comments
Leave a Reply