Cvičení – přidání vlastního pole uzlů do clusteru PROSTŘEDÍ HPC
Upozornění
Tento obsah odkazuje na CentOS, což je linuxová distribuce se stavem Konec životnosti (EOL). Zvažte své použití a odpovídajícím způsobem naplánujte. Další informace najdete v doprovodných materiálech CentOS End Of Life.
Nodearray je kolekce identicky nakonfigurovaných uzlů clusteru Azure CycleCloud. Jejich účelem je přizpůsobit horizontální škálování výpočetních prostředků clusteru při změně počtu úloh ve frontě. Každý nodearray má název, sadu atributů, které se vztahují na každý z jeho uzlů, a volitelné atributy, které popisují, jak má nodearray škálovat.
Plánovač úloh Slurm rozděluje uzly skupiny do logických a potenciálně překrývajících se sad. Jejich účelem je optimalizovat zpracování úloh tím, že se započítávají konkrétní omezení, jako jsou limity prostředků nebo časových limitů. Plánovač přiděluje úlohy uzlům v rámci oddílu, dokud se jejich prostředky nevyčerpají nebo se nezpracují všechny úlohy.
Chcete upravit nově nasazený cluster spravovaný službou Azure CycleCloud tak, aby odpovídal potřebám prostředků specifických pro úlohy. K dosažení tohoto cíle se rozhodnete použít více změn v podkladové šabloně a ověřit svůj přístup.
V tomto cvičení provedete následující úlohy:
- Úkol 1: Přidání definice nodearray do šablony Azure CycleCloud
- Úkol 2: Přidání parametrů grafického rozhraní do šablony Azure CycleCloud
- Úloha 3: Export vlastností clusteru Azure CycleCloud
- Úkol 4: Upravte soubor vlastností tak, aby zahrnoval nové parametry.
- Úloha 5: Import upravené šablony a souboru parametrů do existujícího clusteru
Poznámka:
Před zahájením tohoto cvičení se ujistěte, že jste úspěšně dokončili předchozí cvičení.
Úkol 1: Přidání definice nodearray do šablony Azure CycleCloud
Začnete přidáním definice nodearray do šablony Slurm, kterou jste přizpůsobili v předchozím cvičení. Ukázková šablona obsahuje dva oddíly označené hpc a htc. Vytvoříte další oddíl a odpovídající nodearray určené pro úlohy, které využívají funkce CUDA (Compute Unified Device Architecture).
Přejděte na Azure Portal. Po zobrazení výzvy se ověřte pomocí účtu Microsoft nebo účtu Microsoft Entra s rolí Přispěvatel nebo Vlastník v předplatném Azure, které používáte v tomto modulu.
Na webu Azure Portal otevřete Cloud Shell výběrem jeho ikony na panelu nástrojů vedle vyhledávacího textového pole a ujistěte se, že spouštíte relaci Bash.
Spuštěním následujícího příkazu v Cloud Shellu nastavte pracovní adresář na ten, který hostuje úložiště GitHub, které jste načítá v předchozím cvičení:
cd ~/cyclecloud-slurm/templatesSpuštěním následujícího příkazu otevřete staženou šablonu v editoru nano:
nano slurm.txtV rozhraní editoru nano se posuňte do oddílu
[parameters About]a přímo před něj přidejte následující obsah:[[nodearray cuda]] MachineType = $CUDAMachineType ImageName = $CUDAImageName MaxCoreCount = $MaxCUDAExecuteCoreCount AdditionalClusterInitSpecs = $CUDAClusterInitSpecs [[[configuration]]] slurm.autoscale = true slurm.hpc = true [[[cluster-init cyclecloud/slurm:execute]]] [[[network-interface eth0]]] AssociatePublicIpAddress = $ExecuteNodesPublicPoznámka:
Pokud používáte počítač s Windows, můžete obsah schránky vložit pomocí kombinace kláves Shift + Insert .
Poznámka:
Vaše změny definují extra nodearray.
Úkol 2: Přidání parametrů grafického rozhraní do šablony Azure CycleCloud
Pokud chcete pomocí grafického rozhraní Azure CycleCloud upravit hodnoty parametrů šablony, použijete u šablony další změny.
V rozhraní editoru nano se posuňte do oddílu
[[parameters Auto-Scaling]]a přímo před něj přidejte následující obsah:[[[parameter CUDAMachineType]]] Label = CUDA VM Type Description = The VM type for CUDA execute nodes ParameterType = Cloud.MachineType DefaultValue = Standard_NC24Posuňte se do oddílu
[[[parameter HPCMaxScalesetSize]]]a přidejte před něj následující obsah:[[[parameter MaxCUDAExecuteCoreCount]]] Label = Max CUDA Cores Description = The total number of CUDA execute cores to start DefaultValue = 100 Config.Plugin = pico.form.NumberTextBox Config.MinValue = 0 Config.IntegerOnly = truePosuňte se do oddílu
[[[parameter SchedulerClusterInitSpecs]]]a přidejte před něj následující obsah:[[[parameter CUDAImageName]]] Label = CUDA OS ParameterType = Cloud.Image Config.OS = linux DefaultValue = cycle.image.centos7 Config.Filter := Package in {"cycle.image.centos7", "cycle.image.ubuntu18"}Posuňte se do oddílu
[[parameters Advanced Networking]]a přidejte před něj následující obsah:[[[parameter CUDAClusterInitSpecs]]] Label = CUDA Cluster-Init DefaultValue = =undefined Description = Cluster init specs to apply to CUDA execute nodes ParameterType = Cloud.ClusterInitSpecsVyberte kombinaci kláves Ctrl + O, vyberte klávesu Enter a pak stisknutím kombinace kláves Ctrl + X uložte provedené změny a zavřete soubor.
Úloha 3: Export vlastností clusteru Azure CycleCloud
Před použitím změn konfigurace, které jste provedli v šabloně Azure CycleCloudu v cílovém clusteru, budete nejprve muset exportovat vlastnosti clusteru.
Spuštěním následujícího příkazu v Cloud Shellu zobrazte seznam existujících clusterů:
cyclecloud show_clusterPoznámka:
Ověřte, že výstup obsahuje položku contoso-custom-slurm-lab-cluster .
Spuštěním následujícího příkazu exportujte do souboru params.json seznam parametrů clusteru contoso-custom-slurm-lab-cluster a jejich hodnoty:
cyclecloud export_parameters contoso-custom-slurm-lab-cluster > ~/params.jsonSpuštěním následujícího příkazu zkontrolujte exportovaný seznam parametrů a jejich hodnoty:
cat ~/params.json
Úkol 4: Upravte soubor vlastností tak, aby zahrnoval nové parametry.
I když úpravy, které jste použili u šablony Azure CycleCloud, obsahovaly výchozí hodnoty pro všechny nově zavedené parametry, budete je možná muset upravit tak, aby odpovídaly vašim konkrétním požadavkům. V této úloze nastavíte hodnoty parametrů CUDAMachineType a MaxCUDAExecuteCoreCount .
Spuštěním následujícího příkazu v Cloud Shellu otevřete stažený soubor parametrů v editoru nano:
nano ~/params.jsonV editoru nano přejděte na konec souboru a přidejte následující obsah začínající novým řádkem před uzavírací složené závorky (}):
"CUDAMachineType" : "Standard_NC6", "MaxCUDAExecuteCoreCount" : 60Na konec řádku před řádkem, který jste přidali v předchozím kroku, přidejte čárku:
"CUDAMachineType" : "Standard_NC6"Vyberte kombinaci kláves Ctrl + O, vyberte klávesu Enter a pak stisknutím kombinace kláves Ctrl + X uložte provedené změny a zavřete soubor.
Úloha 5: Import upravené šablony a souboru parametrů do existujícího clusteru
K závěru tohoto cvičení naimportujete upravenou šablonu a její soubor parametrů do existujícího clusteru a přepíšete jeho aktuální konfiguraci.
Spuštěním následujícího příkazu v Cloud Shellu naimportujte upravenou šablonu a její soubor parametrů do existujícího clusteru:
cyclecloud import_cluster contoso-custom-slurm-lab-cluster --file ~/cyclecloud-slurm/templates/slurm.txt -p ~/params.json -c Slurm --forcePoznámka:
Je nutné zadat název cílového clusteru a
--forcepříznak, který přepíše konfiguraci existujícího clusteru.Na počítači otevřete jiné okno prohlížeče a přejděte na adresu URL https://< IP_address> . Pokud se zobrazí výzva, potvrďte, že chcete pokračovat.
Pokud se zobrazí výzva k ověření, přihlaste se zadáním přihlašovacích údajů stejného uživatelského účtu aplikace Azure CycleCloud, který jste použili ke konfiguraci azure CycleCloud CLI.
V grafickém rozhraní Azure CycleCloud přejděte na stránku Clusters . V seznamu clusterů vyberte položku contoso-custom-slurm-lab-cluster a pak vyberte Upravit.
V automaticky otevírané okně Upravit contoso-custom-slurm-lab-cluster vyberte na stránce Informace další.
Na stránce Požadovaná nastavení ověřte přítomnost položky typu virtuálního počítače CUDA nastavenou na Standard_NC6 hodnotu a odpovídající možnosti automatického škálování:
Gratulujeme! Úspěšně jste dokončili druhé cvičení tohoto modulu. V tomto cvičení jste cluster Azure CycleCloud dále přizpůsobili pomocí upravené šablony, včetně definice nového uzlu s odpovídajícím oddílem. K dosažení tohoto cíle jste po úpravě šablony exportovali a upravovali soubor parametrů clusteru a naimportovali ho spolu s upravenou šablonou do clusteru.
Poznámka:
Pokud plánujete spustit další cvičení, neodstraňovat prostředky, které jste nasadili a nakonfigurovali v tomto cvičení. Tyto prostředky jsou potřeba k dokončení dalšího cvičení.