Uruchamianie dużych zadań na klastrach Eagle/Altair

Skalowalność zadań równoległych, wykorzystujących do komunikacji biblioteki MPI, ograniczona jest topologią połączeń sieci Infiniband wykorzystywanej do komunikacji przez aplikacje.

W klastrze Eagle/Altair jest 5 rodzajów serwerów (Eagle/Altair)
klasa 1) serwery wyposażone w 28 rdzeni (Eagle) - Haswell
klasa 2) serwery wyposażone w 32 rdzeni (Eagle) - Broadwell
klasa 3) serwery wyposażone w 48 rdzeni (Altair) - Cascade
klasa 4) serwery wyposażone w 20 i 2 karty GPU (Eagle)
klasa 5) serwery wyposażone w 32 rdzenie i 8 kart GPU (Altair)

Serwery klas 1,2,3 instalowane są w chassis mieszczącym 16 węzłów obliczeniowych, w ramach takiego chassis zapewniona jest komunikacja bez blokowania. W efekcie, optymalne z punktu widzenia sieci, skalowanie aplikacji zachodzi gdy aplikacja uruchomiona jest w ramach pojedynczego chassis. Serwery GPU są również pogrupowane w sposób gwarantujący maksymalną wydajność sieci w ramach danego rodzaju serwera. Daje to maksymalną wielkość aplikacji odpowiednio dla rodzaju serwera:
dla klasy 1) 448 rdzenni
dla klasy 2) 512 rdzeni
dla klasy 3) 768 rdzeni
dla klasy 4) 60 rdzeni i 6 kart GPU
dla klasy 5) 288 rdzeni i 72 karty GPU

W przypadku serwerów wyposażonych w karty GPU sugerujemy uruchamianie zadań tak aby wymagana liczba kart nie była większa niż liczba kart dostępnych na pojedynczym serwerze. W przypadku gdy aplikacja potrafi efektywnie wykorzystać więcej niż serwer wyposażony w akceleratory, sugerujemy wykorzystanie serwerów wyposażonych w 8 kart GPU - dysponują one znacznie szybszym połączeniem sieciowym niż inne serwery. Każdy z nich podłączony jest 4 kartami Infiniband EDR (4x100Gbit) podczas gdy reszta serwerów posiada jedną kartę sieci Infiniband.

Chassis pogrupowane są w wyspy, w ramach których komunikacja odbywa się nadal efektywnie, niemniej gorzej niż w przypadku 1 chassis. Możliwe jest więc uruchamianie zadań wymagających większej ilości zasobów niemniej należy pamiętać że dla pomiędzy serwerami nie mamy już zagwarantowanej pełnej przepustowości i mogą skalowalność aplikacji może być gorsza niż w przypadku zadań uruchamianych w ramach 1 chassis. Dla konkretnych rodzajów serwerów w ramach wyspy dostępna jest następująca liczba rdzeni:
dla klasy 1) 3584 rdzenie, blokowanie 4:1
dla klasy 2) 1760 rdzeni, blokowanie 4:1
dla klasy 3) 14592 rdzenie, blokowanie 2:1

Komunikacja pomiędzy serwerami znajdującymi się w różnych wyspach podlega blokowaniu 8:1 w związku z czym skalowanie większości aplikacji będzie mocno ograniczone. Uruchamianie zadań wymagających całej wyspy (lub więcej) należy skonsultować z administratorami, w takich przypadkach konieczne jest ręczne zagwarantowanie dostępności konkretnych zasobów.