W lutym w Stanfordzie odbyła się konferencja poświęcona wysokowydajnym obliczeniom (HPC). Przedstawiciele VMware poinformowali, że w trakcie pracy z GPU system oparty na zmodyfikowanym hypervisorze ESXi osiąga prędkości porównywalne z rozwiązaniami bare metal.
Opowiadamy o technologiach, które umożliwiły osiągnięcie tych rezultatów.
/ фото
Problem wydajności
Według analityków, około 70% obciążeń w centrach danych . Jednak pozostałe 30% nadal działa na bare metal bez hypervisorów. Stanowią je głównie aplikacje o wysokim obciążeniu, związane na przykład z treningiem sieci neuronowych, które wykorzystują procesory graficzne.
Eksperci tłumaczą ten trend tym, że hypervisor jako warstwa abstrakcji może wpływać na wydajność całego systemu. W badaniach sprzed pięciu lat o spadku prędkości działania o 10%. Dlatego firmy i operatorzy centrów danych nie spieszą się z przenoszeniem obciążeń HPC do środowiska wirtualnego.
Jednak technologie wirtualizacji rozwijają się i udoskonalają. Na konferencji miesiąc temu w VMware ogłoszono, że hypervisor ESXi nie ma negatywnego wpływu na wydajność GPU. Spadek prędkości obliczeń może wynieść trzy procent, co jest porównywalne z wynikami bare metal.
Jak to działa
Aby zwiększyć wydajność systemów HPC z procesorami graficznymi, VMware wprowadziło do działania hypervisora szereg zmian. W szczególności zrezygnowano z funkcji vMotion. Jest ona potrzebna do równoważenia obciążenia i zwykle przenosi maszyny wirtualne (VM) między serwerami lub GPU. Wyłączenie vMotion doprowadziło do tego, że każda VM ma teraz przypisany konkretny procesor graficzny. Pomogło to zredukować koszty wymiany danych.
Innym kluczowym komponentem systemu DirectPath I/O. Pozwala ona na bezpośrednią komunikację sterownika CUDA do obliczeń równoległych z maszynami wirtualnymi, omijając hypervisor. Kiedy na jednym GPU wymagane jest uruchomienie kilku VM, angażowane jest rozwiązanie GRID vGPU. Dzieli ono pamięć karty na kilka segmentów (przy czym cykle obliczeniowe nie są dzielone).
Schemat działania dwóch maszyn wirtualnych w tym przypadku będzie wyglądał następująco:

Wyniki i prognozy
Firma hiperwizora, ucząc model językowy na bazie . Strata wydajności wyniosła zaledwie 3–4% w porównaniu do bare metal. W zamian system zyskał możliwość przydzielania zasobów w zależności od bieżących obciążeń.
Gigant IT również z kontenerami. Inżynierowie firmy uczyli sieci neuronowe rozpoznawania obrazów. Przy tym zasoby jednego procesora graficznego podzielono między cztery kontenerowe VM. W wyniku wydajność pojedynczych maszyn spadła o 17% (w porównaniu do jednego VM z pełnym dostępem do zasobów GPU). Jednak liczba przetwarzanych obrazów na sekundę wzrosła trzykrotnie. Oczekuje się, że podobne systemy zastosowanie w zakresie analizy danych i modelowania komputerowego.
Wśród potencjalnych problemów, z którymi może się zmierzyć VMware, eksperci ma dość wąską grupę docelową. Z systemami wysokowydajnymi współpracuje obecnie niewielka liczba firm. Chociaż według Statista , do 2021 roku wirtualizowane będą już 94% obciążeń światowych centrów danych. Według analityków, wartość rynku HPC wzrośnie z 32 do 45 miliardów dolarów w okresie od 2017 do 2022 roku.

/ фото PD
Podobne rozwiązania
Na rynku dostępnych jest kilka analogów, które opracowują duże firmy IT: AMD i Intel.
Pierwsza firma rozwija technologię wirtualizacji procesorów graficznych opartą na SR-IOV (single-root input/output virtualization). Ta technologia zapewnia VM dostęp do części mocy systemu. Rozwiązanie pozwala podzielić procesor graficzny między 16 użytkownikami przy równej wydajności wirtualizowanych systemów.
Jeśli chodzi o drugiego giganta IT, ich na hiperwizorze Citrix XenServer 7. Łączy on działanie standardowego sterownika GPU z maszyną wirtualną, co pozwala tej ostatniej na wyświetlanie aplikacji 3D i pulpitów na urządzeniach setek użytkowników.
Przyszłość technologii
Programiści wirtualnych procesorów graficznych Producenci obecnie
szukają sposobu połączyć funkcjonalność CPU i GPU w jednym rdzeniu, aby przyspieszyć rozwiązanie zadań związanych z grafiką, wykonywanie obliczeń matematycznych, operacji logicznych, przetwarzanie danych. Pojawienie się na rynku takich rdzeni w przyszłości zmieni podejście do wirtualizacji zasobów i ich rozdzielenia między obciążeniami roboczymi w środowisku wirtualnym i chmurowym.
Co warto przeczytać na ten temat na naszym firmowym blogu:
Kilka postów z naszego kanału Telegram:
Źródło: habr.com
