Hälsokontroller för virtuella HPC-datorer

Slutförd

Azure tillhandahåller flera automatiserade tester för att identifiera virtuella datorer med feltillstånd. Genom att använda de här automatiserade testerna kan du ta bort en virtuell dator (VM) som inte är felfri från flottan när de upptäcks och innan kunderna har möjlighet att komma åt dem. Men ibland fångar dessa automatiserade tester inte alla virtuella datorer med feltillstånd.

Kommentar

De automatiserade hälsokontrollerna i Azure uppdateras och förbättras kontinuerligt.

Vissa HPC-program (databehandling med höga prestanda), särskilt HPC-program som är nära kopplade, är känsliga för virtuella datorer som inte är felfria. Den här känsligheten kan orsaka att ett HPC-program får ett körningsfel eller körs långsammare än förväntat. Risken för att du kan stöta på en felaktig virtuell dator ökar när skalan för ditt nära kopplade HPC-program ökar.

Som en försiktighetsåtgärd bör du köra egna hälsokontroller, särskilt när du kör tätt kopplade HPC-program i stor skala. Om du kör egna hälsokontroller ökar sannolikheten för att köra dina HPC-program optimalt i stor skala.

Vi rekommenderar att din virtuella dators hälsotillstånd kontrollerar att följande komponenter fungerar och fungerar som förväntat: InfiniBand-nätverk, minne, lagring och CPU-kärnor.

Hälsokontroller för InfiniBand

I de flesta scenarier räcker det med att mäta punkt-till-punkt-svarstid och bandbredd via ett ping-pong-test (skicka och ta emot ett meddelande) för att verifiera hälsotillståndet för InfiniBand-nätverket.

Intel IMP-MPI1 PingPong-testet är ett användbart alternativ eftersom det är fördefinierat och tillgängligt på CentOS HPC 7.7+-avbildningen på Azure Marketplace. Det finns en version som ingår i Intel MPI-miljön (meddelandeöverföringsgränssnittet) och en version i HPC-X MPI-miljön, även om du vanligtvis får bästa svarstid och bandbreddsprestanda med hjälp av HPC-X-versionen. Skript för att köra Intel IMP-MPI1 PingPong-tester är tillgängliga i IMB-MPI benchmarks-projektet.

I följande tabell visas förväntad svarstid och bandbredd för InfiniBand-nätverket som mäts via ett HPC-X Intel IMB-IMP1 PingPong-riktmärke på virtuella HPC-datorer. Värden som ligger utanför följande intervall anses vara felaktiga.

VM-SKU Förväntad nätverksfördröjning Förväntad nätverks-bandwidth
HB120_v2 < 2 μs > 23,0 GB/s
HC44 < 2 μs > 11,5 GB/s
HB60 < 2 μs > 11,5 GB/s

Andra verktyg och riktmärken att tänka på är osu-micro-benchmarks och Mellanox ClusterKit. Den senare är också förinstallerad i CentOS HPC 7.7+ Azure Marketplace-avbildningen i HPC-X-miljön. Exempel på ClusterKit-skript är tillgängliga i azure health-check scripts-projektet.

Hälsokontroller för minne

Att mäta minnesbandbredden är ett bra sätt att kontrollera att en virtuell dators minne är felfritt. Intel Memory Latency Checker (MLC) är ett användbart verktyg för att mäta minnesbandbredden. Andra alternativ är att skapa och köra dataströmsmåttet eller använda ClusterKit, som också kan mäta minnesbandbredd. Du hittar exempelskript i azure health-check scripts-projektet.

Följande tabell visar den förväntade uppmätta minnesbandbredden på var och en av de virtuella HPC-datorer som kör Intel MLC. Minnesbandbredder som ligger utanför dessa intervall anses vara felaktiga.

VM-SKU Förväntad minnesbandbredd
HB120_v2 > 300 GB/s
HC44 > 200 GB/s
HB60 > 250 GB/s

Hälsokontroller för lagring

Det är viktigt att förstå vilken lagringslösning du använder och dess förväntade I/O-prestanda och sedan verifiera den förväntade I/O-prestandan genom att köra ett I/O-riktmärke. Du kan välja mellan flera I/O benchmark-verktyg:

För att mäta lagringshälsan skapar du det maximala I/O-dataflödet för att generera ett IOPS-riktmärke. Sedan jämför du dina uppmätta I/O-prestandaresultat med den förväntade I/O-prestandan för din lagringslösning.

Du hittar exempel på IOR-skript i IOR- och mdtest-projektet. Du hittar exempel på FIO-skript i FIO-projektet.

CPU-kärnhälsa

Ett bra sätt att kontrollera att dina CPU-kärnor är felfria och fungerar som förväntat är att mäta maximala flyttalsåtgärder per sekund (FLOPS). Jämför sedan dina uppmätta resultat med teoretiska förväntade FLOPS.

Du kan använda Linpack med höga prestanda (HPL) för att mäta maximala FLOPPAR. En sidofördel med att köra HPL är att det kan hjälpa till att identifiera några felaktiga minnes-DIMM:er (dubbla in-line-minnesmoduler). Dessutom kan det hjälpa till att utvärdera HPC-klustrets övergripande hälsa, eftersom det utför vissa begränsade tester för nära kopplad kommunikation.

HPC-datacenter använder ofta HPL för att bränna i ett nytt HPC-system. Du hittar exempel på HPL-skript i linpack-projektet.