Superkomputery pozwalają na dokładne przepowiadanie pogody, symulowanie zderzeń samochodów albo zjawisk z dziedziny fizyki jądrowej. Umożliwiają zrozumienie jak rozwijają się komórki nowotworowe albo jakie siły działają na skrzydła samolotu. Wykorzystując algorytmy z dziedziny uczenia maszynowego są w stanie nauczyć samochód jazdy bez kierowcy. Pojedynczy liczony problem to często kilka dni, czasem tygodni, a nawet miesięcy ciągłej pracy takiego superkomputera.
Superkomputery to nic innego jak tysiące procesorów równolegle wykonujących obliczenia na wspólnych danych. Listę największych instalacji na świecie można znaleźć na stronie https://www.top500.org (są tam również instalacje z Polski!). Ich całkowita moc obliczeniowa, a więc zdolność rozwiązywania skomplikowanych problemów, zależy od mocy obliczeniowej ich procesorów oraz od sprawności komunikacji między nimi.
Ale właśnie – co jest szkieletem tych superkomputerów, czyli w jaki sposób odbywa się komunikacja pomiędzy ich procesorami? Otóż technologie, które mamy w swoich domach czy biurach, i które tworzą znany nam wszystkim Internet, czyli protokół TCP/IP i sieć Ethernet, są dla superkomputera niewystarczające. Żeby w skończonym czasie uzyskać wyniki skomplikowanej symulacji, konieczne jest przesyłanie danych pomiędzy procesorami z prędkością setek gigabitów na sekundę (czyli 1000 razy szybciej, niż domowa sieć Wi-Fi) i z opóźnieniem wielokrotnie mniejszym, niż w najlepszej sieci Ethernet.
Takie wymagania może spełnić tylko sieć typu fabric, przypominająca strukturą właśnie tkaninę. Chodzi tu o topologię sieci, gdzie komponenty przesyłają dane przez wzajemnie połączone przełączniki. Aby działo się to optymalnie potrzeba natomiast znacznie więcej, niż tylko odpowiedniego połączenia sprzętu.
Inżynierowie z oddziału Intela w Gdańsku pracują nad jednym z rozwiązań dla sieci typu fabric – Intel® Omni-Path Architecture. Główne elementy, z których składa się to rozwiązanie, to sprzęt i oprogramowanie, a w szczególności:
Aby cały układ pracował wydajnie trzeba sprawić, żeby opóźnienia w transmisji między węzłami były jak najmniejsze. Dlatego w naszej architekturze wykorzystujemy zoptymalizowaną konstrukcję układów przełączających typu ASIC (application-specific integrated circuit). Dodatkowo ramki pakietów są o wiele prostsze niż w TCP/IP. To pozwala na trzykrotnie szybsze przetwarzanie pakietu na przełączniku niż w sieci Ethernet.
Kolejnym wyzwaniem jest uzyskanie wysokiej prędkości transmisji na poziomie 100 Gb/s. Taka prędkość jest możliwa nie tylko dzięki specjalnym kartom sieciowym, ale i wysokiej jakości przewodom.
Tworzy to dobre podstawy do uzyskania wysokiej wydajności superkomputera. Jednak cała architektura przewiduje cały szereg optymalizacji, który pozwala maksymalnie wykorzystać dostępne zasoby. Są one możliwe dzięki temu, że w sieci fabricowej istnieje wiele alternatywnych połączeń między węzłami sieci, a ruch jest centralnie monitorowany i sterowany. Niektóre z mechanizmów optymalizacji to:
Dopiero połączenie sprzętu i software’u pozwala na stworzenie super-wydajnego klastra.
Zespół w Gdańsku tworzą programiści i testerzy, pracujący nad oprogramowaniem do Intel Omni-Path. Odbiorcami naszych rozwiązań są najważniejsze ośrodki obliczeniowe na całym świecie, a bezpośrednimi użytkownikami najwybitniejsi naukowcy. Działamy w ramach Open Source community, gdzie ceniona jest otwartość rozwiązań i wzajemna współpraca. Wdrażamy metodologie Agile do produkcji oprogramowania niskopoziomowego, zwinnie dopasowując je do specyfiki produktu i wymagań klientów.
Poszukujemy inżynierów oprogramowania do tworzenia sterowników w jądrze Linuxa, do programowania bibliotek działających w warstwie użytkownika, oprogramowania zarządzającego ruchem sieciowym w wielowęzłowym systemie oraz do tworzenia, automatyzacji i nadzorowania wykonywania testów naszych produktów.
Jeżeli chciałbyś dowiedzieć się więcej, nie wahaj się i zaaplikuj już dziś!