Aby spojrzeć na to osiągnięcie z odpowiedniej perspektywy, załóżmy, że każda osoba na Ziemi ma 150 przyjaciół. Stanowiłoby to 1,2 biliona krawędzi na wykresie relacji społecznych. Poziom wydajności osiągnięty niedawno przez NVIDIA i CoreWeave umożliwia przeszukiwanie wszystkich relacji przyjacielskich na Ziemi w ciągu zaledwie około trzech milisekund. Szybkość na taką skalę to połowa sukcesu — prawdziwym przełomem jest wydajność. Porównywalny wpis w pierwszej dziesiątce listy Graph500 wykorzystywał około 9000 węzłów, podczas gdy zwycięska wersja firmy NVIDIA wykorzystywała nieco ponad 1000 węzłów, zapewniając 3 razy lepszą wydajność w przeliczeniu na dolara.
NVIDIA sięgnęła do połączona moc kompleksowych technologii obliczeniowych, sieciowych i oprogramowania— w tym platforma NVIDIA CUDA, sieć Spectrum-X, procesory graficzne H100 i nowa biblioteka aktywnego przesyłania wiadomości — aby przesuwać granice wydajności przy jednoczesnej minimalizacji zajmowanego miejsca na sprzęcie.
Dzięki oszczędności czasu i kosztów na taką skalę w komercyjnie dostępnym systemie zwycięstwo pokazuje, jak platforma obliczeniowa NVIDIA jest gotowa do demokratyzacji dostępu do akceleracji największych na świecie rzadkich, nieregularnych obciążeń — obejmujących dane i elementy robocze o różnych i nieprzewidywalnych rozmiarach — a także gęstych obciążeń, takich jak szkolenia AI.
Jak działają wykresy w skali
Wykresy stanowią podstawową strukturę informacji dla współczesnej technologii. Ludzie codziennie wchodzą z nimi w interakcję między innymi w sieciach społecznościowych i aplikacjach bankowych. Wykresy przedstawiają relacje między fragmentami informacji w ogromnych sieciach informacji.
Weźmy na przykład LinkedIn. Profil użytkownika jest wierzchołkiem. Połączenia lub relacje z innymi użytkownikami są krawędziami — z innymi użytkownikami reprezentowanymi jako wierzchołki. Niektórzy użytkownicy mają pięć połączeń, inni 50 000. Powoduje to zmienną gęstość na wykresie, czyniąc go rzadkim i nieregularnym. W przeciwieństwie do modelu obrazu lub języka, który ma strukturę i gęstość, wykres jest nieprzewidywalny.
Graph500 BFS ma długą historię jako standardowy punkt odniesienia w branży, ponieważ mierzy zdolność systemu do radzenia sobie z tą nieprawidłowością na dużą skalę.
BFS mierzy prędkość przechodzenia grafu przez każdy wierzchołek i krawędź. Wysoki wynik TEPS dla BFS – mierzący, jak szybko system może przetwarzać te krawędzie – dowodzi, że system ma doskonałe połączenia wzajemne, takie jak kable lub przełączniki między węzłami obliczeniowymi, a także większą przepustowość pamięci i oprogramowanie zdolne do wykorzystania możliwości systemu. Weryfikuje inżynierię całego systemu, a nie tylko szybkość procesora lub karty graficznej.
W rzeczywistości jest to miara tego, jak szybko system może „myśleć” i kojarzyć różne informacje.
Aktualne techniki przetwarzania wykresów
Procesory graficzne są znane z przyspieszania gęstych obciążeń, takich jak szkolenie AI. Do niedawna największe rzadkie obciążenia związane z algebrą liniową i grafami pozostawały domeną tradycyjnych architektur procesorów. Aby przetwarzać wykresy, procesory przenoszą dane wykresów pomiędzy węzłami obliczeniowymi. Gdy wykres skaluje się do bilionów krawędzi, ten ciągły ruch powoduje powstawanie wąskich gardeł i zakłóca komunikację.
Programiści używają różnych technik oprogramowania, aby obejść ten problem. Powszechnym podejściem jest przetwarzanie wykresu tam, gdzie się znajduje, z aktywnymi komunikatami, do których programiści wysyłają komunikaty, które mogą przetwarzać dane wykresu na miejscu. Wiadomości są mniejsze i można je grupować, aby zmaksymalizować wydajność sieci. Chociaż ta technika oprogramowania znacznie przyspiesza przetwarzanie, aktywne przesyłanie komunikatów zostało zaprojektowane do działania na procesorach i jest z natury ograniczone szybkością przepustowości i możliwościami obliczeniowymi systemów procesorowych.
Reengineering przetwarzania wykresów dla GPU
Aby przyspieszyć działanie BFS, NVIDIA zaprojektowała rozwiązanie z pełnym stosem, obsługujące wyłącznie procesor graficzny, które na nowo wyobraża sobie sposób przesyłania danych w sieci. Niestandardowa struktura oprogramowania opracowana przy użyciu InfiniBand GPUDirect Async (IBGDA) i równoległego interfejsu programowania NVSHMEM umożliwia przesyłanie aktywnych komunikatów z GPU do GPU.
Dzięki IBGDA procesor graficzny może bezpośrednio komunikować się z kartą interfejsu sieciowego InfiniBand. Agregacja komunikatów została zaprojektowana od podstaw, aby obsługiwać setki tysięcy wątków GPU wysyłających jednocześnie aktywne komunikaty, w porównaniu z zaledwie setkami wątków na procesorze.
Dlatego też w tym przeprojektowanym systemie aktywne przesyłanie wiadomości działa całkowicie na procesorach graficznych, z pominięciem procesora. Umożliwia to pełne wykorzystanie ogromnej równoległości i przepustowości pamięci procesorów graficznych NVIDIA H100 do wysyłania wiadomości, przesyłania ich w sieci i przetwarzania na odbiorniku.
Działając w oparciu o stabilną, wysokowydajną infrastrukturę partnera NVIDIA, CoreWeave, ta orkiestracja umożliwiła podwojenie wydajności porównywalnych przebiegów przy użyciu ułamka sprzętu — za ułamek kosztów.
(Powyżej): Zgłoszenia NVIDIA przeprowadzone na klastrze CoreWeave z 8192 procesorami graficznymi H100 zajmują pierwsze miejsca w tabeli liderów 31. listy wyszukiwań Graph500 pod względem szerokości.
Przyspieszanie nowych obciążeń
Ten przełom ma ogromne implikacje dla obliczeń o wysokiej wydajności. Dziedziny HPC, takie jak dynamika płynów i prognozowanie pogody, opierają się na podobnych rzadkich strukturach danych i wzorcach komunikacji, które stanowią podstawę wykresów stanowiących podstawę sieci społecznościowych i cyberbezpieczeństwa.
Przez dziesięciolecia pola te były przywiązane do procesorów w największej skali, nawet gdy dane skalowały się od miliardów do bilionów krawędzi. Zwycięski wynik firmy NVIDIA w konkursie Graph500, wraz z dwoma innymi 10 najlepszymi wpisami, potwierdza nowe podejście do obliczeń o wysokiej wydajności na dużą skalę.
Dzięki pełnej orkiestracji rozwiązań obliczeniowych, sieciowych i oprogramowania firmy NVIDIA programiści mogą teraz korzystać z technologii takich jak NVSHMEM i IBGDA, aby efektywnie skalować swoje największe aplikacje HPC, zapewniając wydajność superkomputerów w komercyjnie dostępnej infrastrukturze.
