Coolare superdatorer

Tack vare framsteg i hastigheten för superdatorsimuleringar blir komplexa fenomen som vädersystem, proteinveckning och nukleära explosioner lättare att modellera och förstå. Men bara en liten del av denna snabbhet beror på snabbare processorer. Istället är det vanligaste sättet att nå superdatorkapacitet att montera hundratals eller tusentals separata maskiner i kluster. När ett sådant kluster sammanfogas delar ett enda minne och kan utföra massiva simuleringar parallellt genom att dela upp arbetet i många små delar.





Även detta tillvägagångssätt har dock sina gränser. För det första, ju större minne, desto mer sannolikt kommer vissa delar av det att misslyckas under en beräkning. Ju fler maskiner som sätts ihop till ett kluster, desto mer värme producerar de. Faktum är att i vissa stora datorcenter är ventilations- och luftkonditioneringssystem, fläktar och vätskekylningssystem hårt pressade för att förhindra att maskiner överhettas.

Mountain View, CA-baserade Silicon Graphics, även känd som SGI, bygger några av världens största superdatorkluster. Det fjärde snabbaste i världen är till exempel Columbia, ett system som SGI byggde för NASA Ames Research Center 2004. Columbia inkluderar 20 SGI Altix-superkluster, var och en med 512 processorer, för totalt 10 240 processorer som delar en 20 -terabyte minne. Att kyla denna gigant (som NASA använder för att modellera problem som involverar stora mängder data, såsom klimatförändringar, magnetiska stormar och design för hypersoniska flygplan) är för närvarande en mycket lågteknologisk angelägenhet: det åstadkoms huvudsakligen genom att blåsa luft förbi processorerna på hög nivå. fart.

Eng Lim Goh, datavetare och teknisk chef vid SGI, säger att en NASA-administratör sa till honom: 'Jag spenderade miljontals dollar på din superdator bara för att vi skulle kunna köra simuleringar som ersätter vår vindtunnel – och du gav oss en ny vindtunnel .'



Goh är nu ledare för Projekt ultraviolett , SGI:s ansträngning att utveckla sin nästa generation av superkluster. Chipsen som SGI designar för Ultraviolet kommer att köra applikationer snabbare – men använder mindre el och producerar mindre värme. Technology Review intervjuade Goh om projektet den 2 februari.

Teknikrecension: Vilka är målen med Project Ultraviolet?

Eng Lim Goh: Ultraviolett är där jag har tillbringat 80 procent av min tid de senaste tre åren, med målet att ha ett system levererat i slutet av detta decennium. Vi bygger ASIC:er [applikationsspecifika integrerade kretsar] för att accelerera vissa minnesfunktioner och för att göra applikationer svalare; och de har en lång utvecklingscykel, vanligtvis två och ett halvt år.



Vi började med det vi har – i grund och botten ett system som kan ha enormt minne. Vi bygger enorma system som hanterar upp till 512 processorer som delar upp till tiotals terabyte minne. Fördelen med sådana system är att du kan ladda enorma databaser i minnet utan den tiofaldiga nedgången när du måste hämta data från en disk. Du vill ha möjligheten att hålla all data i minnet och zippa runt i hög hastighet, vilket är viktigt för avancerad affärsanalys och intelligens.

Våra ASIC:er passar under [Intel] Itanium-processorn, med minne under var och en av dessa, och de pratar med varandra för att ge en virtuell, enda bild av allt minne för användaren och operativsystemet. Vi ser till att använda detta prisvärda, färdiga minne. Men tillsammans med detta kom hyllan tillförlitlighet. Så i Ultraviolet lägger vi in ​​funktioner för att göra minnet mer tillförlitligt. Till exempel finns det intelligenta agenter i vårt chipset som kan gå ut och skrubba oanvänt minne, för att tvinga delar som höll på att misslyckas att göra det under skrubbningsprocessen, inte ansökningsprocessen. Agenterna deallokerar snabbt det minnet, ungefär som en dålig disk.

TR: En del av det du gör, när du pratar om agenter, låter som vad IBM kallar autonom datoranvändning.



