Sytuacja: wirtualne GPU nie ustępują wydajnością rozwiązaniom sprzętowym

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.

Sytuacja: wirtualne GPU nie ustępują wydajnością rozwiązaniom sprzętowym
/ фото Victorgrigas CC BY-SA

Problem wydajności

Według analityków, około 70% obciążeń w centrach danych jest wirtualizowanych. 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 można znaleźć dane 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 jest technologia 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:

Sytuacja: wirtualne GPU nie ustępują wydajnością rozwiązaniom sprzętowym

Wyniki i prognozy

Firma przeprowadziły testy hiperwizora, ucząc model językowy na bazie TensorFlow. 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ż przeprowadzał testy 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 wzrosła trzykrotnie. Oczekuje się, że podobne systemy znajdą zastosowanie w zakresie analizy danych i modelowania komputerowego.

Wśród potencjalnych problemów, z którymi może się zmierzyć VMware, eksperci wyróżniają ma dość wąską grupę docelową. Z systemami wysokowydajnymi współpracuje obecnie niewielka liczba firm. Chociaż według Statista zauważają, do 2021 roku wirtualizowane będą już 94% obciążeń światowych centrów danych. Według forecasts analityków, wartość rynku HPC wzrośnie z 32 do 45 miliardów dolarów w okresie od 2017 do 2022 roku.

Sytuacja: wirtualne GPU nie ustępują wydajnością rozwiązaniom sprzętowym
/ фото Global Access Point 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 oferując 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 technologia opiera się 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 stawiają na wdrażanie systemów AI i wzrost popularności wysokowydajnych rozwiązań na rynku technologii biznesowych. Mają nadzieję, że potrzeba przetwarzania dużych ilości danych zwiększy popyt na vGPU. 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

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster