Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zespoły uruchamiające obciążenia GPU w środowisku produkcyjnym często muszą równoważyć wykorzystanie zasobów z wymaganiami dotyczącymi pamięci, przepustowości i opóźnień. Typy procesorów GPU mają różne pojemności, a niektóre obciążenia nie wymagają wszystkich zasobów oferowanych przez fizyczny procesor GPU. Przypisanie całego procesora GPU do każdego obciążenia może pozostawić niewykorzystaną część zasobów, a wybranie mniejszego rozmiaru procesora GPU może nie spełniać wymagań zadania. Te niezgodności utrudniają efektywne korzystanie z dostępnej pojemności w miarę zmian zapotrzebowania.
GPU wieloinstancyjny (MIG) dzieli zgodny procesor GPU firmy NVIDIA na partycje z dedykowanymi zasobami obliczeniowymi i pamięcią. W klastrze usługi AKS obciążenia żądają tych partycji za pośrednictwem rozszerzonych zasobów platformy Kubernetes. Wiele obciążeń może współużytkować fizyczny procesor GPU, a rozmiary partycji są dopasowane do ich wymagań, zamiast konieczności przydzielenia całego procesora GPU każdemu obciążeniu.
MIG obsługuje dwie strategie. W ramach jednej strategii każda partycja w puli węzłów używa tego samego profilu, a węzeł anonsuje każdą partycję jako standardowy zasób procesora GPU, taki jak nvidia.com/gpu. W przypadku strategii mieszanej pula węzłów może łączyć profile, a węzeł anonsuje każdy profil pod własną nazwą zasobu, taką jak nvidia.com/mig-1g.5gb.
Wybierz pojedynczą strategię, gdy wiele zadań wymaga tego samego rozmiaru partycji. Wybierz strategię mieszaną, gdy obciążenia wymagają różnych rozmiarów. Dopasowywanie partycji do wymagań dotyczących obciążenia może poprawić wykorzystanie procesora GPU, ale odpowiedni układ zależy od zmierzonych wymagań dotyczących pamięci i przepustowości.
Poznaj partycje i zasoby platformy Kubernetes
Partycja to sprzętowa alokacja zasobów obliczeniowych i pamięci w procesorze GPU.
Profil definiuje rozmiar partycji, taki jak 1g.5gb.
Konfiguracja to zestaw profilów skonfigurowanych na procesorze GPU.
Nazwa zasobu to rozszerzony zasób Kubernetes, który węzeł anonsuje do planowania, a obciążenia żądają go według nazwy i liczby. W przypadku MIG żądanie jednego zasobu procesora GPU może reprezentować jedną partycję, a nie cały fizyczny procesor GPU. Pamięć partycji zależy od modelu GPU, więc sprawdź zasoby, które anonsują węzły, zanim napiszesz manifesty obciążeń.
Porównanie strategii pojedynczych i mieszanych
W poniższej tabeli porównaliśmy przepływy pracy pojedynczej strategii i strategii mieszanej.
| Rozważenie | Pojedyncza strategia | Strategia mieszana z układami mieszanymi |
|---|---|---|
| Rozmiary partycji | Jeden profil tworzy jednolity układ. | Lista zgodna tworzy partycje o różnych rozmiarach lub powtarzające się partycje o tym samym rozmiarze. |
| Co oznacza jeden żądany zasób GPU | Jedna partycja skonfigurowanego profilu puli węzłów. | Jedna partycja żądanego profilu MIG. |
| Typowe zastosowania | Podobne obciążenia z porównywalnymi wymaganiami dotyczącymi GPU. | Obciążenia z różnymi wymaganiami dotyczącymi zasobów obliczeniowych i pamięci. |
| Planowanie wydajności | Zlicz dostępne partycje o jednolitym rozmiarze. | Zlicz dostępne partycje oddzielnie dla każdego typu zasobu. |
| Nazwa zasobu Kubernetes | Nazwa udostępniona, taka jak nvidia.com/gpu. |
Jedna nazwa na profil, taka jak nvidia.com/mig-1g.5gb. |
| Przewodnik konfiguracji | Konfigurowanie puli węzłów MIG z jedną strategią | Konfigurowanie puli węzłów MIG o strategii mieszanej (wersja zapoznawcza) |
Obsługiwane rozmiary maszyn wirtualnych GPU
W poniższej tabeli wymieniono Azure rozmiary maszyn wirtualnych, które obsługują partycjonowanie GPU z wieloma instancjami.
| Rozmiar maszyny wirtualnej | Seria VM | procesor GPU |
|---|---|---|
Standard_NC24ads_A100_v4 |
NC A100 v4 | A100 |
Standard_NC48ads_A100_v4 |
NC A100 v4 | A100 |
Standard_NC96ads_A100_v4 |
NC A100 v4 | A100 |
Standard_ND96asr_v4 |
ND A100 v4 | A100 |
Standard_ND112asr_A100_v4 |
ND A100 v4 | A100 |
Standard_ND120asr_A100_v4 |
ND A100 v4 | A100 |
Standard_ND96amsr_A100_v4 |
NDm A100 v4 | A100 |
Standard_ND112amsr_A100_v4 |
NDm A100 v4 | A100 |
Standard_ND120amsr_A100_v4 |
NDm A100 v4 | A100 |
Standard_ND96ams_A100_v4 |
NDm A100 v4 | A100 |
Standard_ND96ams_v4 |
NDm A100 v4 | A100 |
Standard_ND100isr_H100_v5 |
ND H100 v5 | H100 |
Standard_ND100is_H100_v5 |
ND H100 v5 | H100 |
Standard_ND50s_H100_v5 |
ND H100 v5 | H100 |
Standard_ND96isr_H100_v5 |
ND H100 v5 | H100 |
Standard_ND96is_H100_v5 |
ND H100 v5 | H100 |
Standard_ND92isr_H100_v5 |
ND H100 v5 | H100 |
Standard_ND92is_H100_v5 |
ND H100 v5 | H100 |
Standard_ND46s_H100_v5 |
ND H100 v5 | H100 |
Standard_NC40ads_H100_v5 |
NC H100 v5 | H100 |
Standard_NC80adis_H100_v5 |
NC H100 v5 | H100 |
Note
Maszyny wirtualne z obsługą GPU zawierają wyspecjalizowany sprzęt, który wiąże się z wyższymi cenami i dostępnością w regionach. Aby uzyskać więcej informacji, zobacz narzędzie do ustalania cen i dostępność regionów .
Użyj strategii pojedynczej MIG w przypadku stałego zapotrzebowania na zasoby
Pojedyncza strategia odpowiada obciążeniom z podobnymi wymaganiami dotyczącymi obliczeń i pamięci. Jednolite partycje umożliwiają zespołom współdzielenie procesorów GPU przy zachowaniu wspólnej nazwy zasobu procesora GPU w manifestach platformy Kubernetes. Ta spójność może uprościć alokację, gdy pula węzłów obsługuje spójną klasę obciążenia.
Kompromisem pojedynczej strategii jest to, że nazwa zasobu nie opisuje rozmiaru partycji. Użyj selektora puli lub afinity węzła, aby ukierunkować na zamierzoną pojemność. Sama nazwa zasobu nie odróżnia partycji MIG od pełnego procesora GPU anonsowanego przez inną pulę węzłów MIG ani nie rozróżnia rozmiarów partycji w różnych pulach z jedną strategią. Bez mechanizmów sterowania rozmieszczeniem pod może otrzymać urządzenie, które nie jest zgodne z założeniami dotyczącymi rozmiaru aplikacji.
Jeśli wymagania dotyczące obciążenia różnią się znacznie, jednolity układ może pozostawić większe partycje niedostatecznie wykorzystane lub sprawić, że mniejsze partycje będą nieodpowiednie dla niektórych zasobników.
Użyj strategii mieszanej MIG dla różnych potrzeb zasobów
Strategia mieszana umożliwia zespołom przydzielanie różnych rozmiarów partycji na tym samym procesorze GPU. Takie podejście pomaga, gdy udostępniona pula obsługuje obciążenia o różnych wymaganiach i przydzielanie tego samego rozmiaru do każdego poda spowoduje marnowanie pojemności lub uniemożliwi uruchomienie większych obciążeń procesora GPU.
W przypadku strategii mieszanej każdy typ partycji ma unikatową nazwę zasobu Kubernetes. Manifesty obciążeń żądają wymaganego typu, więc wybór rozmiaru jest jawny, a nie polega tylko na jednolitej konfiguracji puli. Zespoły muszą utrzymywać te żądania w ramach konfiguracji określania rozmiaru i wdrażania aplikacji.
Kompromisem strategii mieszanej jest fragmentacja pojemności: pod może pozostać w stanie oczekiwania nawet wtedy, gdy inne typy partycji są wolne. Platforma Kubernetes nie łączy mniejszych partycji ani automatycznie zmienia rozmiaru układu w celu spełnienia żądania. Dodanie węzłów o tym samym układzie zwiększa pojemność dla skonfigurowanych typów, a nie dla typów brakujących w układzie. Zaplanuj proporcje pod kątem jednoczesnego zapotrzebowania na każdy rozmiar, a nie tylko całkowitego wykorzystania procesora GPU.
Jak usługa AKS konfiguruje strategię mieszaną dla MIG
W usłudze AKS strategia mieszana konfiguruje zarówno układ partycji, jak i wtyczkę urządzenia zarządzanego. Usługa AKS obsługuje składniki platformy Kubernetes, podczas gdy Ty wybierasz obsługiwany układ i określasz rozmiar żądań obciążenia. Zmiana układu wymaga zastępczej puli węzłów i migracji obciążenia.
Wybierz strategię dla obciążeń
- Testuj reprezentatywne obciążenia GPU i wybierz partycję z wystarczającą ilością pamięci i pojemności obliczeniowej, aby spełnić wymagania.
- Użyj pojedynczej strategii dla obciążeń, które stale potrzebują tego samego rozmiaru. Używaj układów mieszanych, gdy jednoczesne zapotrzebowanie na zasoby GPU obejmuje wiele rozmiarów.
- Planuj pojemność według typu zasobu. Wolna pamięć GPU lub nieużywane partycje innego typu nie gwarantują, że zasobnik może zostać zaplanowany.
- Sprawdź pojemność procesora i pamięci hosta, a także partycję GPU (MIG) (MIG nie usuwa innych ograniczeń planowania).
- Zachowaj obciążenia wymagające pełnych procesorów GPU dla oddzielnych niepartycjonowanych pul i zweryfikuj obciążenia rozproszone pod kątem specyficznych dla GPU możliwości MIG.
- Zaplanuj zmiany układu w miarę migracji obciążeń do pul zastępczych, z limitem przydziału dla nakładających się pul oraz mechanizmami kontroli zakłóceń aplikacji.
Następne kroki
Aby rozpocząć pracę z funkcjami MIG i przykładami obciążeń, skorzystaj z przewodnika dotyczącego wybranej strategii MIG:
- Skonfiguruj pulę węzłów MIG z jedną strategią dla jednolitych partycji i wspólnej nazwy zasobu GPU w Kubernetes.
- Konfigurowanie mieszanej strategii puli węzłów MIG (wersja zapoznawcza) dla układów mieszanych i żądań obciążeń specyficznych dla profilu.
- Dowiedz się więcej o najlepszych praktykach monitorowania węzła GPU