Tajemnice superkomputerów
Superkomputery pozwalają analizować wiele problemów jednocześnie, rozwiązywać zadania o niespotykanej dotąd złożoności i gwarantują krótki czas oczekiwania na wyniki. Te supermaszyny używane są do prognozowania pogody, przewidywania zmian klimatycznych, analizy struktury białek czy modelowania zjawisk zachodzących w elektrowniach jądrowych. Jak działają?
Mianem superkomputera określa się komputer, który zapewnia nieosiągalne wcześniej i niedostępne na innych maszynach możliwości obliczeniowe. W praktyce to oczywiście nie jeden system, ale grupa najwydajniejszych komputerów na świecie, rozmieszczonych w różnych ośrodkach naukowych, w wielu krajach.
Na liście najszybszych komputerów przez cały czas pojawiają się nowe, coraz doskonalsze konstrukcje, niektóre z nich są unowocześnianie, a znikają z listy stare. Sprzęt, który dziś jest szczytem osiągnięć technologicznych, jutro może nie być lepszy od zwykłego peceta. Superkomputer Cray2 z roku 1985 miał moc obliczeniową wielokrotnie mniejszą niż współczesne pecety, smartfony, a nawet inteligentne zegarki. Wykonywał obliczenia z prędkością 1,9 miliarda operacji zmiennoprzecinkowych na sekundę (GFLOPS), tymczasem Samsung Galaxy S9 ma teoretyczną wydajność obliczeniową na poziomie 700 GFLOPS, a grafika Sony PlayStation 4 Pro ponad 4 TFLOPS (biliony operacji zmiennoprzecinkowych na sekundę).
TOP500 i inne rankingi
Trzeba jednak pamiętać, że nie można bezpośrednio porównywać szybkości superkomputera i biurkowego peceta. Superkomputer to nie tyko większy, szybszy i bardziej wydajny komputer. Superkomputery mają inną konstrukcję, architekturę i sposób działania. W przypadku zwykłego komputera należy mówić raczej o liczbie instrukcji wykonywanych na sekundę (MIPS), a nie liczbie zmiennoprzecinkowych operacji obliczeniowych (FLOPS). W superkomputerach stosowane jest przetwarzanie równoległe i potrafią one wykonywać wiele różnych obliczeń w tym samym czasie. Swoją potęgę pokazują w zadaniach, które można podzielić na niewielkie fragmenty i rozwiązywać jednocześnie.
Warszawskie Centrum Modelowania Komputerowego używa swojego superkomputera na przykład do prognozowania pogody, badania nanomateriałów i modelowania procesów zachodzących w mózgu. Na świecie superkomputery pomagają między innymi w projektowaniu elektrowni jądrowych i przewidują zmiany klimatu. Na jednym z systemów przeprowadzana była nawet symulacja dynamiki naszej Galaktyki z uwzględnieniem zachowania 250 miliardów znajdujących się w niej gwiazd. Superkomputer wspomaga również analizę zjawisk zachodzących w Wielkim Zderzaczu Hadronów – największym na świecie akceleratorze cząstek znajdującym się w Europejskim Ośrodku Badań Jądrowych CERN.
Moc obliczeniową superkomputerów mierzy się za pomocą testu LINPACK – biblioteki oprogramowania napisanej w latach 70. w Fortranie – języku programowania używanym dawniej i nadal przez matematyków oraz inżynierów. Ranking komputerów tworzony w oparciu o ten test to lista TOP500 określana też mianem benchmarku HPL (High Performance LINPACK). Aktualizowana jest ona co pół roku.
Najwydajniejszy system w zestawieniu TOP500 ma aktualnie moc obliczeniową rzędu 143 000 TFLOPS. Jest to stworzony przez IBM, działający w Oak Ridge National Laboratory w USA superkomputer o nazwie Summit. W czołówce listy jest również amerykański system Sierra o mocy prawie 95 000 TFLOPS. Do niedawna jednak palmę pierwszeństwa wśród najszybszych komputerów dzierżyły dość długo projekty chińskie. Sunway TaihuLight i Tianhe-2A – pierwszy o mocy 93 000 TFLOPS, drugi 61 000 TFLOPS.
Sunway wyróżnia się też liczbą rdzeni procesorów zaangażowanych do obliczeń. Konstruktorzy systemu zastosowali ich tu ponad 10 milionów. To efekt użycia ponad 40 tysięcy procesorów! Na liście 500 najszybszych superkomputerów na świecie systemy chińskie zajmują aktualnie 229 miejsc, amerykańskie 108. Najszybsza europejska konstrukcja to pracujący w Szwajcarii Piz Daint o mocy 21 000 TFLOPS, w ostatnim zestawieniu na piątym miejscu listy.
Najbardziej skomputeryzowanym krajem z jest Irlandia. Na jeden superkomputer przypada tu niewiele ponad 400 000 mieszkańców. Średnia dla całego świata to ponad 28 milionów, a dla Europy prawie 8 milionów mieszkańców. W tej klasyfikacji Polska zajmuje 18. miejsce ze średnią poniżej europejskiej – prawie 10 milionów mieszkańców na jeden superkomputer.
Mimo to liczba polskich superkomputerów i tak jest większa niż w wielu bardziej uprzemysłowionych krajach. Najszybszy z nich to Prometeusz zainstalowany w Akademickim Centrum Komputerowym Cyfronet w krakowskiej Akademii Górniczo-Hutniczej. Aktualnie zajmuje 131. lokatę na liście TOP500 W tej samej klasyfikacji, na 416. miejscu uwzględniony został też superkomputer EAGLE z Poznania, a na miejscu 421. Tryton z Gdańska. Ostatni polski superkomputer, który mieści się na liście TOP500 to OKEANOS działający w Centrum Modelowania Komputerowego Uniwersytetu Warszawskiego. Zajmuje on 480. pozycję.
Inną stosowaną klasyfikacją jest benchmark HPCG. W przeciwieństwie do testów LINPACK, które oceniają moc obliczeniową systemu, HPCG sprawdza, jak superkomputer zachowuje się w działaniach bliższych rzeczywistości. Weryfikuje wpływ ograniczeń używanej pamięci systemowej i wewnętrznych magistral danych. Liderami w tym teście są także amerykańskie Summit i Sierra, ale osiągają wydajność na poziomie 2900 i 1800 TFLOPS. Chiński Sunway uzyskuje wynik 480 TFLOPS i siódme miejsce na liście HPCG. Nieźle wypadają nasze rodzime maszyny. Prometeusz jest na 46. miejscu z wynikiem 40 TFLOPS, a EAGLE zajmuje 61. miejsce z 8,5 teraflopa.
Kosztowna szybkość
Superkomputery to drogie urządzenia. Koszt budowy chińskiego systemu Sunway wyniósł ponad 270 milionów dolarów, amerykański Summit kosztował około 200 milionów. Zużywają one też sporo energii. Tianhe-2A potrzebuje prawie 20 megawatów mocy, Sunway około 17 megawatów. Oszczędniejsze są amerykańskie konstrukcje ze szczytu listy TOP500. Do zasilenia Summita potrzeba niecałych 10 megawatów, a Sierry – ponad 7 megawatów.
Aby korzystanie z superkomputerów było opłacalne, kładzie się więc duży nacisk na wydajność energetyczną. Obok listy TOP500 i rankingu HPCG funkcjonuje jeszcze lista Green500. Systemy są uszeregowane na niej od najbardziej energooszczędnego. Urządzenia klasyfikuje się na podstawie wydajności obliczeniowej przypadającej na wat zużytej mocy. Królują na niej konstrukcje japońskie i amerykańskie. W pierwszej dziesiątce znalazło się też po jednym systemie z Chin, Hiszpanii i Tajwanu. Polskie superkomputery plasują się w drugiej setce tego rankingu, a najwydajniejszy i jednocześnie najbardziej efektywny Prometeusz zajmuje 120. miejsce.
Jako to działa?
Superkomputery to zazwyczaj klastry komputerowe korzystające z tak zwanej architektury masowo równoległej. Klastry składają się z węzłów, w skład których wchodzi procesor z własnym podsystemem, ze specjalną pamięcią i kopią systemu operacyjnego. Komunikacja między podsystemami zapewniana jest przez łącza o dużej szybkości. Wewnątrz węzła stosowane są często wieloprocesorowe rozwiązania symetryczne korzystające ze wspomagania jednostek GPU, których zdolności obliczeń zmiennoprzecinkowych znacznie przekraczają możliwości tradycyjnych procesorów. Procesory to oczywiście konstrukcje wielordzeniowe obsługujące wiele wątków.
Najmniejszymi elementami architektury Blue Gene rozwijanej przez IBM i stosowanej przez innych producentów są chip, którym to mianem określa się jeden bądź więcej procesorów, i karta, na której znajdują się procesory wraz z przypisaną do nich pamięcią operacyjną. Karta jest podstawową wymienną jednostką superkomputera. Karty łączone są w węzły, a te są elementami składowymi szaf. To tutaj z reguły zapewniane jest odpowiednie chłodzenie. W zależności od jego wydajności w każdej szafie może się znajdować więcej bądź mniej węzłów. Gęste upakowanie ma wpływ na redukcję długości magistrali danych łączących węzły. Gęstość wpływa także na przestrzeń potrzebną dla całego komputera. Poszczególne szafy tworzą cały klaster albo system superkomputera.
Bardzo ważna z punktu wydajności są pamięć operacyjna oraz magistrale danych, za pomocą których poszczególne elementy superkomputera wymieniają pomiędzy sobą informacje. Są więc magistrale lokalne do komunikacji między procesorami, GPU i pamięcią operacyjną oraz magistrale łączące poszczególne węzły. Lokalnie stosuje się dziś najczęściej protokół NVLink, który pozwala na transfery do 300GB/s czyli o połowę więcej niż magistrala PCIe. GPU korzystają z pamięci HBM (pamięci wysokiej wydajności). Magazynami danych są natomiast z reguły dyski SSD z interfejsem NVMe podpięte do magistrali PCIe. Węzły połączone są zazwyczaj za pomocą magistrali InfiniBand (IB), zapewniającej bardzo dużą szybkość przesyłania danych i minimalne opóźnienia. Pojedynczy link InfiniBand w wersji EDR umożliwia transfer rzędu 25 Gbit/s. Standard pozwala łączyć do 12 takich linków. Poza węzłami jest też umieszczona dodatkowa przestrzeń dyskowa na dane dla całego komputera.
Szczególną rolę w architekturze superkomputerów odgrywają procesory graficzne. Coraz częściej przejmują one wyspecjalizowane zadania realizowane do tej pory przez CPU. Są to zadania, które mogą być przetwarzane równolegle, a z myślą o takich GPU zostały przecież zoptymalizowane. Na tym bazuje obróbka grafiki komputerowej. Układy graficzne mimo prostszej budowy mogą zawierać tysiące rdzeni – Nvidia Volta ma na przykład 640 rdzeni tensorowych i 5120 rdzeni CUDA. Zużywają przy tym mniej energii.
Tymczasem CPU mają zazwyczaj maksymalnie kilkanaście rdzeni. Jak to się sprawdza w praktyce? Przykładowo po uzupełnieniu węzłów superkomputera Jaguar modułami GPU udało się w 2012 roku poprawić dziesięciokrotnie jego moc obliczeniową. Wzrosła ona z 2,7 petaflopa do 27 PFLOPS, a zużycie energii zwiększyło się jedynie z 7 MW do 8,2 MW. Pomysł okazał się tak dobry, że aktualnie węzeł pierwszego na liście TOP500 superkomputera Summit składa się z dwóch procesorów IBM Power9 i 6 układów Nvidia Volta.
Superkomputery to wytrwałe maszyny. Pracują non stop od uruchomienia, do chwili modernizacji albo wymiany na nowsze. Nie mają przerw ani momentów bezczynności. Bez nich niemożliwe byłoby przeprowadzenie wielu badań i dokonanie przełomowych odkryć. Wspomagają naukę i gospodarkę, pozwalają uniknąć wielu błędów inżynierskich. Najszybsze i najnowocześniejsze systemy na świecie pobudzają wyobraźnię wielu osób. Na tym tle polskie konstrukcje nie wydają się tak doskonałe. Nie mamy się jednak czego wstydzić. Najszybsze opiszemy w kolejnym numerze.
Newralgiczne chłodzenie
Duże moce obliczeniowe, częstotliwości i zagęszczenie układów obliczeniowych na niewielkiej przestrzeni powodują wydzielanie ogromnych ilości energii. Ciepła jest tyle, że można je wykorzystywać do ogrzewania budynków. Aby systemy mogły funkcjonować, niezbędne są więc wyspecjalizowane układy chłodzenia.
Początkowo używano tylko systemów wentylatorów i chłodzenia powietrzem, ale było to mało wydajne i energochłonne rozwiązanie. Dziś najczęściej stosuje się rozwiązania mieszane, chłodzenie cieczą, bardzo często w układzie zamkniętym. W dużym uproszczeniu w systemie zamkniętym ciecz odbiera energię cieplną generowaną przez elementy elektronicznie. Układy mogą być chłodzone bezpośrednio bądź za pomocą systemu chłodzenia powietrznego. Następnie poprzez wymienniki ciepła energia przekazywana jest innej cieczy do drugiego obiegu. Czynnik w tym obiegu jest studzony w chłodnicach poza budynkiem. Inną metodą jest zanurzenie poszczególnych węzłów komputera bezpośrednio w cieczy dielektrycznej. Opływający układy elektroniczne płyn odbiera wydzielane ciepło.
Techniki zarządzania zużyciem energii i odprowadzania energii wypromieniowanej podczas pracy komputerów są dla projektantów coraz istotniejsze. Wynika to z prób upakowania coraz bardziej wydajnych obliczeniowo konstrukcji na mniejszej przestrzeni. W wyścigu technologii wygrywają dziś rozwiązania wodne, które są około dziesięciu razy efektywniejsze. IBM przewiduje, że staną się one główną metodą chłodzenia superkomputerów w przyszłości, nawet w tak zwanych układach 3D, w których procesory obliczeniowe układane są w stosie jeden na drugim. Prowadzone są badania nad umieszczeniem pomiędzy rdzeniami procesorów malutkich 50-mikronowych rurek, którymi mogłaby przepływać ciecz chłodząca. Według IBM dzięki chłodzeniu wodą do 2025 roku można zmniejszyć rozmiary dzisiejszego superkomputera do wielkości komputera biurkowego z roku 2012.
Superkomputery exascale
Wyścigi superkomputerów są jak kiedyś wyścig zbrojeń. Największe mocarstwa na świecie chcą być liderem w tej dziedzinie. Aktualnie wszyscy pracują nad przekroczeniem bariery EFLOPS czyli tryliona operacji zmiennoprzecinkowych na sekundę (eksa – 1018). USA planują uruchomić swoje systemy w okolicach roku 2021. Mają to być Frontier i Aurora (bliźniacza jednostka Summita, przeprojektowana przed planowanym początkowo na 2018 rok uruchomieniem). O szczegółach ich konstrukcji nie wiadomo na razie wiele. Najprawdopodobniej rdzeniem systemów będą procesory IBM wspomagane przez GPU Nvidii. Chińczycy także przygotowują swój komputer działający z szybkością tryliona operacji na sekundę na początek lat 20. Będzie on bazował na konstrukcji Sunway TaihuLight wykorzystującej procesory RISC własnego projektu. W Europie w tym samym kierunku podąża natomiast projekt Mont-Blanc 2020. Planuje się w nim zastosowanie energooszczędnych procesorów ARMv8-A z technologią SVE (zmiennej długości wektora). Z tego samego procesora chce skorzystać też Fujitsu, projektując następcę trzeciego na listopadowej liście HPCG superkomputera K computer działającego w Japonii. Jednym z poważniejszych problemów we wszystkich tych projektach jest zoptymalizowanie zużycia energii. Teoretycznie bowiem system „exascale” można uruchomić już nawet dziś. Wystarczy tylko rozbudować istniejące konstrukcje, dokładając kolejne moduły. Jak zaznaczył jednak profesor Peter Kogge z University of Notre Dame, zajmujący się projektowaniem procesorów i systemów komputerowych, można to zrobić „pod warunkiem, że znajdzie się ktoś gotów zapłacić rachunek za zużywaną energię elektryczną”. Dziesięciokrotne powiększenie superkomputera bazującego na aktualnej technologii wymagałoby dziesięciokrotnie większej mocy zasilającej. A różnica między 20 MW, a 200 MW mocy jest taka, jak „między oddaną do twojej dyspozycji podstacją energetyczną a elektrownią atomową”.