Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Team som kör GPU-arbetsbelastningar i produktion behöver ofta balansera användningen med krav på minne, dataflöde och svarstid. GPU-typer har olika kapaciteter och vissa arbetsbelastningar kräver inte alla resurser som erbjuds av en fysisk GPU. Att tilldela en hel GPU till varje arbetsbelastning kan lämna kapaciteten inaktiv, medan valet av en mindre GPU-storlek kanske inte uppfyller jobbets krav. Dessa diskrepanser gör det svårare att använda tillgänglig kapacitet effektivt när efterfrågan ändras.
Multi-instance GPU (MIG) delar upp en kompatibel NVIDIA GPU i partitioner med dedikerade beräknings- och minnesresurser. I ett AKS-kluster begär arbetsbelastningar dessa partitioner via Kubernetes utökade resurser. Flera arbetsbelastningar kan dela en fysisk GPU, där partitionsstorlekarna matchar deras krav i stället för att varje arbetsbelastning behöver en hel GPU.
MIG stöder två strategier. Med den enda strategin använder varje partition i en nodpool samma profil, och noden annonserar varje partition som en GPU-standardresurs, till exempel nvidia.com/gpu. Med den blandade strategin kan en nodpool kombinera profiler och noden annonserar varje profil under sitt eget resursnamn, till exempel nvidia.com/mig-1g.5gb.
Välj en enda strategi när flera jobb behöver samma partitionsstorlek. Välj en blandad strategi när arbetsbelastningar behöver olika storlekar. Att matcha partitioner med arbetsbelastningskrav kan förbättra GPU-användningen, men rätt layout beror på uppmätta krav på minne och dataflöde.
Förstå partitioner och Kubernetes-resurser
En partition är en maskinvaruallokering av beräkning och minne i en GPU. En profil definierar en partitions storlek, till exempel 1g.5gb. En layout är den uppsättning profiler som konfigurerats på en GPU. Ett resursnamn är Kubernetes utökade resurs som en nod annonserar för schemaläggning, och arbetsbelastningar begär den efter namn och antal. Med MIG kan en begäran om en GPU-resurs representera en partition i stället för en hel fysisk GPU. Partitionsminnet är beroende av GPU-modellen, så granska de resurser som dina noder annonserar innan du skriver arbetsbelastningsmanifest.
Jämför enkla och blandade strategier
I följande tabell jämförs arbetsflödena för en enskild strategi och mixad strategi.
| Övervägande | Enskild strategi | Blandad strategi med blandade layouter |
|---|---|---|
| Partitionsstorlekar | En profil skapar en enhetlig layout. | En kompatibel lista skapar partitioner av olika storlekar eller upprepade partitioner av samma storlek. |
| Vad en begärd GPU-resurs representerar | En partition av nodpoolens konfigurerade profil. | En partition av den begärda MIG-profilen. |
| Typiskt användningsområde | Liknande arbetsbelastningar med jämförbara GPU-krav. | Arbetsbelastningar med olika beräknings- och minnesbehov. |
| Kapacitetsplanering | Räkna tillgängliga partitioner med enhetlig storlek. | Räkna tillgängliga partitioner separat för varje resurstyp. |
| Kubernetes-resursnamn | Ett delat namn, till exempel nvidia.com/gpu. |
Ett namn per profil, till exempel nvidia.com/mig-1g.5gb. |
| Konfigurationsguide | Konfigurera en MIG-nodpool med en enda strategi | Konfigurera en MIG-nodpool med blandad strategi (förhandsversion) |
Storlekar på virtuella GPU-datorer som stöds
I följande tabell visas Azure VM-storlekar som stöder GPU-partitionering med flera instanser.
| VM-storlek | VM-serie | GPU (grafikprocessor) |
|---|---|---|
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
GPU-aktiverade virtuella maskiner innehåller specialiserad hårdvara som är föremål för högre prissättning och regionsspecifik tillgänglighet. Mer information finns i prisverktyget och regionens tillgänglighet.
Använd en enda MIG-strategi för konsekventa resursbehov
Den enskilda strategin passar arbetsbelastningar med liknande beräknings- och minneskrav. Med enhetliga partitioner kan team dela GPU:er samtidigt som de behåller ett gemensamt GPU-resursnamn i sina Kubernetes-manifest. Denna enhetlighet kan förenkla allokeringen när en nodpool hanterar en enhetlig arbetsbelastningsklass.
Kompromissen med den enskilda strategin är att resursnamnet inte beskriver partitionsstorleken. Använd en poolväljare eller nodtillhörighet för att rikta in sig på den avsedda kapaciteten. Enbart resursnamnet skiljer inte en MIG-partition från en fullständig GPU som annonseras av en annan MIG-nodpool eller särskiljer partitionsstorlekar i olika pooler med en enda strategi. Utan placeringskontroller kan en podd ta emot en enhet som inte matchar programmets storleksantaganden.
Om arbetsbelastningskraven varierar avsevärt kan en enhetlig layout göra större partitioner underanvända eller göra mindre partitioner olämpliga för vissa poddar.
Använd MIG med blandad strategi för olika resursbehov
Med en mixad strategi kan team allokera olika partitionsstorlekar på samma GPU. Den här metoden hjälper till när en delad pool hanterar arbetsbelastningar med olika krav och allokering av samma storlek till varje podd skulle slösa kapacitet eller förhindra att större GPU-arbetsbelastningar körs.
Med den blandade strategin har varje partitionstyp ett distinkt Kubernetes-resursnamn. Arbetsbelastningsmanifest begär den typ de behöver, så storleksval är explicit i stället för att bara förlita sig på en pools enhetliga konfiguration. Team måste hantera dessa begäranden som en del av applikationsdimensioneringen och driftsättningskonfigurationen.
Kompromissen med den blandade strategin är kapacitetsfragmentering: en podd kan vara väntande även när andra partitionstyper är lediga. Kubernetes kombinerar inte mindre partitioner eller ändrar automatiskt storlek på layouten för att uppfylla en begäran. Om du lägger till noder med samma layout ökar kapaciteten för de konfigurerade typerna, inte för typer som saknas i layouten. Planera mixen kring samtidig efterfrågan för varje storlek, inte bara den totala GPU-användningen.
Så här konfigurerar AKS den blandade strategin för MIG
I AKS konfigurerar den blandade strategin både partitionslayouten och det hanterade enhetsplugin-programmet. AKS hanterar Kubernetes-riktade komponenter medan du väljer en layout som stöds och storleksanpassar dina arbetsbelastningsbegäranden. Om du ändrar en layout krävs en ersättningsnodpool och arbetsbelastningsmigrering.
Välj en strategi för dina arbetsbelastningar
- Benchmarka representativa GPU-arbetsbelastningar och välj en partition med tillräckligt med minne och beräkningskapacitet för att uppfylla dina krav.
- Använd en enda strategi för arbetsbelastningar som konsekvent behöver samma storlek. Använd blandade layouter när den samtidiga GPU-resursefterfrågan omfattar flera storlekar.
- Budgetkapacitet efter resurstyp. Ledigt GPU-minne eller oanvända partitioner av en annan typ garanterar inte att en podd kan schemaläggas.
- Kontrollera värdens PROCESSOR- och minneskapacitet samt GPU-partition (MIG tar inte bort andra schemaläggningsbegränsningar).
- Behåll arbetsbelastningar som kräver fullständiga GPU:er i separata opartitionerade pooler och verifiera distribuerade arbetsbelastningar mot GPU-specifika MIG-funktioner.
- Planera layoutändringar som arbetsbelastningsmigreringar till ersättningspooler, med kvot för överlappande pooler och kontroller för programstörningar.
Nästa steg
Om du vill komma igång med MIG-funktioner och arbetsbelastningsexempel använder du guiden för din valda MIG-strategi:
- Konfigurera en MIG-nodpool med en strategi för enhetliga partitioner och ett vanligt Kubernetes GPU-resursnamn.
- Konfigurera en MIG-nodpool med blandad strategi (förhandsversion) för blandade layouter och profilspecifika arbetsbelastningsbegäranden.
- Lär dig mer om bästa praxis för observabilitet för GPU-noder