Kihasználatlan virtuális gépek használata Batch-számítási feladatokkal

Azure Batch kihasználatlan virtuális gépeket (VM-eket) kínál a Batch számítási feladatok költségeinek csökkentése érdekében. A kihasználatlan virtuális gépek lehetővé teszik a Batch számítási feladatok új típusait azáltal, hogy lehetővé teszik nagy mennyiségű számítási teljesítmény alacsony költségű használatát.

A kihasználatlan virtuális gépek kihasználják a többletkapacitást az Azure-ban. Ha kihasználatlan virtuális gépeket ad meg a készletekben, Azure Batch használhatja ezt a többletet, ha elérhető.

A kihasználatlan virtuális gépek használatának kompromisszuma az, hogy ezek a virtuális gépek nem mindig érhetők el, vagy a rendelkezésre álló kapacitástól függően bármikor előtagot kapnak. Ezért a kihasználatlan virtuális gépek a legmegfelelőbbek kötegelt és aszinkron feldolgozási számítási feladatokhoz, ahol a feladat befejezési ideje rugalmas, és a munka sok virtuális gépen el van osztva.

A kihasználatlan virtuális gépeket a dedikált virtuális gépekhez képest alacsonyabb áron kínáljuk. A díjszabással kapcsolatos további információkért lásd: Batch-díjszabás.

A kihasználatlan és az alacsony prioritású virtuális gépek közötti különbségek

A Batch kétféle alacsony költségű előre látható virtuális gépet kínál:

  • Kihasználatlan virtuális gépek, egy modern Azure-beli ajánlat, amely egypéldányos virtuális gépekként vagy Virtual Machine Scale Sets ként is elérhető.
  • Alacsony prioritású virtuális gépek, amelyek örökölt ajánlatai csak Azure Batch keresztül érhetők el.

A megkapott csomópont típusa a Batch-fiók készletfoglalási módjától függ, amelyet a fiók létrehozásakor lehet beállítani. A felhasználói előfizetési készlet foglalási módját használó Batch-fiókok mindig kihasználatlan virtuális gépeket kapnak. A Batch által felügyelt készletfoglalási módot használó Batch-fiókok mindig alacsony prioritású virtuális gépeket kapnak.

Figyelmeztetés

Az alacsony prioritású virtuális gépek 2025. szeptember 30. után megszűnnek. Ezután migráljon spot virtuális gépekre a Batchben .

Az Azure Spot virtuális gépek és a Batch alacsony prioritású virtuális gépei hasonlóak, de a működésük eltér egymástól.

Spot virtuális gépek Alacsony prioritású virtuális gépek
Támogatott Batch-fiókok Felhasználó-előfizetéses Batch-fiókok Batch által felügyelt Batch-fiókok
Támogatott Batch-készletkonfigurációk Virtuális gép konfigurációja Virtuálisgép-konfiguráció és felhőszolgáltatás konfigurálása (elavult)
Elérhető régiók A kihasználatlan virtuális gépeket támogató összes régió A 21Vianet által üzemeltetett Microsoft Azure kivételével minden régió
Ügyféljogosultság Egyes előfizetési ajánlattípusokhoz nem érhető el. További információ a kihasználatlan korlátozásokról. Minden Batch-ügyfél számára elérhető
A kizárás lehetséges okai Kapacitás Kapacitás
Díjszabási modell Változó kedvezmények a standard virtuálisgép-árakhoz képest Rögzített kedvezmények a standard virtuálisgép-árakhoz képest
Kvótamodell Az előfizetés alapvető kvótáitól függően A Batch-fiók alapkvótáitól függően
Rendelkezésre állási SLA None None

Batch-támogatás kihasználatlan virtuális gépekhez

