Cvičení – vyhledání správného mapování NUMA pro skladovou položku HPC

Dokončeno

Jeden z úzce propojených aplikací HPC vašeho týmu R&D používá pro výkon hybridní paralelizaci (MPI+vlákna). Tým zjistil, že HB120_v2 je pro tuto aplikaci nejlepší skladovou jednotkou a tým musí určit optimální místo pro připnutí procesu a vláken.

V následujícím cvičení budete postupovat podle postupu, který váš tým R&D použil k určení HB120_v2 topologie NUMA, a zjistíte, které ID procesoru odpovídají jakým doménám NUMA.

Poznámka:

Toto cvičení není povinné. Pokud chcete absolvovat toto cvičení, budete muset před zahájením vytvořit předplatné Azure. Pokud nemáte účet Azure nebo ho v tuto chvíli nechcete vytvořit, můžete si přečíst pokyny, abyste porozuměli zobrazeným informacím.

  1. Otevřete příkazový řádek, na kterém máte nainstalované Rozhraní příkazového řádku Azure CLI.

  2. Přihlaste se ke svému účtu Azure. Tento krok zajistí, že máte oprávnění k nasazení prostředků.

    az login
    
  3. Vytvořte skupinu prostředků. Do této skupiny prostředků nasadíte virtuální počítač HB120_v2. Nahraďte RESOURCE-GROUP_NAME jedinečným názvem podle vašeho výběru a nahraďte UMÍSTĚNÍ umístěním, které je blízko vás (například eastus).

    az group create \
       --name <RESOURCE-GROUP_NAME> \
       --location <LOCATION>
    
  4. Vytvořte HB120_v2 virtuální počítač, který používá image CentOS-HPC 7.8 z Azure Marketplace. Nahraďte RESOURCE-GROUP_NAME skupinou prostředků, kterou jste vytvořili v posledním kroku, a nahraďte VM-NAME jedinečným názvem podle vašeho výběru.

    az vm create \
       --resource-group <RESOURCE-GROUP-NAME> \
       --name <VM-NAME> \
       --admin-username azureuser \
       --generate-ssh-keys \
       --image OpenLogic:CentOS-HPC:7_8:latest \
       --size Standard_HB120rs_v2
    

    Dokončení tohoto příkazu může nějakou dobu trvat. Po vytvoření virtuálního počítače si poznamenejte publicIpAddress virtuálního počítače, který bude součástí výstupu JSON. Tuto IP adresu použijete v dalším kroku.

  5. Přihlaste se k virtuálnímu počítači HB120_v2 pomocí klíčů SSH, které se automaticky vygenerovaly.

    ssh azureuser@<VM-PUBLIC-IP-ADDRESS>
    
  6. Nainstalujte lstopo-no-graphics (z hwloc rpm).

    sudo yum install -y hwloc
    
  7. Spuštěním příkazu lstopo-no-graphics určete topologii NUMA.

    lstopo-no-graphics 2>&1 | tee lstopo-no-graphics.out
    
  8. Poznamenejte si základní ID a v jakých uzlech domény NUMA jsou členy.

Mapování ID jader HB120v2 na 30 domén NUMA jsou: 0-3, 4-7, 8-11, 12-15, 16-19, 20-23, 24-27, 28-31, 32-35, 36-39, 40-43, 44-47, 48-51, 52-55, 56-59, 60-63, 64-67, 68-71, 72-75, 76-79, 80-83, 84-87, 88-91, 92-95, 96-99, 100-103, 104-107, 108-111, 112-115 a 116-119.

Díky tomuto mapování NUMA teď víte, kam připnout procesy a vlákna. Každý proces by měl být namapován na vlastní doménu NUMA. Pouze pro procesy MPI zkuste spustit jeden, dva, tři nebo čtyři procesy na doménu NUMA. Podívejte se, které mapování poskytuje nejlepší výkon (například: nižší čas hodin zdí). V případě hybridních paralelních aplikací seskupte proces a jeho vlákna do stejné domény NUMA. Další lekce MPI ukazuje, jaké argumenty příkazového řádku MPI se mají použít k připnutí procesů na domény NUMA.