Controlli di integrità per macchine virtuali HPC

Completato

Azure offre diversi test automatizzati che consentono di identificare le macchine virtuali (VM) non integre. L’uso di questi test automatizzati consente di rimuovere le macchine virtuali non integre dalla flotta quando vengono individuate e prima che i clienti abbiano la possibilità di accedervi. Tuttavia, a volte questi test automatizzati non individuano tutte le macchine virtuali non integre.

Nota

I controlli di integrità automatizzati in Azure vengono aggiornati e migliorati continuamente.

Alcune applicazioni HPC, in particolare le applicazioni HPC strettamente associate, sono sensibili alle macchine virtuali non integre. Questa sensibilità può causare errori di runtime o un'esecuzione più lenta del previsto per un'applicazione HPC. Le possibilità di incontrare una VM non integra aumentano con l'aumentare della scalabilità dell'applicazione HPC strettamente associata.

Come precauzione, è consigliabile eseguire controlli di integrità personalizzati, soprattutto quando si eseguono applicazioni HPC strettamente associate su larga scala. L'esecuzione di controlli di integrità personalizzati aumenta la probabilità che si continuino a eseguire le applicazioni HPC in modo ottimale su larga scala.

È consigliabile che i controlli di integrità della macchina virtuale verifichino che i componenti seguenti funzionino come previsto: rete InfiniBand, memoria, archiviazione e core CPU.

Controlli di integrità InfiniBand

Nella maggior parte degli scenari, la misurazione della latenza e della larghezza di banda di InfiniBand da punto a punto tramite un test ping-pong (invio e ricezione di un messaggio) è sufficiente per verificare l'integrità della rete InfiniBand.

Il test Intel IMP-MPI1 PingPong è un'opzione utile perché è precompilata e disponibile nell'immagine di CentOS HPC 7.7+ in Azure Marketplace. Esiste una versione inclusa nell'ambiente di Intel MPI e una versione nell'ambiente di HPC-X MPI, sebbene in genere si ottengano prestazioni di latenza e larghezza di banda migliori usando la versione HPC-X. Gli script per l'esecuzione dei test Intel IMP-MPI1 PingPong sono disponibili nel progetto benchmark IMB-MPI.

La tabella seguente illustra la latenza di rete e la larghezza di banda InfiniBand previste, misurate tramite un benchmark HPC-X Intel IMB-IMP1 PingPong nelle VM HPC. I valori che non rientrano negli intervalli seguenti sono considerati non integri.

SKU di VM Latenza di rete prevista Larghezza di banda di rete prevista
HB120_v2 < 2 μs > 23,0 GB/s
HC44 < 2 μs > 11,5 GB/s
HB60 < 2 μs > 11,5 GB/s

Altri strumenti e benchmark da considerare sono osu-micro-benchmarks e Mellanox ClusterKit. Quest'ultimo è anche preinstallato nell'immagine CentOS HPC 7.7+ di Azure Marketplace nell'ambiente HPC-X. Gli script ClusterKit di esempio sono disponibili nel progetto di script di controllo di integrità di Azure.

Controlli di integrità della memoria

Un modo efficace per verificare che la memoria di una macchina virtuale sia integra consiste nel misurare la larghezza di banda della memoria. Intel Memory Latency Checker (MLC) è uno strumento utile per il benchmark della larghezza di banda della memoria. Altre opzioni sono la compilazione e l'esecuzione del benchmark del flusso o l'uso di ClusterKit, che può misurare anche la larghezza di banda della memoria. È possibile trovare gli script di esempio nel progetto di script di controllo di integrità di Azure.

La tabella seguente mostra la larghezza di banda della memoria prevista in ogni VM HPC che esegue Intel MLC. Le larghezze di banda della memoria esterne a questi intervalli sono considerate non integre.

SKU di VM Larghezza di banda di memoria prevista
HB120_v2 > 300 GB/s
HC44 > 200 GB/s
HB60 > 250 GB/s

Controlli di integrità dell'archiviazione

È importante comprendere quale soluzione di archiviazione si sta usando e le prestazioni di I/O previste, quindi verificarle eseguendo un benchmark di I/O. È possibile scegliere tra diversi strumenti di benchmark di I/O:

Per misurare l'integrità di archiviazione, è necessario creare la massima velocità effettiva di I/O per generare un benchmark di operazioni di I/O al secondo. Confrontare quindi i risultati dei benchmark di I/O misurati con le prestazioni di I/O previste per la soluzione di archiviazione.

È possibile trovare gli script IOR di esempio nel progetto IOR e mdtest. È possibile trovare gli script FIO di esempio nel progetto FIO.

Integrità core CPU

Un ottimo modo per verificare che i core CPU siano integri e funzionino come previsto consiste nel misurare le operazioni a virgola mobile al secondo (FLOPS) massime, quindi confrontare i risultati misurati con le operazioni a virgola mobile al secondo teoriche previste.

È possibile usare High Performance Linpack (HPL) per misurare le FLOPS massime. Un vantaggio collaterale dell'esecuzione di HPL è che può aiutare a identificare alcuni DIMMM (moduli di memoria doppia in linea) di memoria non valida. Può anche aiutare a valutare l'integrità complessiva del cluster HPC, perché esegue alcuni test limitati per la comunicazione strettamente associata.

I data center HPC spesso usano HPL per il burn-in di un nuovo sistema HPC. È possibile trovare script HPL di esempio nel progetto Linpack.