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 tuto nadbytečnou hodnotu použít, pokud je k dispozici.

Kompromisem při používání spotových virtuálních počítačů je, že tyto virtuální počítače nemusí být vždy dostupné nebo se můžou kdykoliv předcházet v závislosti na dostupné kapacitě. 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 š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ů předplatného uživatele, 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.

Upozorňující

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 Batch předplatného uživatele Úč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ích 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 Na základě základních kvót 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 zcela používal spotové virtuální počítače ke spouštění úloh co nej levněji, ale zastavte vyhrazené virtuální počítače, pokud kapacita klesne pod minimální prahovou hodnotu, aby úlohy zůstaly spuštěné.
  • Fondy batch automaticky hledají cílový počet spotových virtuálních počítačů. Pokud jsou virtuální počítače předem zrušené nebo nedostupné, služba Batch se pokusí nahradit ztracenou kapacitu a vrátit se do cíle.
  • Když dojde k přerušení úkolů, služba Batch zjistí a automaticky znovu vytvoří frontu úkolů, 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 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 předem připravené 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 s pevným směrným plánem vyhrazených virtuálních počítačů. Pevný počet vyhrazených virtuálníchpočítačůchch
  • Fond může použí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žijí výhradně v případě, že jsou k dispozici, ale v případě potřeby se škálují vyhrazené virtuální počítače s plnou cenou. 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 na více instancí.
  • 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ředem připravený virtuální počítač může vést k tomu, že se celá úloha musí spustit znovu.
  • 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 se můžou občas předpovědět. Když dojde k předběžnému ukončení, úlohy spuštěné na předem připravených virtuálních počítačích uzlů se znovu zařadí do fronty a spustí se znovu, když se kapacita vrátí.

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

  • Předem připravené virtuální počítače se aktualizují na předem připravené.
  • 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 uzlů seznamu ve fondu stále vrací předem připravené 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 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é 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ředem připravené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 ú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 nepravda, 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 aplikaci úloh, aby bylo možné určit, jestli je spuštěná na místě nebo na vyhrazeném uzlu.

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

Nové metriky jsou k dispozici na webu Azure Portal pro spotové uzly. Tady 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 nepodporují nastavení maximální ceny a nepodporují vyřazení na základě cen. 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čů
  • Dočasné disky s operačním systémem se v současné době nepodporují u spotových virtuálních počítačů kvůli zásadám vyřazení spravované službou pro zastavení přidělení.

Další kroky