Cvičení – přidání vlastního pole uzlů do clusteru PROSTŘEDÍ HPC

Dokončeno

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

  1. 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.

  2. 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.

  3. 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/templates
    
  4. Spuštěním následujícího příkazu otevřete staženou šablonu v editoru nano:

    nano slurm.txt
    
  5. V 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 = $ExecuteNodesPublic
    
    

    Pozná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.

  1. 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_NC24
    
    
  2. Posuň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 = true
    
    
  3. Posuň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"}
    
    
  4. 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.ClusterInitSpecs
    
    
  5. 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 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.

  1. Spuštěním následujícího příkazu v Cloud Shellu zobrazte seznam existujících clusterů:

    cyclecloud show_cluster
    

    Poznámka:

    Ověřte, že výstup obsahuje položku contoso-custom-slurm-lab-cluster .

  2. 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.json
    
  3. Spuš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 .

  1. Spuštěním následujícího příkazu v Cloud Shellu otevřete stažený soubor parametrů v editoru nano:

    nano ~/params.json
    
  2. V 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" : 60
    
  3. Na konec řádku před řádkem, který jste přidali v předchozím kroku, přidejte čárku:

       "CUDAMachineType" : "Standard_NC6"
    
  4. 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.

  1. 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 --force
    

    Poznámka:

    Je nutné zadat název cílového clusteru a --force příznak, který přepíše konfiguraci existujícího clusteru.

  2. 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.

  3. 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.

  4. 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.

  5. V automaticky otevírané okně Upravit contoso-custom-slurm-lab-cluster vyberte na stránce Informace další.

  6. 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í:

Snímek obrazovky se stránkou Požadovaná nastavení v automaticky otevíraných otevíraných oken Upravit contoso-custom-slurm-lab-cluster

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í.