Sdílet prostřednictvím


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

Azure Batch nabízí spotové virtuální počítače, které snižují náklady na úlohy Batch. Spotové virtuální počítače umožňují nové typy úloh Batch tím, že umožňují použití velkého výpočetního výkonu za nízké 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ůže tento přebytek použít, pokud je k dispozici.

Kompromisem při používání spotových virtuálních počítačů je, že v závislosti na dostupné kapacitě nemusí tyto virtuální počítače být vždy dostupné, nebo mohou být kdykoliv přerušeny. 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 doba dokončení úlohy flexibilní a práce se distribuuje napříč mnoha virtuálními počítači.

Spotové virtuální počítače se nabízejí za sníženou cenu ve srovná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 a virtuálními počítači s nízkou prioritou

Batch nabízí dva typy nízkonákladových předpřipravených virtuálních počítačů:

  • Spotové virtuální počítače, moderní nabídka Azure, která je dostupná také jako virtuální počítače s jednou instancí nebo jako škálovací sady virtuálních počítačů.
  • Virtuální počítače s nízkou prioritou, starší verze nabídky dostupná jenom prostřednictvím služby Azure Batch.

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

Varování

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

Spotové virtuální počítače Azure a virtuální počítače s nízkou prioritou služby Batch 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 uživatelského předplatného Batch Účty Batch spravované službou Batch
Podporované konfigurace fondu 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
Nárok na zákazníka Pro některé typy nabídek předplatného není k dispozici. Podívejte se na další informace o omezení Spot. K dispozici pro všechny zákazníky služby Batch
Možné důvody vyřazení Kapacita Kapacita
Cenový model Proměnlivé slevy vzhledem ke standardním cenám virtuálních počítačů Pevné slevy vzhledem ke standardním cenám virtuálních počítačů
Model kvót Podmíněno základními kvótami vašeho předplatného V závislosti na základních kvótách účtu Batch
Smlouva SLA o dostupnosti Nic Nic

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

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

  • Fondy batch můžou obsahovat jak vyhrazené virtuální počítače, tak spotové virtuální počítače. Počet jednotlivých typů virtuálních počítačů je možné zadat při vytvoření fondu nebo kdykoliv změnit u existujícího fondu pomocí explicitní operace 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. Můžete také nakonfigurovat fond tak, aby úplně používal spotové virtuální počítače ke spouštění úloh co nejlevněji, ale při poklesu kapacity pod minimální prahovou hodnotu spustil vyhrazené virtuální počítače, aby úlohy zůstaly spuštěné.
  • Batch pooly automaticky se snaží dosáhnout cílového počtu spotových virtuálních počítačů. Pokud jsou virtuální počítače nuceně přerušené nebo nedostupné, služba Batch se pokusí nahradit ztracenou výpočetní kapacitu a vrátit se k původnímu cíli.
  • Když dojde k přerušení úkolů, služba Batch zjistí a automaticky znovu zařadí úkoly do fronty, aby se znovu spustily.
  • 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í

Řada úloh Batch je vhodná pro spotové virtuální počítače. Zvažte použití spotových virtuálních počítačů, když jsou úlohy rozdělené do mnoha paralelních úloh nebo pokud máte mnoho úloh, které se škálují a distribuují napříč mnoha virtuálními počítači.

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

  • Vývoj a testování: Zejména pokud se vyvíjejí rozsáhlá řešení, je možné realizovat významné úspory. Všechny typy testování můžou být přínosné, ale rozsáhlé zátěžové testování a regresní testování jsou skvělé využití.
  • Doplnění kapacity na vyžádání: Spotové virtuální počítače lze použít k doplnění běžných vyhrazených virtuálních počítačů. Pokud jsou k dispozici, úlohy se můžou škálovat a tím rychleji dosáhnout nižších nákladů; pokud není k dispozici, zůstane směrný plán vyhrazených virtuálních počítačů dostupný.
  • Flexibilní doba provádění úlohy: Pokud je časová úloha flexibilní, je možné tolerovat potenciální pokles kapacity. S přidáním spotových virtuálních počítačů ale úlohy často běží rychleji a za nižší náklady.

