
W czerwcu i lipcu do nas zwróciło się prawie dwadzieścia firm, które interesowały się możliwościami wirtualnych GPU. Z "Grafiką" od Cloud4Y korzysta już jedna z dużych spółek-córek Sberbanku, jednak usługa ta nie jest zbyt popularna. Dlatego taka aktywność bardzo nas ucieszyła. Widząc rosnące zainteresowanie technologią, postanowiliśmy nieco dokładniej opisać vGPU.
"Jeziora danych", uzyskane w wyniku eksperymentów naukowych i badań, Deep Learning oraz inne obszary pracy z AI, modelowanie dużych i skomplikowanych obiektów − wszystko to wymaga wysokowydajnego "sprzętu". Dobrze, jeśli taki istnieje i pozwala szybko rozwiązywać bieżące zadania. Problem w tym, że z powodu rosnącej złożoności obliczeniowej zadań (dotyczy to w pierwszej kolejności analizy biznesowej, renderowania, algorytmów i frameworków DL) moce obliczeniowe procesorów CPU, zarówno desktopowych, jak i serwerowych, coraz częściej stają się bezużyteczne.
Rozwiązaniem było wykorzystanie obliczeń na GPU. Ta technologia przyspieszania grafiki umożliwia podział zasobów jednego procesora graficznego pomiędzy kilka wirtualnych komputerów. GPU pierwotnie projektowano do pracy z grafiką, dlatego składa się z tysiąca drobnych rdzeni, które są wykorzystywane do efektywnego przetwarzania równoległych zadań. Przy tym na GPU wykonuje się część najbardziej wymagających obliczeń, resztę przejmuje CPU.

Obliczenia za pomocą GPU zostały wymyślone przez firmę już w 2007 roku. Dziś ta technologia osiągnęła nowy poziom i jest wykorzystywana w centrach danych największych przedsiębiorstw i laboratoriach naukowych. Jednak tradycyjne podejście ma jeden poważny minus: zakup fizycznego sprzętu jest dosyć drogi. A jeśli wspomnimy o szybkości, z jaką "sprzęt" się starzeje, robi się jeszcze smutniej.
Problem ma rozwiązać technologia wirtualnych procesorów graficznych: vGPU. Dzięki niej użytkownicy mogą zdalnie uruchamiać wymagające aplikacje, takie jak AutoCAD, 3DS Max, Maya, Sony Vegas Pro. Wirtualizacja szybko zdobyła swoją część rynku. W końcu jaki rosyjski data scientist nie kocha szybkich obliczeń na kartach graficznych NVidia Tesla?
Warto zauważyć, że przed pojawieniem się vGPU wykorzystywano inne metody przyspieszania przetwarzania grafiki: Virtual Shared Graphics Acceleration (vSGA) oraz Virtual Dedicated Graphics Acceleration (vDGA). Rozwiązanie vGPU łączy najlepsze aspekty obu technologii. Podobnie jak w przypadku vSGA, w środowisku vGPU przewiduje się współdzielenie GPU i RAM przez kilka wirtualnych pulpitów, jednak każda VM przekazuje polecenia bezpośrednio do GPU, jak ma to miejsce w przypadku vDGA.
Po co w ogóle potrzebne są vGPU
Obliczenia w chmurze z wykorzystaniem vGPU pozwalają firmom radzić sobie z zadaniami, które wcześniej były niemożliwe do zrealizowania. Albo były możliwe, ale wymagały niewiarygodnie dużych zasobów. 1 nowoczesny serwer GPU jest w stanie zastąpić do 100 zwykłych CPU. Tych przykładów jest więcej, . To nie jest żart: rozwiązania Nvidia przetwarzają petabajty danych wielokrotnie szybciej niż klasyczne serwery CPU. A Google Cloud oferuje maszyny wirtualne z GPU, osiągające do 960 teraflops.
Wielu specjalistów potrzebuje potężnych urządzeń zdolnych do wykonywania obliczeń równoległych. Architekci i inżynierowie wykorzystują technologię vGPU w systemach projektowania (na przykład Autodesk). Projektanci pracują z cyfrowym zdjęciami i materiałami wideo (Photoshop, CorelDraw). Procesory graficzne są również potrzebne instytucjom medycznym, które gromadzą i analizują dane o pacjentach i chorobach. Wykorzystuje się GPU także do „».
Myślicie, że to wszystko? Nic bardziej mylnego. Technologię wykorzystuje się również do automatycznej , oraz do , , modelowania i . A oprócz tego dostępny jest świetny w środowisku Unity3D od .
Mimo wszystko rozwiązania oparte na vGPU wciąż nie zyskały szerokiego uznania w świecie. W 2018 roku NetApp przeprowadził badania wśród firm, które wykorzystują w swojej pracy procesory graficzne. Wyniki pokazały, że 60% organizacji nadal funkcjonuje na własnej infrastrukturze IT. Z 'chmury' korzysta jedynie 23%. W Rosji przenikanie technologii obliczeń w chmurze ma mniejsze znaczenie. Jednak dzięki nowym rozwiązaniom sprzętowym i programowym liczba firm wykorzystujących wirtualne maszyny z GPU nieustannie rośnie.
Rozwiązania dla vGPU

