Polscy studenci w światowej elicie mistrzów superkomputingu [wywiad]

ICM Warsaw Team 2019

W tym roku polscy studenci tworzący Warsaw Team osiągnęli bezprecedensowy sukces dochodząc do finałów wszystkich trzech najbardziej prestiżowych konkursów w dziedzinie, która definiuje rozwój technologiczny i naukowy świata w XXI wieku – superkomputingu.

W kwietniu tego roku Warsaw Team, składający się z pięciu studentów z Uniwersytetu Warszawskiego i Politechniki Warszawskiej, uplasował się w finałowej dwudziestce spośród ponad 300 zespołów reprezentujących uniwersytety z całego świata w konkursie Student Supercomputer Challenge w Chinach (Dalian, 21-25 kwietnia).

Po tej rozgrzewce nasz zespół dostał się do grupy finalistów na Student Cluster Competition (SCC), jednej z atrakcji najpoważniejszej konferencji z dziedziny superkomputingu w Europie (Frankfurt, Niemcy, 16-20 czerwca).

Obecnie Warsaw Team trenuje intensywnie do zawodów w Stanach Zjednoczonych na superkomputerowym jamboree świata – Supercomputing’19 w Denver, w listopadzie tego roku.

 

Finał w Denver będzie już siódmym z kolei konkursem SCC w którym rywalizują polscy studenci, trenując w różnym składzie nieprzerwanie od grudnia 2016 r. Warsaw Team przez okrągły rok przygotowują eksperci z Interdyscyplinarnego Centrum Modelowania Matematycznego i Komputerowego Uniwersytetu Warszawskiego (ICM UW).

Warsaw Team powstał z inicjatywy i przy pełnym wsparciu Dr Marka Michalewicza, obecnego dyrektora ICM, który stworzył podobny zespół studencki w Singapurze, w grudniu 2013 r. Zespół z Singapuru od 2014 r. odnosi wielkie sukcesy w światowych konkursach, łącznie z rekordem świata w teście Linpack w 2015 r., i pierwszym miejscem w konkursie SC’17. Warsaw Team od kilku lat mierzy się z zespołem singapurskim i przygotowuje do uplasowania w najściślejszej czołówce.


 

Na pytania o Warsaw Team i tegoroczne Student Cluster Competitions (SCC)
– czyli o najważniejszych cyklicznych zawodach na świecie dla mistrzów High Performance Computing (HPC) – odpowiadają opiekunowie drużyny – Maciej Szpindler i Marcin Semeniuk – na co dzień specjaliści pracujący z superkomputerami w ICM UW.

 

 

Zawody SCC rozgrywane są corocznie na trzech kontynentach. W końcu kwietnia byliście ze studentami w Chinach, a tuż przed wakacjami rozegrał się konkurs w Niemczech. Kto tworzy Warsaw Team i z jakimi wyzwaniami mierzycie się podczas międzynarodowych zawodów?

Maciej Szpindler: Tegoroczną reprezentację Warsaw Team tworzy pięciu studentów z Wydziału Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego oraz jeden z Politechniki Warszawskiej. W takim składzie byliśmy w Chinach oraz w Niemczech. Używając analogii można powiedzieć, że to prawdziwi olimpijczycy HPC, bo każdy nasz występ poprzedzają intensywne przygotowania, a nasi konkurenci to światowa śmietanka najbardziej uzdolnionych studentów informatyki, matematyki i dziedzin ścisłych.

Podczas SCC uczestnicy projektują w drużynach swój mini-superkomputer, czyli tzw. klaster – stąd cluster w nazwie konkursów. Następnie optymalizują jego moc obliczeniową dla aplikacji konkursowych, czyli programów komputerowych dedykowanych rozwiązaniom specyficznych problemów naukowych. Liczy się przede wszystkim wydajność – jak szybko i jak dokładnie zespół potrafi rozwiązać każde zadanie. Na ostatnim konkursie we Frankfurcie naszym największym wyzwaniem była oryginalna platforma sprzętowa, którą postanowiliśmy użyć, jako ciekawej alternatywy dla tego co używa większość centrów HPC na świecie.

