Použití spotových virtuálních počítačů s úlohami Služby Batch

Azure Batch nabízí spotové virtuální počítače pro snížení nákladů na úlohy služby Batch. Spotové virtuální počítače umožňují nové typy úloh Služby Batch tím, že umožňují využívat velký výpočetní výkon s nízkými náklady.

Spotové virtuální počítače využívají nadbytečnou kapacitu v Azure. Když ve fondech zadáte spotové virtuální počítače, Azure Batch můžou tento přebytek využít, pokud jsou k dispozici.

Kompromisem při používání spotových virtuálních počítačů je to, že tyto virtuální počítače nemusí být vždy dostupné nebo se můžou kdykoliv v závislosti na dostupné kapacitě vyprázdnit. Z tohoto důvodu jsou spotové virtuální počítače nejvhodnější pro úlohy dávkového a asynchronního zpracování, kde je čas dokončení úlohy flexibilní a práce se distribuuje mezi mnoho virtuálních počítačů.

Spotové virtuální počítače se nabízejí za sníženou cenu v porovnání s vyhrazenými virtuálními počítači. Další informace o cenách najdete v tématu Ceny služby Batch.

Rozdíly mezi spotovými virtuálními počítači a virtuálními počítači s nízkou prioritou

Batch nabízí dva typy cenově dostupných virtuálních počítačů:

  • Spotové virtuální počítače, moderní nabídka azure dostupná také jako virtuální počítače s jednou instancí nebo Virtual Machine Scale Sets.
  • Virtuální počítače s nízkou prioritou, starší verze nabídky dostupné pouze prostřednictvím Azure Batch.

Typ uzlu, který získáte, závisí na režimu přidělování fondů účtu Batch, který se dá nastavit při vytváření účtu. Účty Batch, které používají režim přidělování fondů předplatných uživatelů , vždy získají spotové virtuální počítače. Účty Batch, které používají režim přidělování spravovaných fondů služby Batch , vždy získají virtuální počítače s nízkou prioritou.

Upozornění

Virtuální počítače s nízkou prioritou budou vyřazeny po 30. září 2025. Před tím prosím proveďte migraci na spotové virtuální počítače ve službě Batch .

Spotové virtuální počítače Azure a virtuální počítače služby Batch s nízkou prioritou jsou podobné, ale mají několik rozdílů v chování.

Spotové virtuální počítače Virtuální počítače s nízkou prioritou
Podporované účty Batch Účty Batch s uživatelským předplatným Účty Batch spravované službou Batch
Podporované konfigurace fondů služby Batch Konfigurace virtuálního počítače Konfigurace virtuálního počítače a konfigurace cloudové služby (zastaralé)
Dostupné oblasti Všechny oblasti, které podporují spotové virtuální počítače Všechny oblasti kromě Microsoft Azure provozované společností 21Vianet
Oprávněnost zákazníků Není k dispozici pro některé typy nabídek předplatného. Přečtěte si další informace o spotových omezeních. K dispozici pro všechny zákazníky služby Batch
Možné důvody vyřazení Capacity Capacity
Cenový model Variabilní slevy vzhledem ke standardním cenám virtuálních počítačů Pevné slevy vzhledem k cenám standardních virtuálních počítačů
Model kvót Pro vaše předplatné platí kvóty jader. Na účet Batch se vztahují kvóty jader.
Smlouva SLA o dostupnosti Žádné Žádné

Podpora služby Batch pro spotové virtuální počítače

Azure Batch nabízí několik funkcí, které usnadňují využívání spotových virtuálních počítačů a jejich využití:

  • Fondy služby Batch můžou obsahovat jak vyhrazené virtuální počítače, tak i spotové virtuální počítače. Počet jednotlivých typů virtuálních počítačů je možné zadat při vytvoření nebo změně fondu pro existující fond kdykoli, a to pomocí operace explicitní změny velikosti nebo pomocí automatického škálování. Odesílání úloh a úkolů může zůstat beze změny bez ohledu na typy virtuálních počítačů ve fondu. Fond můžete také nakonfigurovat tak, aby plně používal spotové virtuální počítače ke spouštění úloh co nejlevněji, ale pokud kapacita klesne pod minimální prahovou hodnotu, zprovoznění vyhrazených virtuálních počítačů, aby úlohy zůstaly spuštěné.
  • Fondy batch automaticky vyhledávají cílový počet spotových virtuálních počítačů. Pokud jsou virtuální počítače zrušené nebo nedostupné, služba Batch se pokusí ztracenou kapacitu nahradit a vrátit se do cíle.
  • Při přerušení úkolů služba Batch zjistí a automaticky znovu vytvoří frontu úkolů, aby se spustily znovu.
  • Spotové virtuální počítače mají samostatnou kvótu virtuálních procesorů, která se liší od kvóty pro vyhrazené virtuální počítače. Kvóta spotových virtuálních počítačů je vyšší než kvóta pro vyhrazené virtuální počítače, protože spotové virtuální počítače stojí méně. Další informace najdete v tématu Kvóty a omezení služby Batch.