Wiele firm zajmuje się rozwijaniem technologii wirtualizacji akceleratorów graficznych, ale wśród nich są bezsprzeczni liderzy.
Jednym z najbardziej uznawanych twórców rozwiązań w obszarze chmurowych technologii jest firma VMware oferująca przedsiębiorstwom hipervizor , pod którym prędkość działania wirtualnych procesorów graficznych jest porównywalna z realizacjami na fizycznym sprzęcie. W ostatniej aktualizacji deweloper wyłączył równoważnik obciążenia vMotion i dodał wsparcie dla technologii DirectPath I/O, która łączy sterownik CUDA z VM omijając hipervizor i przyspiesza transfer danych.
Nvidia również stara się sprostać oczekiwaniom rynku i w tym celu wydała platformę open-source . Rozwiązanie łączy kilka bibliotek do pracy z architekturą CUDA, co ułatwia pracę z danymi podczas szkolenia sieci neuronowych i umożliwia automatyzację pracy z kodem Python. Użycie Rapids z algorytmem uczenia maszynowego XGBoost daje 50-krotne zwiększenie wydajności w porównaniu z systemami opartymi na CPU.
Swoją technologię ma także AMD. Platforma nazywa się . Wykorzystuje technologię SR-IOV, która dzieli możliwości sprzętowe fizycznego urządzenia między kilka maszyn wirtualnych. Zasoby jednego akceleratora można podzielić pomiędzy szesnastu użytkowników, utrzymując równą wydajność dla każdego z nich. W ten sposób przyspiesza transfer danych między chmurowymi CPU a GPU. Wykorzystywany jest także specjalny dialekt C++ o nazwie HIP, który ułatwia wykonywanie operacji matematycznych na GPU.
Intel opiera swoją technologię na wieloplatformowym hipervizorze XenServer 7, który w 2017 roku uzyskał certyfikat zgodności z FSTEC. Rozwiązanie łączy pracę standardowego sterownika GPU i maszyny wirtualnej. Oznacza to, że «wirtualka» może obsługiwać ciężkie aplikacje na urządzeniach dla dużej (kilkaset) liczby użytkowników.
Perspektywy rynkowe

Niezależni analitycy uważają, że wartość sprzedaży rozwiązań dla systemów HPC osiągnie 45 miliardów dolarów do 2022 roku. Deweloperzy platform również przewidują wzrost zapotrzebowania na systemy o wysokiej wydajności. To oczekiwanie jest potwierdzane popularnością Big Data i często pojawiającą się potrzebą przetwarzania dużych wolumenów danych.
Wzrost zapotrzebowania na vGPU może stymulować rozwój technologii hybrydowych, które łączą GPU i CPU w jednym urządzeniu. W takich zintegrowanych rozwiązaniach dwa rodzaje rdzeni korzystają ze wspólnej pamięci podręcznej, co przyspiesza transfer danych między procesorami graficznymi a tradycyjnymi.
Hybrydy zasadniczo zmieniają podejście do wirtualizacji i alokacji zasobów w ramach centrów danych. Rozwiązania open source, takie jak ROCm i Rapids, pozwalają operatorom centrum danych efektywniej wykorzystywać zasoby obliczeniowe, zwiększając wydajność sprzętu.
Jest także inna opinia. Na przykład, że wirtualne GPU zostaną wyparte przez chipy optyczne z fotonowym kodowaniem danych. Takie rozwiązania już istnieją i są wykorzystywane w uczeniu maszynowym. Co więcej, wydają się od zwykłych GPU. Ale technologia jest wciąż w fazie rozwoju.
Jakie można wyciągnąć wnioski? Mimo możliwego pojawienia się odpowiedników, vGPU to całkiem obiecujący kierunek, który może rozwiązać wiele problemów. Jednak nie jest to rozwiązanie dla wszystkich. Tak więc przecinek w tytule możecie postawić sami.
P.S.
Subskrybuj nasz -kanał, aby nie przegapić kolejnego artykułu! Piszemy nie częściej niż dwa razy w tygodniu i tylko w ważnych sprawach.
Tylko zarejestrowani użytkownicy mogą brać udział w ankiecie. , proszę.
Czy korzystasz z vGPU?
Tak, często potrzebne są wirtualne zasoby
Nie, i raczej nie planujemy
Zagłosowało 23 użytkowników. Wstrzymało się 11 użytkowników.
Źródło: habr.com