ÄLG: Människor använder olika namn för att göra datorer mer självläkande. Vi funderade på om vi skulle använda autonomt minne eller självläkande system, som IBM och andra leverantörer. Men vi blev lite oroliga eftersom det ställer höga förväntningar.

TR: Hur är det med värmeproblemet? Jag antar att de system som folk kommer att bygga med hjälp av era nästa generationssystem kommer att ha till och med fler än 512 processorer, alla i ett rum, och släpper ut enorma mängder värme.

ÄLG: Vi kan tvinga ut värmen ur hyllorna med snabbare fläktar, men då blir datorrummet väldigt svårt att kyla. Det enda sättet att hantera mer värme är att flytta värmen snabbare. Det finns datorrum där om du öppnar en golvbräda säger de till dig 'Sätt inte in foten där', eftersom luften där nere rör sig i 100 kilometer i timmen.



Så den andra delen av det vi vill utforska med Ultraviolet är hur man kan minska denna värme och hur man hanterar applikationer som inte skalar [det vill säga inte körs så snabbt som förväntat när man kör på fler processorer parallellt]. Dessa två är relaterade. Låt oss säga att en applikation körs i 100 sekunder på en enda processor. Och låt oss säga att på 100 processorer går den tio gånger snabbare - den går i 10 sekunder. Det är en stor förbättring – men du använder 100 gånger så många processorer för att komma dit. Som sådan är du bara 10 procent effektiv; applikationen använder tio gånger mer energi och avger tio gånger mer värme än den behöver.

TR: Så hur får du applikationer att köras coolare?

ÄLG: En stor del är hur vi delar upp problem i bitar och hur vi allokerar dem till processorerna. Vi gjorde en analys av cirka 50 kundapplikationer för att se vad som gick fel med dessa applikationer när de körs parallellt. Vi identifierade fyra eller fem stora områden.

En är kommunikationslatens [fördröjningar]. Problemet är att de flesta applikationer kräver konstant synkronisering för att säkerställa att varje process är klar innan nästa steg i beräkningen. Denna synkronisering tar mycket tid i anspråk. Det är som att ha sex personer som försöker stå i en rak linje – de måste kolla med varandra. Med 60, eller 600 eller 6 000 personer tar det exponentiellt längre tid att komma i en rak linje.

Andra efter latens är kommunikationsbandbreddsproblemet. Ibland vill man överföra mycket data och tjockleken på anslutningen mellan processorerna kommer då att avgöra hur lång tid det tar för den där enorma databiten att komma igenom. Om du väntar, räknar du inte. Det är ett annat område där effektiviteten sjunker.

Det tredje området är lastobalans, vilket är ett enormt problem. Säg att du vill modellera vädret i ditt område. Du antar att volymen luft i ditt område är en enorm kub, och du delar upp den i åtta underkuber och distribuerar dessa underkuber till olika processorer. En dag när vädret är homogent över den stora kuben kan belastningen på dessa processorer vara balanserad; men om det är lokal turbulens i en av underkuberna kommer det att finnas processorer som sitter och väntar medan andra processorer slutar.

Det fjärde området är när en applikation behöver en bit data och data inte finns i processorns egen cache, och den måste gå ut till minnet. När det går ut i minnet blir det en enorm latenspåverkan.

Så dessa skulle vara grundsatserna för ultraviolett design [mer tillförlitligt minne, mindre kommunikationslatens, mer kommunikationsbandbredd, bättre lastbalansering och mindre minneslatens]. Säg att du har en applikation som toppar med 128 processorer, eftersom den flaskhalsar på kommunikationslatens. Detta chip vi designar kommer att drastiskt minska latensen, vilket nu kommer att tillåta den här applikationen att köras på fler processorer. Eller, om du fortfarande kör samma applikation på 128 processorer, bör du prestera bättre och skapa mindre värme.

Bildtext för startsidans bild: En vy från toppen: Broar kopplar samman noder av 20-nods SGI Altix superdator inrymd vid NASA Advanced Supercomputing anläggning.

Bild på hemsidan med tillstånd av NASA Ames Research Center/Tom Trower

Dölj