Na odbywającej się od dzisiaj konferencji poświęconej problematyce superkomputerów prof. Stephen Jarvis przedstawi matematyczne analizy dwóch konkurencyjnych podejść do tworzenia superkomputerów.
fot. Nvidia
Podejście amerykańskie polega na wykorzystaniu dość prostych rdzeni obliczeniowych (CPU, czyli tradycyjnych procesorów), które są bardzo wydajnie i skalowalnie połączone ze sobą, przykładem są architektury IBM Blue Gene, natomiast podejście stosowane przez Chińczyków, m.in. w nowym Numero Uno świata superkomputerów, Tianhe 1A czy w poprzednim nr 2, Nebulae wykorzystuje dużą liczbę GPGPU, uniwersalnych jednostek GPU (koprocesorów graficznych). Cytując prof. Jarvisa:
Dyskusja "Czy kupić GPGPU czy BlueGene" to idealny przykład interesującej walki. Nikt nie jest pewien, który z projektów pozwoli nam dość do obliczeń eksaskalowych, następnego kamienia milowego w obliczeniach komputerowych 21 wieku, jednego kwintyliona operacji zmiennoprzecinkowych na sekundę (10^18). I to nie jest tylko decyzja dotycząca architektury - moc wymagana do zasilenia jednego z tych superkomputerów mogłaby zasilić małe miasteczko, a nawet gdyby wydać pieniądze i zbudować taki a następnie zasilić go, to i tak zaprogramowanie go jest niemożliwe.
Badania przeprowadzone przez prof. Jarvisa stosują modelowanie matematyczne do określenia, jakie problemy dotykające współczesnych superkomputerów są naistotniejsze. Pierwszym z nich jest fakt, że programiści mają problemy z wykorzystaniem nawet części mocy zapewnianej w teorii przez współczesne superkomputery. Problem ten jest dużo bardziej zauważalny przy komputerach opartych o procesory graficzne, takich jak chiński Tianhe-1A. Ma on teoretyczną wydajność szczytową 4,7 petaflopsów (biliardów operacji zmiennoprzecinkowych na sekundę - FLoating-point Operations Per Second), ale najlepsze programy na niego mogą wyciągnąć najwyżej 2,5 petaflopsów. Jak widać, duża część chińskiej superkomputerowej pary idzie w gwizdek. Dla porównania, amerykański BlueGene/P w Lawrence Livermore National Laboratory to niewielkie urządzenie mające maksymalną wydajność sprzętową 0,5 petaflopsa, ale programy mogą wykorzystać z tego 0,415 petaflopsa. Wynika to w dużej mierze z tego, że współczesne paradygmaty tworzenia programów oparte są cały czas o tradycję wykorzystywania procesorów, a nie kart graficznych.
Inny kluczowy problem to fakt, że twórcy nowych superkomputerów dążący do wykorzystania potężnych nowych GPU nie poświęcili wystarczających wysiłków do stworzenia technologii pozwalających na równoległe łączenie ich w naprawdę dużej skali. Modelowanie wykazało, że małe systemy oparte o GPU rozwiązują problemy od 3 do 7 razy szybciej niż tradycyjne systemy oparte o CPU, jednak kiedy zwiększa się liczbę połączonych ze sobą systemów przetwarzania, wydajność systemów opartych o GPU, jak chińskie Tianhe, rośnie dużo wolniej niż w urządzeniach opartych o masywnie połączone ze sobą CPU, takich jak BlueGene.
Cała praca ma zostać przedstawiona w dniu dzisiejszym na warsztatach PMBS 10 (Performance Modeling, Benchmarking and Simulation of High Performance Computing), poświęconych modelowaniu, testowaniu wzorcowemu i symulowaniu superkomputerów.