Partitioneringsstrategier för GPU för flera instanser (MIG) i Azure Kubernetes Service (AKS)

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: