Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

AMD Rome: è reale? Architettura e prestazioni HPC iniziali (in inglese)

Summary: Nel HPC mondo di oggi, un'introduzione all'ultima generazione di processori di EPYC di ultima generazione denominata Roma.

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Kochhar, Cherlopalle, Weage, Joshua. HPC e laboratorio di innovazione AI, 2019 ottobre

Cause

 

Resolution


Nel HPC mondo di oggi, l'ultima generazione di processori di EPYCSLN319015_en_US__1iC_External_Link_BD_v1 con il nome di Roma ha appena bisogno di un'introduzione. Abbiamo valutato i sistemi basati su Roma nel laboratorio di HPC e ai Innovation in questi ultimi mesi e dell Technologies server recentemente annunciatiSLN319015_en_US__1iC_External_Link_BD_v1 che supportano questa architettura del processore. Questo primo Blog nella serie Rome discuterà l'architettura del processore di Roma, in che modo è possibile ottimizzare le prestazioni HPC e presentare le prestazioni iniziali di micro-benchmark. I Blog successivi descrivono le prestazioni delle applicazioni tra i domini di CFD, CAE, Dynamics molecolare, simulazione del tempo e altre applicazioni.


 

Architettura

 

Roma è la CPU EPYC di seconda generazione di AMD, aggiornando la Napolidi prima generazione. Abbiamo discusso di Napoli in questo Blog lo scorso anno.

Una delle principali differenze architettoniche tra Napoli e Roma che avvantaggia HPC è il nuovo IO die a Roma. A Roma, ciascun processore è un pacchetto multi-chip composto da un massimo di 9 chiplets , come mostrato nella figura 1. C'è un 14nm IO die centrale che contiene tutte le funzioni di i/o e la memoria: Think controller di memoria, link Infinity Fabric all'interno del socket e connettività tra socket e PCI-e. Ci sono otto controller di memoria per zoccolo che supportano otto canali di memoria in cui è in corso DDR4 a 3200 MT/s. Un server con singolo socket può supportare fino a 130 PCIe corsie Gen4. Un sistema a doppio socket può supportare fino a 160 PCIe corsie Gen4.

SLN319015_en_US__3Fig1-Roma (2)

(Figura. 1 pacchetto multi-chip di Roma con un dado di i/o centrale e matrici fino a otto core)

Circondando l'IO muoiono centrali sono fino a otto 7Nm Core chiplets. Il core chiplet viene chiamato Core cache die o CCD. Ogni CCD ha core CPU basati sulla micro-architettura zen2, cache L2 e 32 MB di cache L3. Il CCD di per sé ha due core cache complexes (CCX), SLN319015_en_US__1iC_External_Link_BD_v1 ciascuno dei CCX ha un massimo di quattro core e 16 MB di cache L3. La figura 2 Mostra un CCX.

SLN319015_en_US__5Fig2-Roma (2)

(Figura. 2 a CCX con quattro core e 16 MB di cache L3 condivisa)

I diversi modelli di CPU di RomaSLN319015_en_US__1iC_External_Link_BD_v1 hanno un numero diverso di core,SLN319015_en_US__1iC_External_Link_BD_v1 ma tutti hanno un io muoio centrale.

Nella parte superiore si trova un modello di CPU core 64, ad esempio, EPYC 7702. l'output di lstopo ci mostra questo processore ha 16 CCXs per zoccolo, ogni CCX ha quattro core, come mostrato nella figura 3 & 4, ottenendo così 64 core per zoccolo. 16 MB di L3 per CCX, cioè 32MB L3 per CCD, offre al processore un totale di 256MB di memoria cache L3. Si noti, tuttavia, che la cache L3 totale di Roma non è condivisa da tutti i core. La cache L3 da 16 MB in ogni CCX è indipendente e viene condivisa solo dai Core di CCX come illustrato nella figura 2.

Una CPU a 24 core come EPYC 7402 ha 128MB di memoria cache L3. l'output di lstopo in figura 3 & 4 illustra che questo modello ha tre core per CCX e 8 CCX per zoccolo.

SLN319015_en_US__8Fig31-Roma (2)

SLN319015_en_US__9Fig32-Roma (2)

(Figura. 3 & 4 output Lstopo per CPU 64-core e 24 core)

