Kihasználatlan virtuális gépek használata a Batch használatával
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 az új típusú Batch számítási feladatok használatát azáltal, hogy lehetővé teszik nagy mennyiségű számítási teljesítmény nagyon alacsony költséggel való használatát.
A kihasználatlan virtuális gépek kihasználják az Azure többletkapacitását. Amikor 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 hátránya, hogy a rendelkezésre álló kapacitástól függően előfordulhat, hogy ezek a virtuális gépek nem mindig lesznek lefoglalhatók, vagy bármikor elővehetők. Emiatt 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ép között oszlik el.
A kihasználatlan virtuális gépeket a dedikált virtuális gépekhez képest jelentősen alacsonyabb áron kínáljuk. A díjszabással kapcsolatos részleteké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ővehető 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 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 lekért 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és készletfoglalá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.
Az Azure-beli kihasználatlan 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ói 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ális gép konfigurációja és a 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ó | Minden régió, kivéve Microsoft Azure China 21Vianet |
| Ügyféljogosultság | Egyes előfizetési ajánlattípusok esetében nem érhető el. További információ a kihasználatlanság korlátozásairó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. Az egyes virtuálisgép-típusok száma megadható a készlet létrehozásakor vagy módosításakor egy meglévő készlethez, az explicit átméretezési művelettel vagy az automatikus skálázás használatával. A feladatok és tevékenységek elküldése 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 teljesen kihasználatlan virtuális gépeket használjon a feladatok lehető legolcsóbb futtatásához, 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 fussanak.
- A Batch-készletek automatikusan megkeresik a kihasználatlan virtuális gépek célszámát. Ha a virtuális gépek nincsenek kihasználva 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 kiválóan alkalmas kihasználatlan virtuális gépekhez. Érdemes lehet használni őket, ha a feladatok több párhuzamos tevékenységre vannak felosztva, vagy ha sok feladat van felskálázva és elosztva számos virtuális gépen.
Néhány példa a kihasználatlan virtuális gépek használatához 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éses tesztelé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 normál dedikált virtuális gépek kiegészítésére használhatók. Ha rendelkezésre állnak, 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 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 esetleges előzetes 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 együtt 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észletek dedikált és kihasználatlan virtuális gépek dinamikus kombinációját használhatják, így az olcsóbb kihasználatlan virtuális gépeket csak akkor használják, ha elérhetők, de a teljes árú dedikált virtuális gépek szükség esetén felskálázhatók. Ez a konfiguráció minimális kapacitást biztosít a feladatok előrehaladásának megőrzéséhez.
A kihasználatlan virtuális gépek használatának tervezésekor tartsa szem előtt a következőket:
- A többletkapacitás azure-beli maximális kihasználtsága é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 nem lesznek kihasználva, ami a feladatok kapacitásának csökkenését eredményezi, és a tevékenységek megszakításához és újrafutásához vezethet.
- A rövidebb végrehajtási idővel rendelkező tevékenységek általában a kihasználatlan virtuális gépeken működnek a legjobban. A hosszabb feladatokat tartalmazó feladatokra nagyobb hatással lehet, ha megszakadnak. Ha a hosszan futó tevékenységek ellenőrzőpont-készítést implementálnak, hogy a végrehajtásuk során mentsék az előrehaladást, ez a hatás csökkenhet.
- A több virtuális gépet használó, hosszan futó MPI-feladatok nem alkalmasak a kihasználatlan virtuális gépek használatára, mivel egy előre meghatározott virtuális gép miatt a teljes feladatnak újra kell futnia.
- 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, hogy hány virtuális gép legyen a készletben.
Ha például azure-beli virtuális gépeket (ebben az esetben Linux rendszerű virtuális gépeket) használó készletet szeretne létrehozni 5 dedikált és 20 kihasználatlan virtuális géppel:
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 rendelkeznek egy tulajdonságukkal, amely jelzi, hogy a csomópont dedikált vagy kihasználatlan virtuális gép-e:
bool? isNodeDedicated = poolNode.IsDedicated;
A virtuális gépek időnként előfordulhatnak, hogy elsüllyednek. Ebben az esetben a rendszer újra lekérdezi és újrafuttatja a csomóponti virtuális gépeken futó feladatokat.
A Virtuálisgép-konfigurációs készletek esetében a Batch a következőket is elvégzi:
- A preemptált virtuális gépek állapota preempted állapotra frissült.
- 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észleten lévő listacsomópontok művelete továbbra is visszaadja a feleskent csomópontokat.
- A készlet folyamatosan megkísérli 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ők lennének a tevékenységütemezéshez.
- Az előmegelőzések száma metrikaként érhető 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észletek méretezése is lehetséges az Átméretezés 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 választható paramétert vesz igénybe, amely frissíti a 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:
- Lekérheti vagy beállíthatja a szolgáltatás által definiált változó értékét $TargetLowPriorityNodes.
- A szolgáltatás által definiált változó $CurrentLowPriorityNodes értékét is lekérheti.
- A szolgáltatás által definiált változó $PreemptedNodeCount értékét is 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 megadott csomópont nem érhető el.
Feladatok és tevékenységek konfigurálása
A feladatokhoz és tevékenységekhez kevés további konfigurációra van szükség a kihasználatlan csomópontokhoz. Fontos szem előtt tartani a következőket:
- Egy feladat JobManagerTask tulajdonsága AllowLowPriorityNode tulajdonsággal rendelkezik. Ha ez a tulajdonság igaz, a feladatkezelői feladat ütemezhető dedikált vagy kihasználatlan csomóponton is. 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.
Kihasználatlan virtuális gépek metrikáinak megtekintése
A kihasználatlan csomópontok Azure Portal új metrikák érhetők el. 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
- Az Azure portálon lépjen Batch-fiókjára.
- A Figyelés szakaszban válassza a Metrikák lehetőséget.
- Válassza ki a kívánt metrikákat a metrikák listájá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. Csak kapacitási okokból lehet kizárni őket.
- A kihasználatlan virtuális gépek csak 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 egyes felhőkhöz, virtuálisgép-méretekhez és előfizetési ajánlattípusokhoz nem érhetők el. További információ a kihasználatlan korlátozásokról.
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 tevékenységeket.
- 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 Cloud Services konfigurációs készletekkel (amelyek elavultak), tervezze meg a virtuálisgép-konfigurációs készletekbe való migrálást.