Streszczenie
Ostatnio Dell EMC PowerEdge C4140 dodał nowe rozwiązanie „Konfiguracja M”. Po dołączeniu najnowszej opcji do rodziny C4140 ten artykuł przedstawia wyniki badań oceniających Konfigurację M i Konfigurację K dla różnych aplikacji HPC, w tym HPL, GROMACS i NAMD.
Omówienie
PowerEdge C4140 to szafa serwerowa 1U na 2 gniazda. Obejmuje obsługę procesorów Intel Skylake, do 24 gniazd DIMM oraz czterech kart o podwójnej szerokości NVIDIA Volta GPU. W rodzinie serwerów C4140 dwie konfiguracje obsługujące NVLINK to Konfiguracja K i Konfiguracja M. Porównanie obu typów topologii pokazano na Rysunku 1. Poniżej przedstawiono dwie najważniejsze różnice między tymi konfiguracjami:
p2pBandwidthLatencyTest
Rysunek 2: Opóźnienie kart z wyłączonym P2P n C4140 Konfiguracja K i M
P2pBandwidthLatencyTest to mikro-test zawarty w CUDA SDK. Mierzy opóźnienie kart i przepustowość z włączonym i wyłączonym połączeniem Peer-to-Peer GPUDirect™. Test skupia się na opóźnieniach, ponieważ program nie mierzy jednocześnie przepustowości. Dyskusja na temat dostępnej rzeczywistej przepustowości aplikacji znajduje się w sesji HPL poniżej. Liczby wymienione na Rysunku 2 stanowią średnią ze 100 jednokierunkowych opóźnień kart w mikrosekundach. Za każdym razem, gdy kod wysyła jeden bajt z jednej karty do drugiej, w tym wykresie wybiera się numer z wyłączonym P2P, a w przypadku włączenia funkcji P2P dane są przesyłane poprzez NVLINK. Opóźnienie PCIe konfiguracji M wynosi 1,368 us mniej niż w przypadku konfiguracji K w wyniku różnych topologii PCIe.
High Performance Linpack (HPL)
Rysunek 3 (a) przedstawia wydajność HPL na platformie C4140 przy 1, 2, 4 i 8 procesorach GPU V100-SXM2. Wyniki 1–4 procesorów GPU pochodzą z pojedynczej C4140, a wynik 8 procesorów GPU z dwóch serwerów. W tym teście użyta wersja HPLa pochodzi od NVIDIA i jest skompilowana z ostatnimi wydanymi CUDA 10 i OpenMPI. Z wyników HPL można wyciągnąć następujące wnioski:
1) Jeden węzeł. W przypadku wszystkich 4 procesorów GPU w teście konfiguracja M jest o ~16% szybsza niż konfiguracja K. Przed rozpoczęciem obliczania aplikacja HPL mierzy dostępne pasma urządzenie-do-hosta (D2H) i hosta-do-urządzenia (H2D) każdej karty GPU w przypadku, gdy wszystkie karty przesyłają dane. Te dane dostarczają użytecznych informacji na temat prawdziwej przepustowości PCIe dla każdej karty, gdy HPL kopiuje N*N Matrix do wszystkich pamięci GPU w tym samym czasie. Jak pokazano na rysunku 3 (b), zarówno wyniki D2H, jak i H2D konfiguracji M są znacznie wyższe i osiągają teoretyczną przepustowość PCIe x16. Jest to zgodne z topologią sprzętową, ponieważ każdy procesor GPU w konfiguracji M ma dedykowane łącza PCIe x16 do procesora CPU. W konfiguracji K wszystkie cztery V100s muszą korzystać z jednego łącza PCIe x16 za pośrednictwem PLX PCIe, tak aby dla każdego z nich było dostępnych tylko 2,5 GB/s. Ze względu na różnicę przepustowości konfiguracja M potrzebowała 1,33 sekundy, aby skopiować 4 sztuki 16 GB N*N Matrix do każdej pamięci globalnej GPU, a konfiguracja K — 5,33 sekundy. Cała aplikacja HPL potrzebowała mniej więcej od 23 do 25 sekund. Ze względu na to, że wszystkie V100-SXM2 są takie same, czas obliczania jest taki sam, dlatego te 4 sekundy oszczędności z kopiowania danych sprawiają, że konfiguracja M o 16% szybsza.
2) Wiele węzłów. Wyniki 2 węzłów C4140 z 8 GPU wskazują na poprawę o 15% + HPL w dwóch węzłach. Oznacza to, że konfiguracja M oferuje lepszą skalowalność na wszystkich węzłach niż konfiguracja K z tego samego powodu co pojedyncze węzły 4 kart w powyższym przypadku.
3) Wydajność. Zużycie energii zmierzono za pomocą iDrac, Rysunek 3 (c) przedstawia moc w watach w szeregach czasowych. Oba systemy osiągają moc około 1850 W w szczytowym momencie dzięki wyższej liczbie GFLOPS, Konfiguracja M zapewnia wyższą wydajność na liczbę watów, a także skuteczność HPL.
HPL to test wydajności na poziomie systemu, a jego wyniki są określane przez elementy takie jak procesor CPU, procesor GPU, pamięć i przepustowość PCIe. Konfiguracja M ma zrównoważoną konstrukcję na dwóch procesorach; z tego względu przewyższa Konfigurację K w tym teście HPL.
GROMACS
GROMACS to aplikacja o otwartej dynamice molekularnej przeznaczona do symulacji biochemicznych cząsteczek takich jak białka, lipidy i kwasy nukleinowe, które tworzą wiele skomplikowanych interakcji. Wersja 2018.3 jest testowana na zestawie danych wody 3072, który zawiera 3 mln atomów.
Rysunek 4: Wyniki GROMACS z wieloma V100 w C4140 konfiguracji K i M
Rysunek 4 przedstawia zwiększenie wydajności konfiguracji M nad K. Wydajność jednej karty jest taka sama w obu konfiguracjach, ponieważ nie ma różnicy w ścieżce danych. Dzięki 2 i 4 procesorom GPU, konfiguracja M jest o ~5% szybsza od K. Po przetestowaniu na 2 węzłach konfiguracja M ma nawet o 10% lepszą wydajność; główną przyczyną jest zwiększona liczba połączeń PCIe, które zapewniają większą przepustowość i pozwalają na szybkie dostarczenie większej ilości danych do procesorów GPU. GROMACS działa znacznie szybciej z procesorami GPU, ale ta aplikacja używa zarówno procesorów CPU, jak i procesorów GPU do obliczeń równoległych; dlatego też, jeśli GROMACS jest aplikacją główną w klastrze, zalecany jest wydajny procesor CPU. Ten wykres przedstawia również skalowanie wydajności GROMACS z większą liczbą serwerów i procesorów GPU. Chociaż wydajność aplikacji zwiększa się wraz z liczbą procesorów GPU i serwerów, zwiększenie wydajności z dodatkowymi procesorami GPU jest mniejsze niż liniowe.
NAnoscale Molecular Dynamics (NAMD)
NAMD to kod dynamiki cząsteczkowej przeznaczony do wydajnej symulacji dużych systemów biomolekularnych. W tych testach zapis binarny nie był używany. Zamiast tego test NAMD został skompilowany przy użyciu najnowszego kodu źródłowego (NAMD_Git-2018-10-31_Source) z CUDA 10. Rysunek 4 przedstawia wyniki wydajności przy użyciu zestawu danych STMV (1 066 628 atomów, okresowy, PME). Testy na mniejszych zestawach danych, np. f1atpase (327 506 atomów, okresowe, PME) i apoa1 (92 224 atomy, okresowe, PME) dały podobne porównania między konfiguracją M i konfiguracją K, ale nie przedstawiono ich tu celem zwięzłości.
Rysunek 5: Wyniki NAMD z wieloma V100s w C4140 konfiguracji K i M
Podobnie jak GROMACS, czterokrotnie większa przepustowość PCIe pomaga zwiększyć wydajność na NAMD. Rysunek 5 pokazuje, że wydajność konfiguracji M z 2 i 4 kartami jest odpowiednio o 16% i 30% lepsza niż w przypadku konfiguracji K, na zestawie danych STMV. Oczekuje się, że wydajność jednej karty będzie taka sama, ponieważ przy testowanym tylko jednym procesorze GPU przepustowość PCIe jest identyczna.
Wnioski i przyszłe prace
W tym blogu porównano wydajność aplikacji HPC z HPL, GROMACS i NAMD na dwóch różnych konfiguracjach NVLINK PowerEdge C4140. HPL, GROMACS i NAMD działają o ~10% lepiej na Konfiguracji M niż na Konfiguracji K. We wszystkich testach konfiguracja M zapewnia co najmniej taką samą wydajność jak konfiguracja K, ponieważ ma wszystkie dobre cechy Konfiguracji K oraz więcej łączy PCIe i nie ma przełączników PCIe. W przyszłości planowane są dodatkowe testy z kilkoma aplikacjami, takimi jak RELION, HOOMD i AMBER, a także testy wykorzystujące GPU V100 32G.