Indipendentemente dal numero di CCD, ciascun processore Rome è suddiviso in modo logico in quattro quadranti con CCD distribuiti in modo uniforme tra i quadranti come possibile e due canali di memoria in ogni quadrante. Il dado di i/o centrale può essere pensato come supporto logico dei quattro quadranti dello zoccolo.


Torna all'inizio

 

 

Opzioni del BIOS basate sull'architettura di Roma

 

L'IO die centrale di Roma aiuta a migliorare le latenze di memoriaSLN319015_en_US__1iC_External_Link_BD_v1 su quelle misurate a Napoli. Inoltre, consente alla CPU di essere configurata come un singolo dominio NUMA, in modo da consentire l'accesso alla memoria uniforme per tutti i core nel socket. Questa spiegazione è riportata di seguito.

I quattro Logical Quadrant di un processore Rome consentono di partizionare la CPU in domini NUMA diversi. Questa impostazione è chiamata NUMA per socket o NPS.

  • NPS1 implica che la CPU di Roma è un singolo dominio NUMA, con tutti i core nel socket e tutta la memoria in questo dominio NUMA. La memoria è interleave tra otto canali di memoria. Tutti i device PCIe sul socket appartengono a questo singolo dominio NUMA
  • NPS2 partiziona la CPU in due domini NUMA, con metà dei core e metà dei canali di memoria sullo zoccolo in ciascun dominio NUMA. La memoria è interfogliata tra i quattro canali di memoria in ciascun dominio NUMA
  • NPS4 suddivide la CPU in quattro domini NUMA. Ogni quadrante è un dominio NUMA qui e la memoria viene interfogliata tra i due canali di memoria in ogni quadrante. I device PCIe saranno locali per uno dei quattro domini NUMA sullo zoccolo a seconda del quadrante di i/o che ha la PCIe root per quel dispositivo
  • Non tutte le CPU sono in grado di supportare tutte le impostazioni di NPS

Ove disponibile, è consigliabile NPS4 per HPC poiché si prevede di fornire la larghezza di banda massima della memoria, le latenze di memoria più basse e le nostre applicazioni tendono a essere compatibili con NUMA. Dove NPS4 non è disponibile, si consiglia di utilizzare i NPS più alti supportati dal modello CPU-NPS2 o anche NPS1.

Considerata la moltitudine di opzioni NUMA disponibili su piattaforme basate su Roma, il BIOS PowerEdge consente due metodi di enumerazione core diversi in base all' enumerazione MADT. I numeri di enumerazione lineare si incaricano di riempire un CCX, CCD, zoccolo prima di passare al connettore successivo. Su una CPU 32C, i core da 0 a 31 saranno sul primo connettore, Core 32-63 sul secondo connettore. L'enumerazione Round Robin numera i core nelle aree NUMA. In questo caso, anche i core numerati saranno sul primo connettore, i core con numero dispari sul secondo connettore. Per semplicità, si consiglia l'enumerazione lineare per HPC. Vedere la figura. 5 per un esempio di enumerazione del core lineare su un server 64 quater a doppio socket configurato in NPS4. Nella figura, ciascuna scatola di quattro core è un CCX, ogni set di otto core adiacenti è un CCD.

SLN319015_en_US__11Fig4-Roma (2)

(Figura. 5 enumerazione del core lineare su un sistema a doppio socket, 64 quater per zoccolo, configurazione NPS4 su un modello di CPU da 8 CCD)

Un'altra opzione del BIOS di Roma specifica è chiamata dispositivo di i/o preferito. Si tratta di una sintonizzazione importante per la larghezza di banda e il tasso di messaggi InfiniBand. Consente alla piattaforma di assegnare priorità al traffico per un device IO. Questa opzione è disponibile su piattaforme a un socket e a Roma a due socket e il dispositivo InfiniBand nella piattaforma deve essere selezionato come dispositivo preferito nel menu del BIOS per ottenere il tasso di messaggi completo quando tutti i core CPU sono attivi.

Simile a Napoli, Roma supporta anche l'Hyper-Threading o il logical processor. Per HPC, lasciamo questo disabilitato, ma alcune applicazioni possono trarre vantaggio dall'abilitazione del processore logico. Cercare i nostri Blog successivi su studi di applicazioni di Dynamics molecolare.

