Passer au contenu principal
  • Passer des commandes rapidement et facilement
  • Afficher les commandes et suivre l’état de votre expédition
  • Profitez de récompenses et de remises réservées aux membres
  • Créez et accédez à une liste de vos produits
  • Gérer vos sites, vos produits et vos contacts au niveau des produits Dell EMC à l’aide de la rubrique Gestion des informations de l’entreprise.

Prestazioni delle applicazioni HPC su C4140 con configurazione M

Résumé: dettagli sull'aggiunta di una nuova soluzione "configurazione M" a Dell EMC PowerEdge C4140.

Cet article a peut-être été traduit automatiquement. Si vous avez des commentaires concernant sa qualité, veuillez nous en informer en utilisant le formulaire au bas de cette page.

Contenu de l’article


Symptômes

L'articolo è stato scritto da Frank Han, Rengan Xu e Quy Ta di Dell EMC HPC & AI Innovation Lab nel mese di gennaio 2019

Résolution

Abstract

Recentemente è stata aggiunta a Dell EMC PowerEdge C4140 una nuova soluzione "configurazione M". Poiché quest'ultima opzione riguarda la famiglia C4140, questo articolo presenta i risultati dello studio di valutazione delle prestazioni della configurazione M rispetto alla configurazione K per varie applicazioni HPC, ovvero HPL, GROMACS e NAMD.

Panoramica

PowerEdge C4140 è un server rack 1U a 2 socket. Include il supporto dei processori Intel Skylake, fino a 24 slot DIMM e quattro schede GPU NVIDIA Volta double-width. Nella famiglia di server C4140, le due configurazioni che supportano NVLINK sono la configurazione K e la configurazione M. Il confronto delle due topologie è illustrato nella Figura 1. Le due principali differenze tra queste due configurazioni sono le seguenti:

  1. Larghezza di banda PCIe più elevata. Nella configurazione K le CPU sono collegate a quattro GPU tramite un solo link PCIe. Nella configurazione M ogni GPU è collegata alla CPU direttamente con un link PCIe dedicato. Di conseguenza, nella configurazione K ci sono quattro link PCIe in totale tra le due CPU con quattro GPU che forniscono una larghezza di banda PCIe superiore.
  2. Latenza inferiore. La configurazione M non presenta switch PCIe tra la CPU e le GPU. Le connessioni dirette riducono il numero di hop per la trasmissione dei dati tra CPU e GPU e di conseguenza la latenza di andata e ritorno risulta inferiore nella configurazione M.
    SLN315976_en_US__1image 1
Questo blog presenta le prestazioni delle applicazioni HPC su queste due configurazioni. Abbiamo utilizzato come benchmark HPL, GROMACS e NAMD con GPU V100-SXM2 da 16 G. La tabella 1 elenca i dettagli dell'hardware e del software.
SLN315976_en_US__2table

p2pBandwidthLatencyTest 


SLN315976_en_US__3latency
Figura 2. Latenza tra schede con P2P disabilitato su C4140 con configurazione K ed M

p2pBandwidthLatencyTest è un micro-benchmark incluso nell'SDK CUDA. Misura la latenza tra schede e la larghezza di banda con e senza tecnologia GPUDirect™ Peer-to-Peer abilitata. Il focus in questo test riguarda la parte relativa alla latenza, poiché questo programma non misura contemporaneamente la larghezza di banda. La discussione sulla larghezza di banda reale disponibile per le applicazioni è riportata nella sessione HPL di seguito. I numeri nella Figura 2 sono la media di 100 volte la latenza unidirezionale tra schede in microsecondi. Ogni volta che il codice invia un byte da una scheda all'altra, il numero con P2P disabilitato viene riportato in questo grafico e con P2P abilitato i dati vengono invece trasferiti tramite NVLINK. La latenza PCIe della configurazione M è di 1,368 us inferiore rispetto alla configurazione K a causa delle diverse topologie PCIe.

 

HPL (High Performance Linpack) 

SLN315976_en_US__41(18)
(a) Prestazioni
SLN315976_en_US__52(14)
(b) Larghezza di banda PCIe media per ogni GPU V100
SLN315976_en_US__63(12)
(c) Consumo energetico di un'esecuzione HPL

La Figura 3 (a) mostra le prestazioni HPL sulla piattaforma C4140 con 1, 2, 4 e 8 GPU V100-SXM2. I risultati relativi a 1-4 GPU si riferiscono a un singolo C4140, il risultato delle prestazioni relativo a 8 GPU si riferisce a due server. In questo test, la versione HPL utilizzata è fornita da NVIDIA e viene compilata con la recente versione CUDA 10 e OpenMPi. In base ai risultati HPL, è possibile osservare i seguenti aspetti:

