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

W lutym Stanford był gospodarzem konferencji na temat obliczeń o wysokiej wydajności (HPC). Przedstawiciele VMware powiedzieli, że pracując z GPU, system oparty na zmodyfikowanym hypervisorze ESXi nie ustępuje szybkością rozwiązaniom typu bare metal.

Mówimy o technologiach, które pozwoliły to osiągnąć.

Sytuacja: wirtualne procesory graficzne nie ustępują wydajnością rozwiązaniom sprzętowym
/ zdjęcie Wiktor Grigas CC BY-SA

Problem z wydajnością

Według analityków około 70% obciążeń w centrach danych zwirtualizowany. Jednak pozostałe 30% nadal działa na czystym metalu, bez hiperwizorów. Te 30% to głównie aplikacje o dużym obciążeniu, np. związane z uczeniem sieci neuronowych i wykorzystaniem procesorów graficznych.

Eksperci tłumaczą ten trend faktem, że hypervisor, jako pośrednia warstwa abstrakcji, może wpływać na wydajność całego systemu. Na studiach pięć lat temu możesz znaleźć dane o zmniejszeniu szybkości pracy o 10%. Dlatego firmom i operatorom centrów danych nie spieszy się z przenoszeniem obciążeń HPC do środowiska wirtualnego.

Jednak technologie wirtualizacji rozwijają się i udoskonalają. Miesiąc temu na konferencji VMware stwierdziło, że hypervisor ESXi nie ma negatywnego wpływu na wydajność GPU. Szybkość obliczeń można zmniejszyć o trzy procent, co jest porównywalne z wydajnością gołego metalu.

Jak to działa

Aby poprawić wydajność systemów HPC z procesorami graficznymi, VMware wprowadziło szereg zmian w hypervisorze. W szczególności pozbyto się funkcji vMotion. Jest potrzebny do równoważenia obciążenia i zwykle przenosi maszyny wirtualne (VM) pomiędzy serwerami lub procesorami graficznymi. Wyłączenie vMotion spowodowało, że do każdej maszyny wirtualnej przypisano teraz określony procesor graficzny. Pomogło to obniżyć koszty wymiany danych.

Kolejny kluczowy element systemu jest technologia We/wy DirectPath. Umożliwia sterownikowi obliczeń równoległych CUDA bezpośrednią interakcję z maszynami wirtualnymi, z pominięciem hypervisora. Gdy zachodzi potrzeba uruchomienia kilku maszyn wirtualnych na jednym GPU jednocześnie, stosuje się rozwiązanie GRID vGPU. Dzieli pamięć karty na kilka segmentów (ale cykle obliczeniowe nie są dzielone).

Schemat działania dwóch maszyn wirtualnych w tym przypadku będzie wyglądał następująco:

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

Wyniki i prognozy

spółka przeprowadzone testy hypervisor poprzez uczenie modelu językowego opartego na TensorFlow. „Uszkodzenia” wydajności wynosiły tylko 3–4% w porównaniu z gołym metalem. W zamian system był w stanie dystrybuować zasoby na żądanie w zależności od aktualnego obciążenia.

Gigant IT także przeprowadzone testy z kontenerami. Inżynierowie firmy przeszkolili sieci neuronowe w zakresie rozpoznawania obrazów. Jednocześnie zasoby jednego procesora graficznego zostały rozdzielone pomiędzy cztery kontenerowe maszyny wirtualne. W rezultacie wydajność poszczególnych maszyn spadła o 17% (w porównaniu do pojedynczej maszyny wirtualnej z pełnym dostępem do zasobów GPU). Jednak liczba obrazów przetwarzanych na sekundę zwiększony trzy razy. Oczekuje się, że takie systemy znajdzie zastosowania w analizie danych i modelowaniu komputerowym.

Wśród potencjalnych problemów, przed którymi może stanąć VMware, eksperci przeznaczyć raczej wąska grupa docelowa. Niewielka liczba firm nadal korzysta z systemów o wysokiej wydajności. Chociaż w Statista świętowaćże do 2021 r. 94% obciążeń centrów danych na świecie będzie zwirtualizowanych. Przez prognozy analityków wartość rynku HPC wzrośnie z 32 do 45 miliardów dolarów w okresie od 2017 do 2022 roku.

Sytuacja: wirtualne procesory graficzne nie ustępują wydajnością rozwiązaniom sprzętowym
/ zdjęcie Globalny punkt dostępu PD

Podobne rozwiązania

Na rynku dostępnych jest kilka analogów opracowanych przez duże firmy informatyczne: AMD i Intel.

Pierwsza firma zajmująca się wirtualizacją GPU oferuje podejście oparte na SR-IOV (wirtualizacja wejścia/wyjścia z jednym rootem). Technologia ta zapewnia maszynie wirtualnej dostęp do części możliwości sprzętowych systemu. Rozwiązanie pozwala na współdzielenie procesora graficznego pomiędzy 16 użytkowników przy jednakowej wydajności systemów zwirtualizowanych.

Jeśli chodzi o drugiego giganta IT, to oni oparte na technologii na hypervisorze Citrix XenServer 7. Łączy w sobie pracę standardowego sterownika GPU i maszyny wirtualnej, dzięki czemu ta ostatnia pozwala na wyświetlanie aplikacji 3D i pulpitów na urządzeniach setek użytkowników.

Przyszłość technologii

Programiści wirtualnych procesorów graficznych Załóż się na temat wdrażania systemów AI i rosnącej popularności rozwiązań o dużej wydajności na rynku technologii biznesowych. Liczą, że konieczność przetwarzania dużej ilości danych zwiększy zapotrzebowanie na vGPU.

Teraz producenci szukając sposobu łączą funkcjonalność procesora i karty graficznej w jednym rdzeniu, aby przyspieszyć rozwiązywanie problemów związanych z grafiką, wykonywaniem obliczeń matematycznych, operacji logicznych i przetwarzaniem danych. Pojawienie się w przyszłości takich rdzeni na rynku zmieni podejście do wirtualizacji zasobów i ich dystrybucji pomiędzy obciążeniami w środowiskach wirtualnych i chmurowych.

Co przeczytać na ten temat na naszym firmowym blogu:

Kilka postów z naszego kanału na Telegramie:

Źródło: www.habr.com

Dodaj komentarz