Simile a Napoli, Roma consente inoltre a CCX come dominio NUMA. Questa opzione espone ogni CCX come nodo NUMA. In un sistema con CPU a doppio socket con 16 CCXs per CPU, questa impostazione esporrà 32 domini NUMA. In questo esempio, ciascun connettore ha 8 CCD, ovvero 16 CCX. Ogni CCX può essere abilitato come dominio NUMA, fornendo 16 nodi NUMA per socket e 32 in un sistema a due socket. Per HPC, si consiglia di lasciare CCX come dominio NUMA all'opzione predefinita di Disabled (disabilitata). L'abilitazione di questa opzione è prevista per aiutare gli ambienti virtualizzati.

Simile a Napoli, Roma permette al sistema di essere impostato in modalità di determinismo delle prestazioni o di determinismo energetico . Nel determinismo delle prestazioni, il sistema opera sulla frequenza prevista per il modello di CPU riducendo la variabilità su più server. Nel determinismo energetico, il sistema opera al TDP massimo disponibile del modello CPU. In questo modo si amplificano le variazioni di parte nel processo di produzione, consentendo ad alcuni server di essere più veloci rispetto ad altri. Tutti i server possono consumare la potenza nominale massima della CPU, rendendo il consumo energetico deterministico, ma consentendo una certa variazione delle prestazioni su più server.

Come prevedibile dalle piattaforme di PowerEdge, il BIOS ha un'opzione meta denominata profilo di sistema. Se si seleziona il profilo di sistema ottimizzato per le prestazioni, si attiva la modalità Turbo Boost, si disabilitano gli stati C e si imposta il dispositivo di scorrimento determinismo per il determinismo, ottimizzando le prestazioni.


Torna all'inizio

 

 

Risultati delle prestazioni: STREAM, HPL, microbenchmark InfiniBand

 

Molti dei nostri lettori potrebbero essere saltati dritti in questa sezione, quindi ci occuperemo subito.

Nel laboratorio di innovazione di HPC e AI, abbiamo costruito un cluster basato su Roma 64-server che chiameremo Minerva. Oltre al cluster Minerva omogeneo, abbiamo a disposizione alcuni esempi di CPU di Roma che siamo stati in grado di valutare. Il nostro banco di verifica è descritto in Table. 1 e Table. 2.

(Tabella. 1 modelli di CPU di Roma valutati in questo studio)

CPU Core per zoccolo Config Orologio base TDP
7702 64 quater 4C per CCX 2,0 GHz 200W
7502 32C 4C per CCX 2,5 GHz 180W
7452 32C 4C per CCX 2,35 GHz 155 W
7402 24C 3C per CCX 2,8 GHz 180W

(Banco. 2 )

Componente Dettagli
Server PowerEdge C6525
Processore Come mostrato nella tabella. 1 dual-socket
Memoria 256 GB, 16x16GB 3200 MT/s DDR4
Interconnessione ConnectX-6 Mellanox Infini band HDR100
Sistema operativo Red Hat Enterprise Linux 7.6
Kernel 3.10.0.957.27.2.e17.x86_64
Disco modulo SSD M. 2 da 240 GB SATA


Torna all'inizio

 

 

FLUSSO

 

I test sulla larghezza di banda di memoria su Roma sono riportati nella figura. 6, questi test sono stati eseguiti in modalità NPS4. Abbiamo misurato la larghezza di banda della memoria di ~ 270-300 GB/s sul nostro dual-socket PowerEdge C6525 quando si utilizzano tutti i core nel server tra i quattro modelli di CPU elencati nella tabella. 1. Quando viene utilizzato un solo core per CCX, la larghezza di banda della memoria di sistema è di ~ 9-17% superiore a quella misurata con tutti i core.

La maggior parte dei workload di HPC si abbonano completamente a tutti i core nel sistema, oppure i HPC Center vengono eseguiti in modalità a throughput elevato con più job su ogni server. Di conseguenza, la larghezza di banda della memoria all-core è la rappresentazione più accurata delle funzionalità di larghezza di banda di memoria e di larghezza di banda per core del sistema.

La figura. 6 traccia anche la larghezza di banda della memoria misurata sulla piattaforma EPYC Naples di nuova generazione, che supportava anche otto canali di memoria per zoccolo, ma con 2667 mt/s. La piattaforma di Roma offre una larghezza di banda di memoria totale superiore dal 5% al 19% rispetto a Napoli e ciò avviene prevalentemente grazie alla memoria di 3200 MT/s più veloce. Anche con 64 quater per zoccolo, il sistema Rome può fornire un massimo di 2 GB/s/Core.

