Supercomputer visuals uden grafikchips

Før der eksisterede specialiserede grafikprocessorchips, brugte pionerer inden for visualisering multicore-supercomputere til at realisere data i tre dimensioner. I dag overgår den hastighed, hvormed supercomputere kan behandle data, hurtigt den hastighed, hvormed de kan indtaste og udlæse disse data. Grafikklynger er ved at blive forældede.





Kernekollaps : Dette billede – trin 1492 af en simulering af en kerne-kollaps supernova – blev genereret på Argonne National Laboratorys supercomputer, Intrepid, uden brug af en grafikklynge.

Forskere ved Argonne National Laboratory og andre steder arbejder på en løsning. I stedet for at flytte massive datasæt til en specialiseret grafisk behandlingsklynge til gengivelse, som det er sådan tingene gøres nu, skriver de software, der gør det muligt for de tusindvis af processorer i en supercomputer at foretage visualiseringen selv.

Tom Peterka og Rob Ross, dataloger ved Argonne National Laboratory, og Hongfeng Yu og Kwan-Liu Ma fra University of California i Davis, har skrevet software til Intrepid, en IBM Blue Gene/P supercomputer, der omgår grafikklyngen helt. Det giver os mulighed for at [visualisere eksperimenter] et sted, der er tættere på, hvor data befinder sig - på den samme maskine, siger Peterka. Hans teams løsning undgår behovet for at tage det tidskrævende skridt at flytte dataene fra, hvor de blev genereret, til en sekundær computerklynge.



Peterkas testdata, hentet fra John Blondin fra North Carolina State University og Anthony Mezzacappa fra Oak Ridge National Laboratory, repræsenterer 30 sekventielle trin i en stjernes simulerede eksplosive død og er typiske for den slags information, en supercomputer som Argonnes kan tackle. Peterkas største test med dataene maxede ved en tredimensionel opløsning på 89 milliarder voxels (tredimensionelle pixels) og resulterede i todimensionelle billeder 4.096 pixels på en side. Behandling af dataene krævede 32.768 af Intrepids 163.840 kerner. Todimensionelle billeder blev genereret med en parallel volumengengivelsesalgoritme, en klassisk tilgang til at skabe et todimensionalt snapshot af et tredimensionelt datasæt.

Normalt kræver visualisering og efterbehandling af data genereret af Intrepid, som med 557 teraflops er verdens syvendehurtigste supercomputer, en separat grafik-behandlingsenhed kendt som Eureka. (En teraflop svarer til en trillion beregninger pr. sekund.) Bygget af NVIDIA Quadro Plex S4 GPU'er (grafikbehandlingsenheder) kører Eureka med 111 teraflops. Mere kraftfulde supercomputere i petaflop-serien giver endnu større udfordringer.

Jo større vi bliver, jo mere er problemet begrænset af [input/output-hastigheder], siger Peterka. Blot at skrive til disken af ​​mængden af ​​data produceret af en simulering, der køres på en petaflop-supercomputer, kan tage urimelig lang tid. Årsagen er enkel: Fra den ene generation af supercomputere til den næste øges lagerkapacitet og lagerbåndbredde ikke så hurtigt som behandlingshastigheden.

Denne forskel betyder, at fremtidige supercomputercentre måske ikke har råd til separate grafikbehandlingsenheder. På petascale er [separate grafik-behandlingsenheder] mindre omkostningseffektive, siger Hank Childs , en computersystemingeniør og visualiseringsekspert ved Lawrence Berkeley National Laboratory. Childs påpeger, at en dedikeret visualiseringsklynge, som den til Argonnes Intrepid-supercomputer, ofte koster omkring 1 million dollars, men i fremtiden kan omkostningerne stige med en faktor 20.

Pat McCormick, der arbejder med visualisering på verdens hurtigste supercomputer, AMD Opteron og IBM Cell-powered Roadrunner ved Los Alamos National Laboratory, siger, at Peterkas arbejde med direkte visualisering af data er kritisk, fordi disse maskiner bliver så store, at du virkelig ikke ikke har et valg. Eksisterende GPU-baserede visualiseringsmetoder vil fortsat kun være egnede til visse former for simuleringer, siger McCormick.

Hvis du skal forbruge en hel supercomputer med beregninger, tror jeg ikke, du har et valg, siger McCormick. Hvis du kører i den skala, bliver du nødt til at gøre arbejdet på plads, for det ville tage evigheder at flytte det ud, og hvor ellers vil du være i stand til at behandle så meget data?

Peterka, McCormick og Childs forestiller sig en fremtid, hvor supercomputere udfører det, der er kendt som in-situ-behandling, hvor simuleringer visualiseres, mens de kører, snarere end efter kendsgerningen.

Ideen bag in-situ-behandling er, at du helt omgår I/O, siger Childs. Du skriver aldrig noget til disken. Du tager visualiseringsrutiner og kobler dem direkte til simuleringskode og udsender et billede, efterhånden som det sker.

Denne tilgang er dog ikke uden faldgruber. For det første ville det tage et helt sekund eller mere at gengive hvert billede, hvilket udelukker muligheden for at interagere med tredimensionelle modeller på en naturlig måde. En anden faldgrube er det faktum, at interaktion med data på denne måde brænder cyklusser op på verdens dyreste mainframes.

Supercomputere er utroligt værdifulde ressourcer, bemærker Childs. At nogen ville lave en simulering og derefter interagere med dataene i en time - det er en meget dyr ressource at holde som gidsel i en time.

Da stationære computere følger supercomputere og GPU'er ind i en verden af ​​flere kerner og massivt parallel behandling, spekulerer Peterka i, at der kan være en tendens væk fra processorer, der er specialiserede til bestemte funktioner. Allerede nu tilbyder AMD OpenCL-kodebiblioteket, som gør det muligt at køre kode designet til en GPU på enhver x86-chip – og omvendt.

Xavier Cavin, grundlægger og administrerende direktør for Scalable Graphics, et firma, der designer software til de største grafik-behandlingsenheder, der bruges af virksomheder, påpeger, at den allerførste parallelle volumengengivelsesalgoritme kørte på CPU'erne på en supercomputer. Derefter begyndte folk at bruge GPU'er og GPU-klynger til at gøre det samme, siger Cavin. Og nu kommer det tilbage til CPU'er. Det er kommet fuld cirkel.

skjule