Systemy superkomputerowe mogą w pierwszej chwili sprawiać wrażenie niezwykle kosztownej, akademickiej niszy. Nie można jednak zapominać, że skutecznie wspierają rozwiązywanie najtrudniejszych problemów, z jakimi mierzy się ludzkość. Wystarczy zmienić nieco narrację z matematyczno-technologicznej na biologiczną i okazuje się, że to fascynujący obszar nawet dla zwykłego człowieka. Bez tych potężnych maszyn niemożliwy byłby znaczący postęp w badaniach nad rakiem, lepsze zrozumienie funkcjonowania mózgu czy rozwój spersonalizowanej medycyny. Superkomputery stanowią zarazem awangardę technologiczną, która tworzy pole do zaciętej, międzynarodowej konkurencji podobnej do trwającego w połowie XX wieku wyścigu kosmicznego. Uważne obserwowanie trendów w tym obszarze pozwala o wiele wcześniej dostrzegać, jakie technologie mogą za kilka albo kilkanaście lat zdominować główny nurt IT.
Określenia superkomputery albo KDM, czyli Komputery Dużej Mocy, można uznać za nieco mylące. Stanowią znaczne ograniczenie zagadnienia High Perfomance Computing (HPC). To bowiem nie tylko sprzęt – moc obliczeniowa, pamięć masowa, sieci – lecz także różne podejścia badawczo-rozwojowe i problemy, które są do rozwiązania. Maszyn nie buduje się dla samego ich posiadania czy osiągania lepszych wyników benchmarkowych, ale do rozwiązywania konkretnych zagadnień i zdobycia wiedzy – to computing for insight.
„Właśnie dlatego w obszarze HPC ma miejsce równocześnie tak wiele wydarzeń, a praca w tej dziedzinie jest tak pasjonująca. Nie ma dnia, żeby coś nowego się nie zdarzyło. Oczywiście, bieżące utrzymywanie serwerów to pewnego rodzaju rutyna. Nie mamy jednak pojęcia, jakiego rodzaju sprzęt będziemy musieli utrzymywać za 3 lata” – mówi dr Marek Michalewicz, wicedyrektor Interdyscyplinarnego Centrum Modelowania Matematycznego i Komputerowego Uniwersytetu Warszawskiego (ICM UW) i jednocześnie pomysłodawca konferencji Supercomputing Frontiers, której czwarta edycja odbyła się niedawno w Warszawie.
ICM to jedna z europejskich potęg superkomputerowych. Według rankingu najszybszych komputerów na świecie Polska zajmuje dziesiąte miejsce wśród wszystkich sklasyfikowanych państw pod względem mocy obliczeniowej komputerów naukowych. „Nie wymyślamy najnowszych technologii, ale jesteśmy liderem w ich implementacji i testowaniu. Niedawno pokazaliśmy najszybszy w Europie transfer danych na parze światłowodów, 1.2 Tb/s” – mówi Marek Michalewicz.
Najnowsze technologie to oczywiście pojęcie względne. Dobrym przykładem mogą być tu procesory graficzne, które w ciągu ostatnich lat cieszą się ogromnym zainteresowaniem użytkowników. Firma NVIDIA trafiła przypadkiem na żyłę złota. Okazało się bowiem, że GPU (Graphics Processing Unit) doskonale nadają się do prowadzenia obliczeń stanowiących rdzeń dwóch metod wykorzystywanych w systemach sztucznej inteligencji, a także „kopania” kryptowalut. Produkt przygotowany na inny rynek – gry komputerowe, zastosowania graficzne – nagle przez dodanie specyficznych funkcji świetnie sprawdza się jako akcelerator obliczeń na potrzeby głębokiego uczenia. Jeśli jednak uważnie się przyjrzeć, to GPU były wykorzystywane w obszarze HPC już na początku XXI wieku, prawie 15 lat temu.
Uważne obserwowanie trendów w obszarze High Perfomance Computing pozwala o wiele wcześniej dostrzegać, jakie technologie mogą za kilka albo kilkanaście lat zdominować główny nurt IT.
Układy definiowane programowo
Teraz wydaje się, że podobnie będzie z układami programowalnymi FPGA (Field-programmable gate array). To zintegrowane obwody, które mogą być konfigurowane przez użytkownika po zakończeniu etapu ich produkcji w fabryce. FPGA to w istocie macierz programowalnych bramek logicznych i połączeń pomiędzy nimi. Użytkownicy mogą samodzielnie je przystosowywać – za pośrednictwem języka HDL (Hardware Description Language) – do wykonywania prostych lub złożonych funkcji. W efekcie można w ten sposób przyspieszać obsługę konkretnych obciążeń, a zarazem na bieżąco dostosowywać układy do zmieniających się wymagań czy technologii.
Początki FPGA to działania mało znanych firm Maxeler Technologies i Convey Computer (przejętej przez Micron Technology). Niedawno FPGA zainteresował się jednak Intel. Gigant przejął firmę Altera i wprowadza FPGA we własnych układach. W ten sposób w mgnieniu oka FPGA z układu laboratoryjnego, prototypowego, stał się programowalnym elementem obliczeniowym i zaczyna kształtować przyszłość IT. To spowodowało niesamowity ferment w całym środowisku. Trudno obecnie wyrokować, czy FPGA podzieli los GPU, niemniej demonstracje Maxelera i Conveya były niezwykle obiecujące, a zainteresowanie Intela potwierdza, że nie są to mrzonki.
W mgnieniu oka FPGA z układu laboratoryjnego, prototypowego, stał się programowalnym elementem obliczeniowym i zaczyna kształtować przyszłość IT. To spowodowało niesamowity ferment w całym środowisku.
Kwanty i neurony
Z rozwojem nowych architektur procesorowych związane są także dwa inne, niezwykle ciekawe trendy – komputery kwantowe i inżynieria neuromorficzna. W pierwszym przypadku mówimy o maszynach, w których tradycyjne, binarne wartości bitów 1 albo 0 zostają zastąpione przez kubity mogące znajdować się w stanach kwantowych, czyli równocześnie posiadać obydwie wartości lub inaczej – być superpozycją jedynki i zera. Ostatecznym efektem podejścia kwantowego do obliczeń komputerowych jest znacznie szybsze rozwiązywanie złożonych problemów przy użyciu mniejszych zasobów obliczeniowych.
„W zależności od czasu potrzebnego do wykonania obliczeń oraz ilości potrzebnych zasobów, każdy problem obliczeniowy można przypisać do pewnej klasy kompleksowości. Przy tym pewnych problemów w ogóle nie można rozwiązać, ponieważ nie dysponujemy dostateczną ilością czasu i zasobów. Przykładowo, w przypadku problemów NP-zupełnych (NP-Complete), gdzie czas potrzebny na obliczenia rośnie w sposób wykładniczy (eksponencjalnie), dostępne możliwości obliczeniowe są niewystarczające. Dzięki komputerom kwantowym problemy tego typu można zredukować do prostszych problemów polinomialnych, czyli typowych problemów rozwiązywanych przez systemy HPC” – wyjaśnia Marek Michalewicz.
Jednym z przykładów zastosowania komputerów kwantowych może być algorytm Shora. Jego wykonanie dla bardzo dużych liczb zajęłoby klasycznym komputerom okres przekraczający czas istnienia wszechświata. Natomiast jego realizacja przez komputery kwantowe trwałaby o wiele krócej.
W przypadku problemów NP-zupełnych (NP-Complete), gdzie czas potrzebny na obliczenia rośnie w sposób wykładniczy (eksponencjalnie), dostępne możliwości obliczeniowe są niewystarczające. Dzięki komputerom kwantowym problemy tego typu można zredukować do prostszych problemów polinomialnych, czyli typowych problemów rozwiązywanych przez systemy HPC.
Na razie jednak budowa komputerów kwantowych z fizycznego, inżynieryjnego punktu widzenia napotyka na znaczne trudności. Choć firma D-Wave Systems stworzyła komputery z rejestrem kwantowym, to jednak istnieją poważne wątpliwości, czy faktycznie są to maszyny kwantowe. Tak czy inaczej maszyny D-Wave, używane m.in. przez Google i Lockheed Martin, mogą przeszukiwać przestrzeń możliwych rozwiązań i prezentować zbliżone do optymalnego rozwiązanie. W pewnych przypadkach jest to zupełnie wystarczające. Nie zawsze istnieje potrzeba posiadania jednego, najlepszego rozwiązania dla danego problemu.
Inżynieria neuromorficzna to z kolei koncepcja budowy maszyn przypominających neurobiologiczną strukturę mózgu. Działający w tym obszarze naukowcy, m.in. Karlheinz Maier – jeden z uczestników Supercomputing Frontiers Europe 2018, budują zupełnie nowe rodzaje sprzętu komputerowego. To urządzenia w pewnym sensie podobne do układów biologicznych. Alternatywą dla tego podejścia są przedsięwzięcia takie jak SpiNNaker (Spiking Neural Network Architecture), architektura komputerowa zaprojektowana na Uniwersytecie w Manchesterze. W ramach tego projektu do budowy modelu symulującego funkcjonowanie ludzkiego mózgu wykorzystuje się standardowe komputery. Zdaniem ekspertów, podejście reprezentowane przez Karla Hainza Maiera powinno – choć jest bardziej kosztowne – w dłuższej perspektywie przynieść lepsze wyniki.
Jednym z ciekawszych projektów w obszarze inżynierii neuromorficznej jest bardzo inżynieryjny, nastawiony na technologię obliczeniową Blue Brain Project. „W ramach tego projektu powstały już modele syntetyczne. Choć mają one ograniczenia, to jednak wyniki badań są fascynujące. Mogą stać się fundamentem dla connectome, czyli kompleksowej mapy powiązań nerwowych istniejących w mózgu. Ostatecznie może to pozwolić na określenie topologii połączeń synaptycznych oraz ich wpływu na nasze myślenie i pamięć” – mówi Marek Michalewicz.
Prowadzone są także projekty komercyjne, takie jak np. IBM TrueNorth, w ramach którego zbudowano neuromorficzny, zintegrowany obwód CMOS. Niedawno układ TrueNorth został wykorzystany do stworzenia systemu demonstracyjnego, który w połączeniu z czujnikiem iniLabs DVS, potrafił w czasie rzeczywistym nauczyć się rozpoznawania 10 gestów z dokładnością przekraczającą 96 proc. Układ neuromorficzny zużywał przy tym znacznie mniejszą ilość energii w porównaniu do tradycyjnych procesorów.
Inżynieria neuromorficzna to koncepcja budowy maszyn przypominających neurobiologiczną strukturę mózgu. Działający w tym obszarze naukowcy budują zupełnie nowe rodzaje sprzętu komputerowego. To urządzenia w pewnym sensie podobne do układów biologicznych.
Chmura nad HPC
Mogłoby się wydawać, że chmura obliczeniowa to naturalne środowisko dla HPC. Jednak na razie cloud computing nie zyskał popularności w tym obszarze. Choć wydaje się, że rozwój w tym kierunku będzie następował, to istnieją pewne ograniczenia, które trzeba jeszcze pokonać. Jednym z nich jest zagadnienie wydzielania topologii do dużych obliczeń, żeby zachować wydajność układów.
Najważniejszym wyróżnikiem HPC w porównaniu do typowego IT biznesowego jest to, że od czasu do czasu jeden użytkownik może potrzebować całego systemu oferującego setki tysięcy węzłów i miliony rdzeni procesorowych. Komunikacja pomiędzy wszystkimi elementami systemu musi być na najwyższym poziomie. Wystarczy przypomnieć sobie, jak wygląda ruch uliczny w godzinach szczytu w Warszawie. Podobnie będzie z dużymi zbiorami danych, gdyby do ich obsługi używać klasycznych systemów IT – utkną w korkach zatykając trasy komunikacyjne.
„Największym problemem dla chmury w obszarze HPC jest udostępnianie połączeń interconnect. Jak współdzielić kanały komunikacyjne, żeby zapewnić wszystkim użytkownikom takie same parametry działania systemu? Jeśli mamy do czynienia z topologią mesh, hiperkostką czy torusem, to wydzielenie podzespołów obliczeniowych w mniejszej skali nie jest wyzwaniem. Jednak w przypadku topologii fat tree to praktycznie niemożliwe. Jak dwa węzły na ‘liściach’ mają się łączyć w chmurze? Jak wydzielić przełączniki Infiniband, żeby współdzielić przepustowość?” – tłumaczy Marek Michalewicz. Na razie na te pytania brakuje odpowiedzi.
Największym problemem dla chmury w obszarze HPC jest udostępnianie połączeń interconnect – jak współdzielić kanały komunikacyjne, żeby zapewnić wszystkim użytkownikom takie same parametry działania systemu.
Wyścig do eksaskali
Międzynarodowe współzawodnictwo w obszarze superkomputerów to także pewien trend, którego nie należy ignorować, ponieważ determinuje budżety na poziomie narodowym. Najwięksi gracze na tym polu – USA, Chiny, Japonia – wydają ogromne sumy na budowę nowych, coraz potężniejszych maszyn. Na superkomputerową konkurencję, w szczególności trwający obecnie wyścig do zbudowania komputera eksaskalowego – posiadającego moc obliczeniową przynajmniej jednego eksaFLOPSa – można spojrzeć jak na współczesny wyścig kosmiczny.
Zdaniem obecnego na konferencji Supercomputing Frontiers Europe 2018 prof. Thomasa Sterlinga, Chiny najprawdopodobniej wygrają ten wyścig. Marek Michalewicz zwraca uwagę, że nie powinno to być zaskoczeniem, skoro Chińczycy mocno inwestują w ten obszar i bardzo wspierają edukację w tym zakresie. Przykładowo, w globalnym konkursie superkomputerowym na 300 zgłaszanych zespołów 250 to Chińczycy. To oznacza, że w skali całego społeczeństwa istnieje, albo wkrótce będzie istnieć, stosunkowo duża grupa najwyższej klasy specjalistów.
„Systemowe wspieranie obszaru HPC jest niezwykle istotne, zwłaszcza, że nie należy on do mainstreamu uniwersyteckiego. Nawet na wydziałach Computer Science czy Engineering, superkomputery to nisza. Jednocześnie – o czym nie można zapominać – to awangarda technologiczna” – podkreśla Marek Michalewicz. Jego zdaniem, wielkie programy działające na superkomputerach, to najbardziej skomplikowane artefakty inżynieryjne, jakie stworzyła ludzkość. O wiele bardziej skomplikowane niż rakiety kosmiczne. Pozwalają przy tym rozwiązywać wiele kluczowych problemów ludzkości.
Działający w Centrum Obliczeniowym ICM UW system Okeanos składa się z 1084 węzłów typu Cray XC40 – serwerów superkomputerowych upakowanych w specjalnych szafach. Każdy węzeł wyposażony jest w 24 rdzenie procesora IntelXeon (architektura x86_64), razem 48 logicznych jednostek obliczeniowych. Węzły połączone są siecią typu Cray Aries o wysokiej wydajności. Sieć połączeń ma topologię Dragonfly. (Źródło: ICM UW)
Kategorie: Architektura systemów, Cyfrowa transformacja
Musisz się zalogować aby dodać komentarz.