Azure Batch számos olyan képességet biztosít, amelyek megkönnyítik a kihasználatlan virtuális gépek használatát és előnyeit:

  • A Batch-készletek dedikált virtuális gépeket és kihasználatlan virtuális gépeket is tartalmazhatnak. A virtuális gépek egyes típusainak száma megadható egy készlet létrehozásakor vagy egy meglévő készlethez bármikor történő módosításakor az explicit átméretezési művelet vagy az automatikus skálázás használatával. A feladat- és feladatbeküldés változatlan maradhat, függetlenül a készlet virtuálisgép-típusától. A készletet úgy is konfigurálhatja, hogy a kihasználatlan virtuális gépek segítségével a lehető legolcsóbban futtassa a feladatokat, de dedikált virtuális gépeket is elindíthat, ha a kapacitás egy minimális küszöbérték alá csökken, hogy a feladatok továbbra is futjanak.
  • A Batch-készletek automatikusan megkeresik a kihasználatlan virtuális gépek célszámát. Ha a virtuális gépek előre ki vannak téve vagy nem érhetők el, a Batch megpróbálja lecserélni az elveszett kapacitást, és visszatér a célhoz.
  • Ha a tevékenységek megszakadnak, a Batch észleli és automatikusan újra lekérdezi a tevékenységeket az újrafuttatáshoz.
  • A kihasználatlan virtuális gépek külön vCPU-kvótával rendelkeznek, amely különbözik a dedikált virtuális gépekhez tartozótól. A kihasználatlan virtuális gépek kvótája magasabb, mint a dedikált virtuális gépek kvótája, mivel a kihasználatlan virtuális gépek kevesebbe kerülnek. További információ: Batch-szolgáltatáskvóták és -korlátok.

Megfontolandó szempontok és használati esetek

Számos Batch számítási feladat alkalmas a kihasználatlan virtuális gépekhez. Érdemes kihasználatlan virtuális gépeket használni, ha a feladatok több párhuzamos tevékenységre vannak felosztva, vagy ha sok feladat van kiskálázva és elosztva számos virtuális gépen.

Néhány példa a kötegelt feldolgozási használati esetekre, amelyek jól használhatók a kihasználatlan virtuális gépekhez:

  • Fejlesztés és tesztelés: Különösen nagy léptékű megoldások fejlesztése esetén jelentős megtakarítás érhető el. Minden tesztelési típus előnyös lehet, de a nagy léptékű terheléstesztelés és a regressziós tesztelés kiválóan használható.
  • Igény szerinti kapacitás kiegészítése: A kihasználatlan virtuális gépek a rendszeres dedikált virtuális gépek kiegészítésére használhatók. Ha rendelkezésre áll, a feladatok méretezhetők, és így gyorsabban befejeződhetnek az alacsonyabb költségek érdekében; ha nem érhető el, a dedikált virtuális gépek alapkonfigurációja továbbra is elérhető marad.
  • Rugalmas feladatvégrehajtási idő: Ha a feladatok befejezési ideje rugalmas, akkor a kapacitás esetleges csökkenése elviselhető. A kihasználatlan virtuális gépek hozzáadásával azonban a feladatok gyakran gyorsabban és alacsonyabb költséggel futnak.

A Batch-készletek többféleképpen konfigurálhatók a kihasználatlan virtuális gépek használatára:

  • A készletek csak kihasználatlan virtuális gépeket használhatnak. Ebben az esetben a Batch helyreállítja az előre meghatározott kapacitást, ha elérhető. Ez a konfiguráció a feladatok végrehajtásának legolcsóbb módja.
  • A kihasználatlan virtuális gépek dedikált virtuális gépek rögzített alapkonfigurációjával használhatók. A dedikált virtuális gépek rögzített száma biztosítja, hogy mindig legyen kapacitás a feladatok előrehaladásának fenntartására.
  • A készletek dedikált és kihasználatlan virtuális gépek dinamikus kombinációját használhatják, így az olcsóbb spot virtuális gépeket csak akkor használják, ha elérhetők, de a teljes árú dedikált virtuális gépek igény szerint felskálázhatók. Ez a konfiguráció minimális kapacitást biztosít a feladatok előrehaladásának fenntartásához.

