Oefening: de juiste NUMA-toewijzing voor een HPC-SKU zoeken

Voltooid

Een van de nauw gekoppelde HPC-toepassingen van uw R&D-team maakt gebruik van hybride parallellisatie (MPI+threads) voor prestaties. Het team heeft vastgesteld dat HB120_v2 de beste SKU voor deze toepassing is en dat het team de optimale plaats moet bepalen om het proces en de threads vast te maken.

In de volgende oefening volgt u de procedure die uw R&D-team heeft gebruikt om de HB120_v2 NUMA-topologie te bepalen en te ontdekken welke CPU-id's overeenkomen met welke NUMA-domeinen.

Notitie

Deze oefening is optioneel. Als u deze oefening wilt voltooien, moet u een Azure-abonnement maken voordat u begint. Als u geen Azure-account hebt of als u er op dit moment geen wilt maken, kunt u de instructies doorlezen zodat u de informatie begrijpt die wordt gepresenteerd.

  1. Open een opdrachtprompt waarop de Azure CLI is geïnstalleerd.

  2. Meld u aan bij uw Azure-account. Deze stap zorgt ervoor dat u gemachtigd bent om resources te implementeren.

    az login
    
  3. Maak een resourcegroep. U implementeert de HB120_v2 VM in deze resourcegroep. Vervang RESOURCE-GROUP_NAME door een unieke naam van uw keuze en vervang LOCATION door een locatie bij u in de buurt (bijvoorbeeld eastus).

    az group create \
       --name <RESOURCE-GROUP_NAME> \
       --location <LOCATION>
    
  4. Maak een HB120_v2-VM die gebruikmaakt van de CentOS-HPC 7.8-installatiekopieën van Azure Marketplace. Vervang RESOURCE-GROUP_NAME door de resourcegroep die u in de laatste stap hebt gemaakt en vervang VM-NAAM door een unieke naam van uw keuze.

    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
    

    Het kan enige tijd duren voordat deze opdracht is voltooid. Wanneer uw VIRTUELE machine is gemaakt, noteert u het publicIpAddress van de virtuele machine. Deze maakt deel uit van de JSON-uitvoer. U gebruikt dit IP-adres in de volgende stap.

  5. Meld u aan bij uw HB120_v2-VM met behulp van de ssh-sleutels die automatisch zijn gegenereerd.

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

    sudo yum install -y hwloc
    
  7. Voer lstopo-no-graphics uit om de NUMA-topologie te bepalen.

    lstopo-no-graphics 2>&1 | tee lstopo-no-graphics.out
    
  8. Noteer de kern-id's en in welke NUMA-domeinknooppunten ze lid zijn.

De toewijzingen van HB120v2-kern-id's aan de 30 NUMA-domeinen zijn: 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-9 5, 96-99, 100-103, 104-107, 108-111, 112-115 en 116-119.

Met deze NUMA-toewijzingsgegevens weet u nu waar processen en threads moeten worden vastgemaakt. Elk proces moet worden toegewezen aan een eigen NUMA-domein. Voer voor MPI-processen slechts één, twee, drie of vier processen per NUMA-domein uit. Bekijk welke toewijzing de beste prestaties biedt (bijvoorbeeld een lagere kloktijd). Voor hybride parallelle toepassingen groepeert u het proces en de bijbehorende threads in hetzelfde NUMA-domein. In de volgende MPI-eenheid ziet u welke MPI-opdrachtregelargumenten moeten worden gebruikt om processen vast te maken aan NUMA-domeinen.