Marcin Semeniuk: Korzystamy z przetwarzania równoległego, bo klaster to tak naprawdę kilka-kilkanaście połączonych ze sobą komputerów, które pracują równolegle. Studenci optymalizują obliczenia związane z szerokim spektrum problemów z zakresu: projektowania materiałów, prognozowania pogody, dynamiki płynów, symulacji sejsmicznych, analizy struktur białkowych, rozwiązywania równań matematycznych i wiele innych. Każdy konkurs zawiera także tajemniczą aplikację ujawnioną w pierwszym dniu zawodów.

Maciej Szpindler: Warto podkreślić, że nasz zespół uzyskuje w kolejnych konkursach wysokie wyniki w zadaniach z kategorii „AI Challenge” związanej z optymalizacją obliczeń uczenia maszynowego. Tego rodzaju problematyka jest podstawą niezwykle dziś popularnych technik określanych jako Sztuczna Inteligencja (AI). Jest to zasługa bardzo dobrego przygotowania z podstaw informatyki i matematyki, które studenci wynoszą z wydziału MIM UW, a także naszego szkolenia z zakresu narzędzi informatycznych.

 

Dlaczego ICM bierze udział w konkursach klastrów studenckich? Jak te wydarzenia odbierają sami studenci?

Maciej Szpindler: Ośrodki High Performance Computing na całym świecie, szczególnie w Stanach Zjednoczonych czy Europie zachodniej, wychodzą ze swoimi propozycjami kształcenia przyszłych pokoleń ekspertów. Co ciekawe, programy naszych zachodnich kolegów dotyczą dzieci i młodzieży już w wieku szkolnym. ICM UW również wychodzi z podobną inicjatywą – potrzeba młodych ludzi, którzy będą w przyszłości kadrą takich ośrodków jak nasze centrum superkomputerowe w Warszawie. HPC to specyficzna działalność i wymaga głębokiej wiedzy, która nie jest powszechna. Mam tu na myśli nie tylko programowanie, ale również techniczne zagadnienia.

Dla naszych podopiecznych wyzwaniem jest osiągnąć dobre wyniki, tak samo jak rozwój naukowy czy poznanie rzeczy, które potencjalnie ich interesują. Ważnym aspektem są również wymiana doświadczeń z innymi drużynami oraz udział w największych, międzynarodowych konferencjach HPC.

Marcin Semeniuk: Dla ICM głównym celem jest obecność na tych wydarzeniach. Pokazujemy w ten sposób, że możemy nauczyć studentów bardzo szybko podstaw HPC. Do tego staramy się traktować tę globalną rywalizację jak zabawę, bo w każdym konkursie są tylko trzy pierwsze miejsca. Innymi słowy, przy sukcesie cel wydaje się oczywisty, jak np. przed dwoma laty w Chinach, gdy osiągnęliśmy drugi najlepszy wynik w kategorii High Performance Linpack. Nie każdy jednak występ może okazać się tak spektakularny, więc staramy się przede wszystkim realizować misję uniwersytetu. W ten sposób centrum superkomputerowe ICM potrafi pokazać swoje kompetencje w kontekście edukacyjnym oraz w sprawnym poruszaniu się po zagadnieniach HPC.

 

Na czym polega przygotowanie i późniejsze eliminacje do SCC?

Maciej Szpindler: Z punktu widzenia trenera pierwszym krokiem jest powołanie drużyny, czyli wybór studentów jeszcze przed licencjatem, którzy wykazują się największym potencjałem. Zależnie od imprezy może być ich pięcioro lub sześcioro. Z drugiej strony trzeba zorganizować sprzęt, który pozyskujemy od sponsorów. Równolegle prowadzimy intensywne przygotowania jeszcze przed startem w eliminacjach. Przed każdym wydarzeniem trenujemy około 3-4 miesiące, więc gdy pomnożymy to przez trzy wydarzenia w roku wychodzi na to, że Warsaw Team pracuje przez okrągły rok.

Na każdy konkurs trzeba się niezależnie zakwalifikować. W przypadku Niemiec należy przygotować esej oraz opisać swój pomysł na mini-superkomputer. Przy eliminacjach do USA zgłoszenie podlega takiej samej ocenie jak wystąpienia konferencyjne – trzech recenzentów ocenia konkretne elementy projektu. W Chinach kwalifikacja jest trudniejsza – najpierw są zwykle bardzo trudne zadania, które w rundzie eliminacyjnej są oceniane według klucza znanego jedynie organizatorom, a drużyny otrzymują tylko informację o dopuszczeniu do finału.