A kihasználatlan virtuális gépek használatának tervezésekor tartsa szem előtt az alábbi eljárásokat:

  • A többletkapacitás azure-beli használatának maximalizálása érdekében a megfelelő feladatok felskálázhatók.
  • Időnként előfordulhat, hogy a virtuális gépek nem érhetők el, vagy előre vannak beszerzve, ami csökkentett kapacitást eredményez a feladatok számára, és a feladatok megszakításához és újrafuttatásához vezethet.
  • A rövidebb végrehajtási idővel rendelkező feladatok általában a kihasználatlan virtuális gépeken működnek a legjobban. A hosszabb feladatokkal rendelkező feladatok nagyobb hatással lehetnek, ha megszakadnak. Ha a hosszú ideig futó tevékenységek ellenőrzőpontozást implementálnak a végrehajtás közbeni előrehaladás mentése érdekében, ez a hatás csökkenhet.
  • A több virtuális gépet használó, hosszan futó MPI-feladatok nem megfelelőek a kihasználatlan virtuális gépekhez, mert egy előre meghatározott virtuális gép miatt a teljes feladatnak újra kell futnia.
  • A kihasználatlan csomópontok nem használhatóként jelölhetők meg, ha a hálózati biztonsági csoport (NSG) szabályai helytelenül vannak konfigurálva.

Készletek létrehozása és kezelése kihasználatlan virtuális gépekkel

A Batch-készletek dedikált és kihasználatlan virtuális gépeket (más néven számítási csomópontokat) is tartalmazhatnak. A dedikált és a kihasználatlan virtuális gépekhez is beállíthatja a számítási csomópontok célszámát. A csomópontok célszáma határozza meg, hogy hány virtuális gép legyen a készletben.

Az alábbi példa egy készletet hoz létre Azure-beli virtuális gépek, ebben az esetben Linux rendszerű virtuális gépek használatával, 5 dedikált virtuális gép és 20 kihasználatlan virtuális gép célhelyével:

ImageReference imageRef = new ImageReference(
    publisher: "Canonical",
    offer: "UbuntuServer",
    sku: "20.04-LTS",
    version: "latest");

// Create the pool
VirtualMachineConfiguration virtualMachineConfiguration =
    new VirtualMachineConfiguration("batch.node.ubuntu 20.04", imageRef);

pool = batchClient.PoolOperations.CreatePool(
    poolId: "vmpool",
    targetDedicatedComputeNodes: 5,
    targetLowPriorityComputeNodes: 20,
    virtualMachineSize: "Standard_D2_v2",
    virtualMachineConfiguration: virtualMachineConfiguration);

A dedikált és a kihasználatlan virtuális gépek csomópontjainak aktuális számát is lekérheti:

int? numDedicated = pool1.CurrentDedicatedComputeNodes;
int? numLowPri = pool1.CurrentLowPriorityComputeNodes;

A készletcsomópontok tulajdonsága jelzi, hogy a csomópont dedikált vagy kihasználatlan virtuális gép-e:

bool? isNodeDedicated = poolNode.IsDedicated;

Előfordulhat, hogy a kihasználatlan virtuális gépek időnként előtagként jelennek meg. Ha előtag történik, a korábban létrehozott csomópont virtuális gépén futó feladatok újra le lesznek kérdezve, és újra futnak, amikor a kapacitás visszatér.