1) Nodo singolo. Con tutte le 4 GPU sottoposte a test, la configurazione M è di circa il 16% più veloce rispetto alla configurazione K. Prima di iniziare l'elaborazione, l'applicazione HPL misura la larghezza di banda PCIe D2H (Device-to-Host) e H2D (Host-to-Device) disponibile per ogni scheda GPU nel momento in cui tutte le schede trasferiscono i dati contemporaneamente. In questo modo si ottengono informazioni utili sulla larghezza di banda PCIe reale per ogni scheda quando HPL copia la matrice N*N sulle memorie di tutte le GPU nello stesso momento. Come illustrato nella Figura 3 (b), i numeri D2H e H2D della configurazione M sono molto più elevati e raggiungono il throughput teorico di PCIe x16. Ciò corrisponde alla topologia hardware, in quanto ogni GPU della configurazione M dispone di un link PCIe x16 dedicato alla CPU. Nella configurazione K, tutti i quattro V100 devono condividere un singolo link PCIe x16 tramite lo switch PLX PCIe, per cui per ognuno di essi sono disponibili solo 2,5 GB/s. A causa della differenza di larghezza di banda, la configurazione M ha richiesto 1,33 secondi per copiare la matrice N*N da 16 GB in 4 parti sulla memoria globale di ogni GPU, mentre la configurazione K ha richiesto 5,33 secondi. L'intera applicazione HPL viene eseguita per circa 23-25 secondi. Poiché tutti i V100-SXM2 sono uguali, il tempo di elaborazione è lo stesso. Quindi questo risparmio di 4 secondi nella copia dei dati rende la configurazione M del 16% più veloce.

2) Nodi multipli. I risultati di 2 nodi C4140 con 8 GPU mostrano un miglioramento HPL di oltre il 15% in due nodi. Ciò significa che la configurazione M presenta una migliore scalabilità tra i nodi rispetto alla configurazione K per lo stesso motivo delle 4 schede a nodi singoli del caso precedente.

3) Efficienza. Il consumo energetico è stato misurato con iDRAC. La Figura 3 (c) mostra la potenza in una serie temporale. Entrambi i sistemi raggiungono un picco di 1.850 W a causa del numero di GFLOPS più elevato; la configurazione M offre prestazioni più elevate per numero di watt ed efficienza HPL. 

HPL è un benchmark del livello del sistema e i relativi risultati sono determinati da componenti come CPU, GPU, memoria e larghezza di banda PCIe. La configurazione M presenta una progettazione bilanciata tra le due CPU e pertanto supera la configurazione K in questo benchmark HPL.

 

GROMACS 

GROMACS è un'applicazione di dinamica molecolare open source progettata per la simulazione di molecole biochimiche come proteine, lipidi e acidi nucleici con numerose interazioni complesse. La versione 2018.3 è testata su un dataset Water-3072 con 3 milioni atomi.

 SLN315976_en_US__71(17)

Figura 4: Risultati delle prestazioni GROMACS con più V100 su C4140 con configurazione K ed M

La Figura 4 illustra il miglioramento delle prestazioni della configurazione M rispetto alla K. Le prestazioni delle schede singole sono identiche nelle due configurazioni, poiché non vi è alcuna differenza nel percorso dati. Con 2 e 4 GPU, la configurazione M è di circa il 5% più veloce della K. Quando testata su 2 nodi, la configurazione M offre prestazioni fino al 10% migliori, principalmente a causa del maggior del numero di connessioni PCIe, che forniscono una larghezza di banda più elevata e che consentono a più dati di alimentare rapidamente le GPU. GROMACS presenta una notevole accelerazione con le GPU ma questa applicazione utilizza sia CPU che GPU per il calcolo in parallelo. Pertanto, se GROMACS è l'applicazione principale di un cluster, si consiglia di utilizzare una CPU potente. Questo grafico mostra anche il dimensionamento delle prestazioni GROMACS con più server e più GPU. Anche se le prestazioni dell'applicazione aumentano con più GPU e più server, l'aumento delle prestazioni con altre GPU è inferiore rispetto a quello lineare.

 

NAMD (Nanoscale Molecular Dynamics)

NAMD è un codice di dinamica molecolare progettato per la simulazione ad alte prestazioni di sistemi biomolecolari di grandi dimensioni. In questi test, non è stato utilizzato il binario predefinito. NAMD è stato invece creato con il codice source più recente (NAMD_Git-2018-10-31) su CUDA 10. La Figura 4 traccia i risultati delle prestazioni con il dataset STMV (1.066.628 atomi, periodico, PME). I test su dataset più ridotti, ad esempio f1atpase (327.506 atomi, periodico, PME) e apoa1 (92.224 atomi, periodico, PME), hanno generato risultati di confronto simili tra la configurazione M e la configurazione K, non presentati qui per brevità. 

SLN315976_en_US__81(16)
Figura 5. Risultati delle prestazioni NAMD con più V100 su C4140 con configurazione K ed M

Come GROMACS, una larghezza di banda PCIe 4 volte maggiore favorisce le prestazioni in NAMD. La Figura 5 mostra che le prestazioni della configurazione M con 2 e 4 schede sono rispettivamente del 16% e del 30% superiori rispetto alla configurazione K sul dataset STMV. Si prevede che le prestazioni con scheda singola siano le stesse, poiché con una sola GPU sottoposta a test la larghezza di banda PCIe è identica.

 

Conclusioni e lavoro futuro

In questo blog, sono state messe a confronto le prestazioni delle applicazioni HPC con HPL, GROMACS e NAMD su due diverse configurazioni NVLINK di PowerEdge C4140. HPL, GROMACS e NAMD hanno prestazioni di circa il 10% migliori sulla configurazione M rispetto alla configurazione K. In tutti i test la configurazione M offre come minimo le stesse prestazioni della configurazione K, poiché dispone di tutte le ottime funzioni della configurazione K ma anche di più link PCIe e nessuno switch PCIe. In futuro, sono previsti ulteriori test con più applicazioni come RELION, HOOMD e AMBER, nonché test con la GPU V100 da 32 G.

Propriétés de l’article


Produit concerné

High Performance Computing Solution Resources, Poweredge C4140

Dernière date de publication

21 févr. 2021

Version

2

Type d’article

Solution