Důležité informace a případy použití

Mnoho dávkových úloh je vhodných pro spotové virtuální počítače. Použití spotových virtuálních počítačů zvažte, když jsou úlohy rozdělené do mnoha paralelních úloh nebo když máte mnoho úloh, které se škálují na více virtuálních počítačů a distribuují se mezi mnoho virtuálních počítačů.

Příklady použití dávkového zpracování, které jsou vhodné pro spotové virtuální počítače:

  • Vývoj a testování: Zejména při vývoji rozsáhlých řešení je možné dosáhnout významných úspor. Všechny typy testování mohou být užitečné, ale rozsáhlé zátěžové a regresní testování jsou skvělé využití.
  • Doplnění kapacity na vyžádání: Spotové virtuální počítače je možné použít k doplnění běžných vyhrazených virtuálních počítačů. Pokud jsou úlohy k dispozici, mohou se škálovat, a proto dokončit rychleji za cenu nižších nákladů; pokud není k dispozici, zůstávají k dispozici standardní hodnoty vyhrazených virtuálních počítačů.
  • Flexibilní doba provádění úlohy: Pokud je čas dokončení úloh flexibilní, je možné tolerovat potenciální poklesy kapacity. S přidáním spotových virtuálních počítačů ale úlohy často běží rychleji a s nižšími náklady.

Fondy služby Batch je možné nakonfigurovat tak, aby používaly spotové virtuální počítače několika způsoby:

  • Fond může používat pouze spotové virtuální počítače. V takovém případě služba Batch obnoví všechny zrušené kapacity, pokud jsou k dispozici. Tato konfigurace představuje nejlevnější způsob, jak spouštět úlohy.
  • Spotové virtuální počítače je možné použít s pevným standardním plánem vyhrazených virtuálních počítačů. Pevný počet vyhrazených virtuálních počítačů zajišťuje, že je vždy k dispozici nějaká kapacita pro zachování postupu úlohy.
  • Fond může využívat dynamickou kombinaci vyhrazených a spotových virtuálních počítačů, takže levnější spotové virtuální počítače se používají výhradně tehdy, když jsou k dispozici, ale vyhrazené virtuální počítače za plnou cenu se v případě potřeby vertikálně navyšují. Tato konfigurace udržuje minimální dostupnou kapacitu, aby úlohy dál postupily.

Při plánování použití spotových virtuálních počítačů mějte na paměti následující postupy:

  • V zájmu maximalizace využití nadbytečné kapacity v Azure je možné škálovat vhodné úlohy na více instancí.
  • V některých případech virtuální počítače nemusí být dostupné nebo jsou zrušené, což má za následek snížení kapacity úloh a může vést k přerušení a opětovnému spuštění úkolů.
  • Úlohy s kratší dobou provádění obvykle fungují nejlépe se spotovými virtuálními počítači. Pokud dojde k přerušení, může to mít větší dopad na úlohy s delšími úkoly. Pokud dlouhotrvající úlohy implementují vytváření kontrolních bodů, aby se uložil průběh při provádění, může se tento dopad snížit.
  • Dlouhotrvající úlohy MPI, které využívají více virtuálních počítačů, nejsou vhodné pro spotové virtuální počítače, protože jeden zrušený virtuální počítač může vést k tomu, že se celá úloha bude muset spustit znovu.
  • Spotové uzly můžou být označeny jako nepoužitelné, pokud jsou nesprávně nakonfigurovaná pravidla skupiny zabezpečení sítě (NSG ).

Vytváření a správa fondů pomocí spotových virtuálních počítačů

Fond Batch může obsahovat vyhrazené i spotové virtuální počítače (označované také jako výpočetní uzly). Můžete nastavit cílový počet výpočetních uzlů pro vyhrazené i spotové virtuální počítače. Cílový počet uzlů určuje počet virtuálních počítačů, které chcete mít ve fondu.

