Wizualizacje superkomputera bez układów graficznych

Zanim pojawiły się wyspecjalizowane chipy do przetwarzania grafiki, pionierzy w dziedzinie wizualizacji wykorzystywali wielordzeniowe superkomputery do realizacji danych w trzech wymiarach. Obecnie jednak szybkość, z jaką superkomputery mogą przetwarzać dane, gwałtownie przewyższa szybkość, z jaką mogą je wprowadzać i wyprowadzać. Klastry przetwarzania grafiki stają się przestarzałe.





Upadek rdzenia : Ten obraz — krok 1492 symulacji supernowej z zapadnięciem się jądra — został wygenerowany na superkomputerze Intrepid należącym do Argonne National Laboratory, bez użycia klastra graficznego.

Naukowcy z Argonne National Laboratory i innych instytucji pracują nad rozwiązaniem. Zamiast przenosić ogromne zbiory danych do wyspecjalizowanego klastra przetwarzającego grafikę w celu renderowania, jak to się teraz robi, piszą oprogramowanie, które pozwala tysiącom procesorów w superkomputerze na samodzielne wykonanie wizualizacji.

Tom Peterka i Rob Ross, informatycy z Argonne National Laboratory oraz Hongfeng Yu i Kwan-Liu Ma z Uniwersytetu Kalifornijskiego w Davis, napisali oprogramowanie dla Intrepid, superkomputera IBM Blue Gene/P, który omija klaster przetwarzania grafiki całkowicie. Pozwala nam to [wizualizować eksperymenty] w miejscu, które jest bliżej miejsca, w którym znajdują się dane – na tej samej maszynie, mówi Peterka. Rozwiązanie opracowane przez jego zespół pozwala uniknąć czasochłonnego przenoszenia danych z miejsca ich wygenerowania do dodatkowego klastra komputerowego.



Dane testowe Peterki, uzyskane z John Blondin z North Carolina State University i Anthony Mezzacappa z Oak Ridge National Laboratory, reprezentują 30 kolejnych etapów symulowanej wybuchowej śmierci gwiazdy i są typowymi informacjami, z którymi może się zmierzyć superkomputer taki jak Argonne. Największy test Peterki z maksymalnymi danymi w trójwymiarowej rozdzielczości 89 miliardów wokseli (trójwymiarowych pikseli) dał dwuwymiarowe obrazy 4096 pikseli z boku. Przetworzenie danych wymagało 32 768 z 163 840 rdzeni Intrepid. Dwuwymiarowe obrazy zostały wygenerowane za pomocą równoległego algorytmu renderowania objętości, klasycznego podejścia do tworzenia dwuwymiarowej migawki trójwymiarowego zestawu danych.

Zwykle wizualizacja i przetwarzanie końcowe danych generowanych przez Intrepid, który z prędkością 557 teraflopów jest siódmym najszybszym superkomputerem na świecie, wymaga oddzielnej jednostki przetwarzania grafiki, znanej jako Eureka. (Teraflop to odpowiednik bilionów obliczeń na sekundę). Zbudowany z procesorów graficznych NVIDIA Quadro Plex S4 (jednostek przetwarzania grafiki), Eureka działa z prędkością 111 teraflopów. Potężniejsze superkomputery z serii petaflop stanowią jeszcze większe wyzwania.

Im dalej idziemy, tym bardziej problem jest ograniczony przez [prędkości wejścia/wyjścia], mówi Peterka. Samo zapisanie na dysku ilości danych wytworzonych przez symulację uruchomioną na superkomputerze petaflop może zająć nierozsądną ilość czasu. Powód jest prosty: od jednej generacji superkomputera do kolejnej pojemność i przepustowość pamięci masowej nie rosną tak szybko, jak szybkość przetwarzania.

Ta rozbieżność oznacza, że ​​przyszłe centra superkomputerowe mogą po prostu nie być w stanie pozwolić sobie na oddzielne jednostki przetwarzania grafiki. W petascale [oddzielne jednostki przetwarzania grafiki] są mniej opłacalne, mówi Hank Childs , inżynier systemów komputerowych i ekspert ds. wizualizacji w Lawrence Berkeley National Laboratory. Childs zwraca uwagę, że dedykowany klaster wizualizacji, taki jak ten dla superkomputera Intrepid firmy Argonne, często kosztuje około 1 miliona dolarów, ale w przyszłości koszt ten może wzrosnąć 20-krotnie.

Pat McCormick, który pracuje nad wizualizacją na najszybszym superkomputerze świata, AMD Opteron i IBM Cell-powered Roadrunner w Los Alamos National Laboratory, mówi, że praca Peterki nad bezpośrednią wizualizacją danych ma kluczowe znaczenie, ponieważ te maszyny stają się tak duże, że naprawdę nie nie mam wyboru. Istniejące metody wizualizacji oparte na GPU będą nadal odpowiednie tylko dla niektórych rodzajów symulacji, mówi McCormick.

Jeśli zamierzasz pochłonąć cały superkomputer obliczeniami, nie sądzę, abyś miał wybór, mówi McCormick. Jeśli działasz na taką skalę, będziesz musiał wykonać pracę na miejscu, ponieważ przeniesienie jej zajęłoby wieczność, a gdzie indziej będziesz w stanie przetworzyć tyle danych?

Peterka, McCormick i Childs wyobrażają sobie przyszłość, w której superkomputery wykonują tak zwane przetwarzanie in-situ, w którym symulacje są wizualizowane podczas działania, a nie po fakcie.

Ideą przetwarzania in-situ jest całkowite ominięcie operacji we/wy, mówi Childs. Nigdy nie zapisujesz niczego na dysku. Bierzesz procedury wizualizacji i łączysz je bezpośrednio z kodem symulacji i wyświetlasz obraz, gdy to się dzieje.

Takie podejście nie jest jednak pozbawione pułapek. Po pierwsze, renderowanie każdego obrazu zajęłoby całą sekundę lub więcej, co wyklucza możliwość interakcji z trójwymiarowymi modelami w naturalny sposób. Kolejną pułapką jest fakt, że interakcja z danymi w ten sposób spala cykle na najdroższych komputerach mainframe na świecie.

Superkomputery to niezwykle cenne zasoby, zauważa Childs. Że ktoś wykona symulację, a następnie wejdzie w interakcję z danymi przez godzinę – to bardzo kosztowny zasób, by przetrzymywać zakładnika przez godzinę.

Ponieważ komputery stacjonarne podążają za superkomputerami i procesorami graficznymi do świata wielordzeniowego i masowo równoległego przetwarzania, Peterka spekuluje, że może pojawić się tendencja do odchodzenia od procesorów wyspecjalizowanych do określonych funkcji. Już teraz AMD oferuje bibliotekę kodów OpenCL, która umożliwia uruchamianie kodu zaprojektowanego dla GPU na dowolnym chipie x86 – i na odwrót.

Xavier Cavin, założyciel i dyrektor generalny Scalable Graphics, firmy projektującej oprogramowanie dla największych procesorów graficznych używanych przez firmy, zwraca uwagę, że pierwszy algorytm równoległego renderowania woluminów działał na procesorach superkomputera. Potem ludzie zaczęli używać GPU i klastrów GPU do robienia tego samego, mówi Cavin. A teraz wraca do procesorów. Zatoczyło koło.

ukryć