A Virtuálisgép-konfigurációs készletek esetében a Batch a következő viselkedéseket is végrehajtja:

  • Az előre megadott virtuális gépek állapota Preempted állapotúra frissült.
  • A virtuális gép hatékonyan törlődik, ami a virtuális gépen helyileg tárolt adatok elvesztéséhez vezet.
  • A készleten lévő listacsomópontok művelete továbbra is az előre megadott csomópontokat adja vissza.
  • A készlet folyamatosan megpróbálja elérni az elérhető kihasználatlan csomópontok célszámát. Ha cserekapacitást talál, a csomópontok megőrzik az azonosítójukat, de újrainicializálódnak, és a létrehozási és indítási állapotokon haladnak végig, mielőtt elérhetővé válnak a feladatütemezéshez.
  • A preemption-számok metrikaként érhetők el a Azure Portal.

Kihasználatlan virtuális gépeket tartalmazó méretezési készletek

A kizárólag dedikált virtuális gépekből álló készletekhez hasonlóan a kihasználatlan virtuális gépeket tartalmazó készleteket is skálázhatja a Resize metódus meghívásával vagy automatikus skálázással.

A készlet átméretezési művelete egy második választható paramétert vesz igénybe, amely frissíti a értékét targetLowPriorityNodes:

pool.Resize(targetDedicatedComputeNodes: 0, targetLowPriorityComputeNodes: 25);

A készlet automatikus skálázási képlete az alábbiak szerint támogatja a kihasználatlan virtuális gépeket:

  • A szolgáltatás által definiált változó $TargetLowPriorityNodesértékét lekérheti vagy beállíthatja.
  • A szolgáltatás által definiált változó $CurrentLowPriorityNodesértékét lekérheti.
  • A szolgáltatás által definiált változó $PreemptedNodeCountértékét lekérheti. Ez a változó az előre megadott állapotban lévő csomópontok számát adja vissza, és lehetővé teszi a dedikált csomópontok számának vertikális fel- vagy leskálázását attól függően, hogy hány előre kijelölt csomópont nem érhető el.

Feladatok és tevékenységek konfigurálása

A feladatokhoz és tevékenységekhez további konfigurációra lehet szükség a kihasználatlan csomópontokhoz:

  • A JobManagerTask feladat tulajdonsága rendelkezik egy tulajdonságtal AllowLowPriorityNode . Ha ez a tulajdonság igaz, a feladatkezelői feladat ütemezhető dedikált vagy kihasználatlan csomóponton. Ha hamis, a feladatkezelői feladat csak egy dedikált csomópontra van ütemezve.
  • A AZ_BATCH_NODE_IS_DEDICATEDkörnyezeti változó elérhető egy feladatalkalmazás számára, így megállapíthatja, hogy egy kihasználatlan csomóponton vagy egy dedikált csomóponton fut-e.

Kihasználatlan virtuális gépek metrikáinak megtekintése

Új metrikák érhetők el a kihasználatlan csomópontok Azure Portal. Ezek a metrikák a következők:

  • Low-Priority csomópontok száma
  • Low-Priority magok száma
  • Előre meghatározott csomópontok száma

A metrikák megtekintése a Azure Portal:

  1. Az Azure portálon lépjen Batch-fiókjára.
  2. A Figyelés szakaszban válassza a Metrikák lehetőséget.
  3. Válassza ki a kívánt metrikákat a Metrika listából.

Korlátozások

  • A Batch kihasználatlan virtuális gépei nem támogatják a maximális ár beállítását, és nem támogatják az áralapú kizárásokat. Ezeket csak kapacitási okokból lehet kiüríteni.
  • A kihasználatlan virtuális gépek csak a virtuálisgép-konfigurációs készletekhez érhetők el, a felhőszolgáltatás konfigurációs készleteihez nem, amelyek elavultak.
  • A kihasználatlan virtuális gépek nem érhetők el egyes felhőkhöz, virtuálisgép-méretekhez és előfizetési ajánlattípusokhoz. További információ a kihasználatlan virtuális gépek korlátozásairól.
  • A rövid élettartamú operációsrendszer-lemezek jelenleg nem támogatottak a kihasználatlan virtuális gépek esetében a Stop-Deallocate szolgáltatás által felügyelt kiürítési szabályzata miatt.

Következő lépések