Kihasználatlan virtuális gépek használata Batch-számítási feladatokkal
Az 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 nagy számítási teljesítményt tesznek lehetővé alacsony költségek mellett.
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, az Azure Batch ezt a többletet használhatja, 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őre be lesznek adva. 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 számos virtuális gépen el van osztva.
A kihasználatlan virtuális gépeket a dedikált virtuális gépekhez képest kedvezményes áron kínáljuk. A díjszabással kapcsolatos további információkért tekintse meg a Batch díjszabását.
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őremutató 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 virtuálisgép-méretezési csoportokként is elérhető.
- Alacsony prioritású virtuális gépek, amelyek egy örökölt ajánlat, amely csak az Azure Batchen keresztül érhető el.
A megkapott csomópont típusa a Batch-fiók készletfoglalási módjától függ, amely a fiók létrehozásakor állítható be. 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 felügyelt készlet foglalási módját 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él jogosultsága | 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 normál virtuálisgép-árakhoz képest | Rögzített kedvezmények a normál 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áinak függvényében |
Rendelkezésre állási SLA | Egyik sem | Egyik sem |
Batch-támogatás kihasználatlan virtuális gépekhez
Az Azure Batch számos olyan funkciót kínál, 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észlet bármikori módosításakor a explicit átméretezési művelet vagy az automatikus skálázás használatával. A feladat- és feladatbeküldés a készletben lévő virtuálisgép-típusoktól függetlenül változatlan maradhat. A készletet úgy is konfigurálhatja, hogy a kihasználatlan virtuális gépek használatával a lehető legolcsóbban futtassa a feladatokat, de dedikált virtuális gépeket is elindíthat, ha a kapacitás a minimális küszöbérték alá csökken, hogy a feladatok működjenek.
- 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 kapcsolva 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 eltér 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 kihasználatlan virtuális gépekhez jól használható kötegelt feldolgozási használati esetekre:
- 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. A tesztelés minden típusa 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, így gyorsabban teljesíthetik az alacsonyabb költségeket; 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 elvégzéséhez rugalmas idő áll rendelkezésre, 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 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 összeállított 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 a 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 némi kapacitás a feladatok előrehaladásának fenntartásához.
- A készlet dedikált és kihasználatlan virtuális gépek dinamikus kombinációját használhatja, így az olcsóbb spot virtuális gépeket csak akkor használják, ha elérhetőek, 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 méretezhető fel.
- Előfordulhat, hogy a virtuális gépek nem érhetők el, vagy előre vannak ütemezve, ami csökkentett kapacitást eredményez a feladatok számára, és a tevékenységek megszakításához és újrafutásához vezethet.
- A rövidebb végrehajtási idővel rendelkező feladatok általában a kihasználatlan virtuális gépek esetében működnek a legjobban. A hosszabb feladatokat tartalmazó feladatok nagyobb hatással lehetnek, ha megszakadnak. Ha a hosszan futó tevékenységek ellenőrzőpontozást implementálnak a végrehajtás közbeni előrehaladás mentéséhez, ez a hatás csökkenthető.
- 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 összeállított virtuális gép a teljes feladat újrafuttatásához vezethet.
- A kihasználatlan csomópontok használhatatlanké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 a készletben használni kívánt virtuális gépek számát.
Az alábbi példa létrehoz egy készletet Azure-beli virtuális gépek, jelen 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ő lesznek elővetve. Ha előtag történik, a rendszer újra lekérdezi és újrafuttatja az előre megadott csomópont virtuális gépén futó feladatokat, 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 előre át lett frissítve.
- A virtuális gép hatékonyan törlődik, ami a virtuális gépen helyben tárolt adatok elvesztéséhez vezet.
- A készletben 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. Amikor cserekapacitást talál, a csomópontok megtartják a azonosítóikat, de újraindulnak, és a létrehozási és indítási állapotokon haladnak végig, mielőtt elérhetők lennének a feladatütemezéshez.
- A preemption counts metrikaként érhető el az Azure Portalon.
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észletet is skálázhatja a Resize
metódus meghívásával vagy az automatikus skálázás használatával.
A készlet átméretezési művelete egy második opcionális paramétert vesz igénybe, amely frissíti a következő targetLowPriorityNodes
értékét:
pool.Resize(targetDedicatedComputeNodes: 0, targetLowPriorityComputeNodes: 25);
A készlet automatikus méretezé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 fel- vagy leskálázását attól függően, hogy hány előre megadott csomópont nem érhető el.
Feladatok és feladatok konfigurálása
A feladatok és a tevékenységek további konfigurációt igényelhetnek a kihasználatlan csomópontokhoz:
- A
JobManagerTask
feladat tulajdonsága rendelkezik egy tulajdonságávalAllowLowPriorityNode
. 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_DEDICATED
környezeti változó elérhető egy feladatalkalmazás számára, így megállapíthatja, hogy egy kihasználatlan vagy egy dedikált csomóponton fut-e.
Metrikák megtekintése kihasználatlan virtuális gépekhez
Új metrikák érhetők el az Azure Portalon a kihasználatlan csomópontokhoz. Ezek a metrikák a következők:
- Alacsony prioritású csomópontok száma
- Alacsony prioritású magok száma
- Előre összeállított csomópontok száma
A metrikák megtekintése az Azure Portalon:
- Az Azure portálon lépjen Batch-fiókjára.
- Válassza a Metrika lehetőséget a Figyelés szakaszban.
- Válassza ki a kívánt metrikákat a Metrikák 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 virtuális gépek kihasználatlanságára vonatkozó korlátozásokról.
- A rövid élettartamú operációsrendszer-lemezek jelenleg nem támogatottak a spot virtuális gépeknél a Stop-Deallocate szolgáltatás által felügyelt kiürítési szabályzata miatt.
Következő lépések
- Ismerje meg a Batch szolgáltatás munkafolyamatát és az elsődleges erőforrásokat , például készleteket, csomópontokat, feladatokat és feladatokat.
- Megismerheti a Batch-megoldások fejlesztéséhez rendelkezésre álló Batch API-kat és eszközöket.
- Kezdje el megtervezni az alacsony prioritású virtuális gépekről a kihasználatlan virtuális gépekre való áttérést. Ha alacsony prioritású virtuális gépeket használ a Cloud Services konfigurációs készleteivel (amelyek elavultak), tervezze meg inkább a virtuálisgép-konfigurációs készletekbe való migrálást.