Marcin Semeniuk: Zespołów dopuszczonych do finałów SCC jest od piętnastu do nawet dwudziestu w przypadku Chin. W fazie eliminacji – do konkursów w Niemczech i USA startuje dwukrotnie więcej drużyn; z kolei w Chinach jest ich 15-krotnie więcej – w tym roku było ich ponad 300.

 

 

Czy zadania przed którymi staje Warsaw Team są podobne na każdym SCC?

Maciej Szpindler: Każdy konkurs ma specyficzny zestaw zadań, które trzeba przygotować i tym samym zaprezentować jak największe możliwości swojego mini-superkomputera. Zwycięża ten, kto osiągnie najwyższą wydajność – pochwali się najlepszymi wynikami z tych zadań. Rywalizacja trwa 48-72 godziny, zależnie od konkursu.

Marcin Semeniuk: O ile system komputerowy mógłby się powtarzać, co – w przypadku zeszłorocznego SCC w Stanach czy tegorocznego Frankfurtu – powiązane jest z brakiem istotnej premiery sprzętowej na rynku HPC, to przy każdym konkursie mamy zupełnie inne aplikacje narzucone przez organizatorów.

Na konkurs w Denver i we Frankfurcie każda drużyna musi wystartować na swoim sprzęcie, najczęściej pozyskanym od sponsorów, który oczywiście przekłada się później na wynik. Zupełnie inny jest konkurs chiński, bo z jednej strony jest skierowany do świata azjatyckiego, a z drugiej wszyscy – przynajmniej teoretycznie – mają równe szanse, startują z tego samego punktu. Uczestnicy dostają dokładnie taki sam sprzęt, drużyna decyduje jedynie o liczbie serwerów, ale można mieć dodatkowo własne akceleratory.

 

Jakie są najbardziej unikalne wartości rywalizacji w superkomputingu? Co to tak naprawdę decyduje o tak dużej popularności SCC na świecie?

Marcin Semeniuk: Myślę, że celem tych konkursów – w ujęciu globalnym – jest demonstracja tego jak szybko rozwija się technologia. Powiedzmy, w odstępie pół roku – na konferencjach w Niemczech i USA – publikowane są listy TOP 500 najszybszych superkomputerów, z których wynika, że technologia HPC bardzo szybko się zmienia, bo wydajność rośnie wykładniczo. Ten postęp widać patrząc na wyniki osiągane przez klastry budowane podczas konkursów. Jeśli więc chce się konkurować z innymi, to cały czas trzeba mieć coś lepszego.

Maciej Szpindler: Drugi unikalny aspekt konkursu to specyfika zadań, która zazwyczaj opiera się na osiągnięciach wybitnych naukowców. Najczęściej dotyczy to symulacji naukowych w ogromnej skali, które są następnie pomniejszane do rozmiaru małego superkomputera budowanego przez studentów. Podczas konkursu stajemy więc przed tym samym, poważnym problemem naukowym, do którego trudno jest się merytorycznie przygotować. Dodatkowo studenci muszą, przynajmniej w podstawowym zakresie, całą tę wiedzę przyswoić, żeby umieć to zrobić. Innymi słowy zrozumieć dlaczego dane rozwiązanie jest poprawne, a także co jest lepszym albo gorszym wynikiem.

Pamiętajmy, że w normalnym toku edukacji większość zadań informatycznych dla studentów ma raczej cechę podstawową. Należy zaproponować algorytm albo jego usprawnienie czy wykonać implementację prostego algorytmu. Podczas SCC podchodzimy do problemu zupełnie od innej strony. Całe wielkie rozwiązanie jest dostępne, tylko trzeba umieć je użyć. To zupełnie inne podejście. Dodatkowo trzeba rozumieć zależności pomiędzy sprzętem, a tym jak on wpływa na to rozwiązanie.

Marcin Semeniuk: Kluczowa dla popularności SCC jest również sama idea wyścigu. W Chinach jest spora rywalizacja między różnymi chińskimi uczelniami, co owocuje bardzo wysokim poziomem. Podobnie jest z drużyną z RPA, która wygrywa przeważnie we Frankfurcie – mają bardzo mocny zespół złożony z finalistów z ogólnonarodowego programu. W tym kontekście warto podkreślić, że Warsaw Team jest jedyną drużyną, która reprezentuje Polskę we wszystkich trzech konkursach.

 

