Superdatorbilder utan grafikchips

Innan specialiserade grafikbearbetningschips existerade använde pionjärer inom visualiseringsområdet multicore superdatorer för att realisera data i tre dimensioner. Idag överträffar dock hastigheten med vilken superdatorer kan bearbeta data snabbt den hastighet med vilken de kan mata in och mata ut dessa data. Grafikbearbetningskluster håller på att bli föråldrade.





Kärnkollaps : Den här bilden – steg 1492 av en simulering av en kärnkollapssupernova – genererades på Argonne National Laboratorys superdator, Intrepid, utan användning av ett grafikkluster.

Forskare vid Argonne National Laboratory och på andra håll arbetar på en lösning. Istället för att flytta massiva datamängder till ett specialiserat grafikbearbetningskluster för rendering, vilket är hur saker och ting görs nu, skriver de programvara som låter de tusentals processorerna i en superdator göra visualiseringen själva.

Tom Peterka och Rob Ross, datavetare vid Argonne National Laboratory, och Hongfeng Yu och Kwan-Liu Ma från University of California i Davis, har skrivit programvara för Intrepid, en IBM Blue Gene/P superdator, som kringgår grafikbearbetningsklustret helt. Det tillåter oss att [visualisera experiment] på en plats som är närmare där data finns – på samma maskin, säger Peterka. Hans teams lösning undviker behovet av att ta det tidskrävande steget att flytta data från där den genererades till ett sekundärt datorkluster.



Peterkas testdata, erhållen från John Blondin från North Carolina State University och Anthony Mezzacappa från Oak Ridge National Laboratory, representerar 30 steg i följd i den simulerade explosiva döden av en stjärna, och är typiska för den typ av information som en superdator som Argonnes kan hantera. Peterkas största test med data maxade med en tredimensionell upplösning på 89 miljarder voxels (tredimensionella pixlar) och resulterade i tvådimensionella bilder 4 096 pixlar på en sida. Att bearbeta data krävde 32 768 av Intrepids 163 840 kärnor. Tvådimensionella bilder genererades med en parallell volymrenderingsalgoritm, en klassisk metod för att skapa en tvådimensionell ögonblicksbild av en tredimensionell datauppsättning.

Normalt kräver visualisering och efterbearbetning av data genererad av Intrepid, som med 557 teraflops är världens sjunde snabbaste superdator, en separat grafisk bearbetningsenhet känd som Eureka. (En teraflop motsvarar en biljon beräkningar per sekund.) Eureka är byggd av NVIDIA Quadro Plex S4 GPU:er (grafikbehandlingsenheter) och körs på 111 teraflops. Kraftfullare superdatorer i petaflop-sortimentet erbjuder ännu större utmaningar.

Ju större vi blir, desto mer begränsas problemet av [inmatnings-/utgångshastigheter], säger Peterka. Att bara skriva till disken mängden data som produceras av en simulering som körs på en petaflop superdator kan ta orimligt lång tid. Anledningen är enkel: från en generation av superdatorer till nästa, lagringskapacitet och lagringsbandbredd ökar inte lika snabbt som bearbetningshastigheten.

Denna skillnad innebär att framtida superdatorcenter helt enkelt inte har råd med separata grafikbearbetningsenheter. På petascale är [separata grafikbearbetningsenheter] mindre kostnadseffektiva, säger man Hank Childs , en datorsystemingenjör och visualiseringsexpert vid Lawrence Berkeley National Laboratory. Childs påpekar att ett dedikerat visualiseringskluster, som det för Argonnes Intrepid superdator, ofta kostar runt 1 miljon dollar, men i framtiden kan den kostnaden öka med en faktor 20.

Pat McCormick, som arbetar med visualisering på världens snabbaste superdator, AMD Opteron och IBM Cell-powered Roadrunner vid Los Alamos National Laboratory, säger att Peterkas arbete med direkt visualisering av data är avgörande eftersom dessa maskiner blir så stora att du verkligen inte har inget val. Befintliga, GPU-baserade visualiseringsmetoder kommer att fortsätta att vara lämpliga endast för vissa typer av simuleringar, säger McCormick.

Om du ska konsumera en hel superdator med beräkningar tror jag inte att du har något val, säger McCormick. Om du kör i den skalan måste du göra jobbet på plats, eftersom det skulle ta en evighet att flytta ut det, och var annars kommer du att kunna bearbeta så mycket data?

Peterka, McCormick och Childs föreställer sig en framtid där superdatorer utför vad som kallas in-situ-bearbetning, där simuleringar visualiseras när de körs, snarare än i efterhand.

Tanken bakom bearbetning på plats är att du går förbi I/O helt och hållet, säger Childs. Du skriver aldrig något till disken. Du tar visualiseringsrutiner och länkar dem direkt till simuleringskod och matar ut en bild allt eftersom.

Detta tillvägagångssätt är dock inte utan sina fallgropar. För det första skulle det ta en hel sekund eller mer att rendera varje bild, vilket utesluter möjligheten att interagera med tredimensionella modeller på ett naturligt sätt. En annan fallgrop är det faktum att interagera med data på detta sätt bränner upp cykler på världens dyraste stordatorer.

Superdatorer är otroligt värdefulla resurser, konstaterar Childs. Att någon skulle göra en simulering och sedan interagera med datan i en timme – det är en mycket dyr resurs att hålla som gisslan i en timme.

Eftersom stationära datorer följer superdatorer och GPU:er in i en värld av flera kärnor och massivt parallell bearbetning, spekulerar Peterka att det kan finnas en trend bort från processorer som är specialiserade för särskilda funktioner. Redan nu erbjuder AMD OpenCL-kodbiblioteket, som gör det möjligt att köra kod designad för en GPU på vilket x86-chip som helst – och vice versa.

Xavier Cavin, grundare och VD för Scalable Graphics, ett företag som designar mjukvara för de största grafikbearbetningsenheterna som används av företag, påpekar att den allra första parallella volymrenderingsalgoritmen kördes på processorerna i en superdator. Efter det började folk använda GPU:er och GPU-kluster för att göra samma sak, säger Cavin. Och nu kommer det tillbaka till CPU:er. Det har gått en cirkel.

Dölj