Fondy Batch lze konfigurovat tak, aby používaly spotové virtuální počítače různými způsoby:

  • Pool může používat pouze spotové virtuální počítače. V takovém případě služba Batch obnoví jakékoli předem ukončené kapacity, pokud jsou k dispozici. Tato konfigurace je nejlevnější způsob spouštění úloh.
  • Spotové virtuální počítače je možné použít se stabilním základem vyhrazených virtuálních počítačů. Pevný počet vyhrazených virtuálních počítačů zajišťuje, že vždy existuje určitá kapacita pro udržení pokroku v práci.
  • Pool může používat dynamickou kombinaci vyhrazených a Spot virtuálních počítačů tak, aby se levnější Spot virtuální počítače používaly výhradně, když jsou dostupné, ale plně placené vyhrazené virtuální počítače se škálovaly v případě potřeby. Tato konfigurace udržuje minimální dostupnou kapacitu, aby se zachoval průběh úloh.

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

  • Aby se maximalizovalo využití nadbytečné kapacity v Azure, mohou vhodné úlohy škálovat.
  • V některých případech nemusí být virtuální počítače dostupné nebo se přeruší, což vede ke snížení kapacity pro úlohy a může vést k přerušení úkolů a opětovnému spuštění.
  • Úlohy s kratší dobou provádění fungují nejlépe s spotovými virtuálními počítači. Úlohy s delšími úkoly můžou být v případě přerušení ovlivněny více. Pokud dlouhotrvající úlohy implementují vytváření kontrolních bodů pro uložení průběhu při jejich 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 předčasně ukončený virtuální počítač může způsobit, že se celá úloha musí znovu spustit.
  • Spotové uzly mohou 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). Cílový počet výpočetních uzlů můžete nastavit 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 je uzel vyhrazeným nebo spotovým virtuálním počítačem:

bool? isNodeDedicated = poolNode.IsDedicated;

Spotové virtuální počítače mohou být občas předběžně ukončeny. Když dojde k přerušení, úlohy spuštěné na přerušených virtuálních počítačích uzlů se znovu zařadí do fronty a spustí se znovu, když se kapacita obnoví.

Pro fondy konfigurace virtuálních počítačů provádí služba Batch také následující operace:

  • Přerušené virtuální počítače mají svůj stav aktualizován na Přerušené.
  • 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 seznamu uzlů v poolu stále vrací předběžně vyřazené 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 zachovávají svoje ID, ale jsou znovu inicializovány a procházejí stavy Vytváření a Spouštění , než budou dostupné pro plánování úkolů.
  • Počty preemption jsou k dispozici jako metrika na webu 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 Resize metody nebo pomocí automatického škálování.

Operace změny velikosti fondu má 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é definované službou $TargetLowPriorityNodes.
  • Můžete získat hodnotu proměnné definované službou $CurrentLowPriorityNodes.
  • Můžete získat hodnotu proměnné definované službou $PreemptedNodeCount. Tato proměnná vrátí počet uzlů v přerušeném stavu a umožňuje zvýšit nebo snížit počet vyhrazených uzlů v závislosti na počtu nedostupných přerušených uzlů.

Konfigurace úloh a úkolů

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

  • Vlastnost JobManagerTask úlohy má AllowLowPriorityNode vlastnost. Pokud je tato vlastnost pravdivá, může být úkol správce úloh naplánován na vyhrazeném nebo spotovém uzlu. Pokud je to nepravda, pak je úkol správce úloh naplánován pouze na vyhrazený uzel.
  • AZ_BATCH_NODE_IS_DEDICATED Proměnná prostředí je k dispozici pro aplikační úlohu, aby bylo možné určit, jestli je spuštěná na Spot instance nebo na vyhrazeném výpočetním uzlu.

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

Nové metriky jsou k dispozici na webu Azure Portal pro spotové uzly. Tyto metriky jsou:

  • Počet uzlů s nízkou prioritou
  • Počet jader s nízkou prioritou
  • Počet předpětěných uzlů

Pokud chcete zobrazit tyto metriky na webu 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 metrik vyberte požadované metriky.

Omezení

  • Spotové virtuální počítače ve službě Batch neumožňují nastavení maximální cenové hladiny a nepodporují cenově motivovaná vyřazení. Mohou být vyřazeny pouze z důvodů kapacity.
  • Spotové virtuální počítače jsou dostupné jenom pro fondy konfigurace virtuálních počítačů, ne pro fondy konfigurace cloudových služeb, které jsou zastaralé.
  • Spotové virtuální počítače nejsou k dispozici pro některé typy nabídek cloudů, velikostí virtuálních počítačů a předplatných. Další informace o omezeních spotových virtuálních počítačů
  • Ephemeral OS disky se v současné době nepodporují u spotových virtuálních počítačů kvůli zásadám vyřazení spravované službou, konkrétně Stop-Deallocate.

Další kroky