Wracając do budowy mini-superkomputera. W jakim stopniu wasz start uzależniony jest od sponsorów?

Maciej Szpindler: Trzeba znaleźć sponsora, który udostępni sprzęt najwyższej klasy, co generalnie przekłada się na wynik – im lepszy sprzęt, czyli serwery HPC i połączenie między nimi – tym większe szanse na wygraną. Inaczej jest w Chinach, gdzie wszystkie drużyny mają taki sam sprzęt. Z kolei mniej komfortową sytuację mamy na przykład w Denver, gdzie sponsorów trzeba pozyskać indywidualnie.

Sponsorem jest producent lub dystrybutor serwerów, z których składamy nasz klaster sami, choć bywają też firmy, które dostarczają wybrane komponenty jak start-up GigaIO, który wspierał nas w Denver w listopadzie 2018 r. Poza tym do tej pory sponsorowali nas Nvidia czy Boston IT. W jednym z konkursów korzystaliśmy także ze sprzętu użyczonego przez centrum superkomputerowe TACC z Teksasu.

Marcin Semeniuk: W tym roku w Niemczech byliśmy ze sprzętem japońskiej firmy NEC z oryginalną technologią. To dobry przykład współpracy, która nie ma komercyjnego charakteru. Aktualnie technologia HPC ulega znacznej unifikacji, a oni stosują bardziej oryginalne rozwiązania. Dodatkowo wspiera nas firma Western Digital, która dostarczyła nam szybkie pamięci masowe będące krytycznym, choć często niedocenianym, elementem systemu dedykowanego do obliczeń. Wciąż pracujemy nad pozyskaniem sponsorów sprzętu na konkurs w Stanach Zjednoczonych – zapraszamy wszystkie chętne firmy do współpracy.

 


 

Informacje o Warsaw Team

Warsaw Team powstał w 2017 r. z inicjatywy dr Marka Michalewicza, dyrektora Interdyscyplinarnego Centrum Modelowania Matematycznego i Komputerowego Uniwersytetu Warszawskiego. Drużynę tworzą wyróżniający się studenci przed tytułem licencjata z prestiżowych ośrodków akademickich. Opiekunami zespołu są Maciej Szpindler oraz Marcin Semeniuk, pracownicy centrum superkomputerowego ICM UW.

W roku akademickim 2017/2018 Warsaw Team otrzymał wsparcie Ministerstwa Nauki i Szkolnictwa Wyższego w ramach projektu „Najlepsi z Najlepszych! 2.0”. Przygotowania oraz start w SCC umożliwiają również dotacje uniwersyteckie oraz wsparcie sponsorów. Do tej pory byli to m.in.: NVIDIA, Boston IT, IBM Polska, GigaIO, a ostatnio NEC i Western Digital.

 

Informacje o Student Cluster Competition

Konkursy Student Cluster Competition (SCC) dotyczą zastosowania technologii High Performance Computing (HPC) w czterech obszarach: nauka, technologia, inżynieria i matematyka (tzw. STEM disciplines). Podczas trwającej 48 godzin rywalizacji zespoły pracują nad osiągnięciem największej wydajności obliczeniowej przy pomocy systemu komputerowego (tzw. klastra) własnego projektu, mając do dyspozycji limit 3kW energii.

W zawodach bierze udział od piętnastu (konkursy w Niemczech i USA) do dwudziestu zespołów (SCC w Chinach). Do kwalifikacji w przypadku Niemiec i USA zgłasza się dwukrotnie więcej drużyn, z kolei w Chinach w eliminacjach uczestniczy ich 15-krotnie więcej; w 2019 r. ponad 300!

Początki Student Cluster Competition sięgają 2007 roku. Pierwszy konkurs poświęcony obliczeniom wysokiej wydajności odbył się w Reno w USA. Obecnie konkurs rozgrywany jest podczas trzech najważniejszych wydarzeń HPC na świecie:

  • SC High Performance Conference and Exhibition w Niemczech,
  • The International Conference for High Performance Computing, Networking, Storage, and Analysis w USA,
  • Asia Supercomputer Community Student Supercomputer Challenge w Chinach.