SLN319015_en_US__12icon Nota: Una variazione delle prestazioni del 5-10% nei risultati della triade di flusso è stata misurata su più server basati su Roma configurati in modo identico, i risultati riportati di seguito devono pertanto essere considerati come l'estremità superiore dell'intervallo.
 

Confrontando le diverse configurazioni di NPS, la larghezza di banda di memoria di ~ 13% più alta è stata misurata con NPS4 rispetto a NPS1, come illustrato nella figura 7.

SLN319015_en_US__13Fig5-Roma (2)

(Figura. 6 larghezza di banda di memoria triade NPS4 a doppio connettore)

SLN319015_en_US__14Fig6-Roma (2)

(Figura. 7 NPS1 rispetto a NPS2 vs NPS 4 larghezza di banda)


Torna all'inizio

 

 

Larghezza di banda e tasso di messaggi InfiniBand

 

La figura. 8 traccia la larghezza di banda InfiniBand single-core per i test unidirezionali e bidirezionali. Il banco di prova ha utilizzato HDR100 in esecuzione a 100 Gbps e il grafico mostra le prestazioni di tasso di linea previste per questi test.

SLN319015_en_US__15fig6-IBBW (2)

Figura. 8 larghezza di banda InfiniBand (Single-Core))

SLN319015_en_US__16fig7-MR (2)

Figura. 9 tasso di messaggi InfiniBand (tutti i core))

I test di frequenza dei messaggi sono stati eseguiti successivamente utilizzando tutti i core su un socket nei due server sottoposto a test. Quando l'i/o preferito è abilitato nel BIOS e l'adattatore HDR100 ConnectX-6 è configurato come dispositivo preferito, la frequenza dei messaggi All-core è significativamente superiore a quella in cui l'i/o preferito non è abilitato, come mostrato nella figura 9. Ciò dimostra l'importanza di questa opzione del BIOS quando si esegue l'ottimizzazione per HPC e in particolare per la scalabilità delle applicazioni a più nodi.


Torna all'inizio

 

 

HPL

 

La micro-architettura di Roma può ritirare 16 DP FLOP/Cycle, il doppio di Napoli, che è stato di 8 FLOP/ciclo. Questo offre a Roma 4x le vette teoriche su Napoli, 2x dalla funzionalità a virgola mobile avanzata e 2x dal doppio del numero di core (64 quater vs 32C). La figura. 10 traccia i risultati HPL misurati per i quattro modelli di CPU di Roma testati, insieme ai risultati precedenti di un sistema basato su Napoli. L'efficienza di Roma HPL è nota come valore percentuale sopra le barre sul grafico ed è più alta per i modelli di CPU inferiore di TDP.

I test sono stati eseguiti in modalità di determinizzazione del risparmio di energia e un Delta di ~ 5% in termini di prestazioni è stato misurato su 64 server configurati in modo identico, i risultati qui sono così in quella fascia di prestazioni.

SLN319015_en_US__17Fig9-Roma (2)

(Figura 10 singolo server HPL in NPS4)

I successivi test HPL a più nodi sono stati eseguiti e i risultati sono tracciati in figura 11. Le efficienze di HPL per EPYC 7452 restano al di sopra del 90% a una scala a 64 nodi, ma il calo di efficienza dal 102% al 97% e il backup fino al 99% necessitano di ulteriore valutazione.

SLN319015_en_US__18Fig10-Roma (2)

(Figura. 11 multi-nodo HPL, doppio connettore EPYC 7452 su HDR100 InfiniBand)


Torna all'inizio

 

 

Riepilogo e informazioni di prossima uscita

 

Gli studi sulle prestazioni iniziali sui server basati su Roma mostrano le prestazioni previste per il primo set di benchmark HPC. La sintonizzazione del BIOS è importante quando si configurano per ottenere le migliori prestazioni e le opzioni di ottimizzazione sono disponibili nel nostro profilo del workload HPC BIOS che può essere configurato in fabbrica o impostato utilizzando Dell EMC utilità di gestione dei sistemi.

Il laboratorio di innovazione di HPC e Ia ha un nuovo cluster PowerEdge basato su Roma 64-server Minerva. Osservare questo spazio per i Blog successivi che descrivono gli studi sulle prestazioni delle applicazioni sul nuovo cluster Minerva.


Torna all'inizio

 

Article Properties


Last Published Date

06 May 2021

Version

5

Article Type

Solution