Následující příklad vytvoří fond pomocí virtuálních počítačů Azure, v tomto případě virtuálních počítačů s Linuxem, s cílem 5 vyhrazených virtuálních počítačů a 20 spotových virtuálních počítačů:

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);

Můžete získat aktuální počet uzlů pro vyhrazené i spotové virtuální počítače:

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

Uzly fondu mají vlastnost, která označuje, jestli se jedná o vyhrazený nebo spotový virtuální počítač:

bool? isNodeDedicated = poolNode.IsDedicated;

Spotové virtuální počítače můžou být občas zrušené. Když dojde k zablokování, úlohy spuštěné na virtuálních počítačích s odpojeným uzlem se znovu zařadí do fronty a spustí se znovu, až se kapacita vrátí.

U fondů konfigurace virtuálních počítačů služba Batch provádí také následující chování:

  • U zrušených virtuálních počítačů se stav aktualizoval na Zrušeno.
  • Virtuální počítač se efektivně odstraní, což vede ke ztrátě všech dat uložených místně na virtuálním počítači.
  • Operace výpisu uzlů ve fondu stále vrací zrušené uzly.
  • Fond se neustále pokouší dosáhnout cílového počtu dostupných spotových uzlů. Když se najde náhradní kapacita, uzly si zachovají svoje ID, ale znovu se inicializují a projdou stavy Vytváření a Spouštění , než budou k dispozici pro plánování úkolů.
  • Počty preemption jsou k dispozici jako metrika v Azure Portal.

Fondy škálování obsahující spotové virtuální počítače

Stejně jako u fondů, které se skládají výhradně z vyhrazených virtuálních počítačů, je možné škálovat fond obsahující spotové virtuální počítače voláním metody nebo pomocí automatického Resize škálování.

Operace změny velikosti fondu přebírá druhý volitelný parametr, který aktualizuje hodnotu targetLowPriorityNodes:

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

Vzorec automatického škálování fondu podporuje spotové virtuální počítače následujícím způsobem:

  • Můžete získat nebo nastavit hodnotu proměnné $TargetLowPriorityNodesdefinované službou .
  • Můžete získat hodnotu proměnné $CurrentLowPriorityNodesdefinované službou .
  • Můžete získat hodnotu proměnné $PreemptedNodeCountdefinované službou . Tato proměnná vrátí počet uzlů v přednastaveném stavu a umožňuje vertikálně navýšit nebo snížit počet vyhrazených uzlů v závislosti na počtu nedostupných uzlů.

Konfigurace úloh a úkolů

Úlohy a úlohy můžou vyžadovat další konfiguraci spotových uzlů:

  • Vlastnost JobManagerTask úlohy má AllowLowPriorityNode vlastnost. Pokud je tato vlastnost pravdivá, je možné úlohu správce úloh naplánovat buď na vyhrazeném, nebo spotovém uzlu. Pokud je nepravda, je úloha správce úloh naplánovaná jenom na vyhrazený uzel.
  • ProměnnáAZ_BATCH_NODE_IS_DEDICATED prostředí je k dispozici pro aplikaci úloh, aby bylo možné určit, jestli běží na místě nebo na vyhrazeném uzlu.

Zobrazení metrik pro spotové virtuální počítače

Nové metriky jsou k dispozici v Azure Portal pro spotové uzly. Mezi tyto metriky patří:

  • počet uzlů Low-Priority
  • Low-Priority Počet jader
  • Počet předem připravených uzlů

Zobrazení těchto metrik v Azure Portal:

  1. Na webu Azure Portal přejděte ke svému účtu Batch.
  2. V části Monitorování vyberte Metriky.
  3. V seznamu Metriky vyberte požadované metriky.

Omezení

  • Spotové virtuální počítače ve službě Batch nepodporují nastavení maximální ceny a nepodporují vyřazování na základě cen. Je možné je vystěhovat pouze z důvodů kapacity.
  • Spotové virtuální počítače jsou k dispozici pouze pro fondy konfigurace virtuálních počítačů, nikoli pro fondy konfigurace cloudových služeb, které jsou zastaralé.
  • Spotové virtuální počítače nejsou dostupné pro některé cloudy, velikosti virtuálních počítačů a typy nabídek předplatného. Přečtěte si další informace o omezeních spotových virtuálních počítačů.
  • V současné době se dočasné disky s operačním systémem nepodporují u spotových virtuálních počítačů kvůli zásadám vyřazení spravované službou Stop-Deallocate.

Další kroky