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: ¿qué tan realista es su rendimiento? Arquitectura y rendimiento inicial de HPC

Summary: En la HPC mundo de hoy, una introducción a la última generación del código del procesador EPYC de AMD con el nombre 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

Garima Kochhar, Deepthi Cherlopalle, Joshua weage. Laboratorio de innovación de HPC y AI, 2019 de octubre

Cause

 

Resolution


En la HPC mundo de hoy, el código del procesador EPYC de última generación de AMD, SLN319015_en_US__1iC_External_Link_BD_v1 denominado Roma , apenas necesita una introducción. Hemos evaluado los sistemas basados en Roma en la HPC y en el laboratorio de innovación de AI estos últimos meses y Dell Technologies anuncian recientementeSLN319015_en_US__1iC_External_Link_BD_v1los servidores que admiten esta arquitectura de procesador. En este primer blog de la serie Roma se analizará la arquitectura del procesador Roma, la forma en que se puede ajustar para HPC rendimiento y presenta el rendimiento de microbenchmark inicial. Los blogs posteriores describirán el rendimiento de las aplicaciones en todos los dominios de CFD, CAE, dinámica de molecular, simulación meteorológica y otras aplicaciones.


 

Arquitectura

 

Roma es EPYC CPU de segunda generación de AMD, actualización de su con Naplesde primera generación. Analizamos con Naples en este blog el último año.

Una de las principales diferencias de arquitectura entre con Naples y Roma, que beneficia HPC es la nueva matriz de i/o en Roma. En Roma, cada procesador es un paquete de varios chips que consta de hasta 9 chiplets , como se muestra en la figura 1. Hay un troquel central 14 nm de e/s que contiene todas las funciones de e/s y de memoria: Piense en las controladoras de memoria, los vínculos de la red Fabric de infinito dentro del socket y la conectividad entre sockets, y PCI-e. Hay ocho controladoras de memoria por socket que admiten ocho canales de memoria que ejecutan DDR4 en 3200 MT/s. Un servidor de un solo socket puede admitir hasta 130 PCIe calles Gen4. Un sistema de dos sockets puede admitir hasta 160 PCIe calles Gen4.

SLN319015_en_US__3Fig1-Roma (2)

(Figura 1 paquete de múltiples chips de Roma con una placa de e/s central y un máximo de ocho núcleos)

El interior de la placa de e/s central es de hasta ocho chiplets 7Nm Core. El chiplet principal se denomina un chip o un CCD de caché del núcleo. Cada CCD tiene cores de CPU basados en la microarquitectura de Zen2, la caché L2 y 32 MB de caché L3. El CCD en sí tiene dos complejos de caché de Core (CCX), SLN319015_en_US__1iC_External_Link_BD_v1 cada CCX tiene hasta cuatro núcleos y 16 MB de caché L3. La figura 2 muestra un CCX.

SLN319015_en_US__5Fig2-Roma (2)

(Figura 2 a CCX con cuatro cores y caché L3 de 16 MB compartida)

Los diferentes modelos de CPU de RomaSLN319015_en_US__1iC_External_Link_BD_v1 tienen distintos números de núcleos,SLN319015_en_US__1iC_External_Link_BD_v1 pero todos tienen una placa de e/s central.

En la parte superior se encuentra un modelo de CPU de 64 Core, por ejemplo, EPYC 7702. la salida de lstopo muestra que este procesador tiene 16 CCXs por socket, cada CCX tiene cuatro núcleos, como se muestra en la figura. 3 & 4, lo que genera 64 núcleos por Socket. 16 MB L3 por CCX es decir, 32 MB L3 por CCD proporciona a este procesador un total de 256 MB de caché L3. Sin embargo, tenga en cuenta que el total de la caché L3 en Roma no está compartida por todos los núcleos. La caché L3 de 16 MB en cada CCX es independiente y se comparte solo por los cores en el CCX, como se muestra en la figura 2.

Un CPU de 24 cores, como EPYC 7402, tiene 128 MB de caché L3. la salida de lstopo en la figura 3 & 4 ilustra que este modelo tiene tres núcleos por CCX y 8 CCX por Socket.

SLN319015_en_US__8Fig31-Roma (2)

SLN319015_en_US__9Fig32-Roma (2)

(Figura 3 & 4 lstopo de salida para cpu de 64-Core y 24 cores)

Independientemente de la cantidad de CCDs, cada procesador Roma se divide lógicamente en cuatro cuadrantes con CCD distribuidos de manera uniforme en los cuadrantes como sea posible y dos canales de memoria en cada cuadrante. La placa de e/s central se puede considerar como un soporte lógico para los cuatro cuadrantes del socket.


Volver al principio

 

 

Opciones del BIOS basadas en la arquitectura de Roma

 

La placa de e/s central en Roma ayuda a mejorar las latenciasSLN319015_en_US__1iC_External_Link_BD_v1 de memoria sobre las que se miden en con Naples. Además, permite que la CPU se configure como un único dominio de NUMA, lo que permite el acceso a la memoria uniforme para todos los núcleos en el socket. Esto se explica a continuación.

Los cuatro cuadrantes lógicos en un procesador de Roma permiten que el CPU se divida en diferentes dominios de NUMA. Esta configuración se denomina Numa por socket o NPS.

  • NPS1 implica que el CPU de Roma es un único dominio de NUMA, con todos los núcleos en el socket y toda la memoria de este dominio de NUMA. La memoria se entrelaza entre los ocho canales de memoria. Todos los dispositivos PCIe del socket pertenecen a este único dominio NUMA
  • NPS2 particiona la CPU en dos dominios NUMA, con la mitad de los cores y la mitad de los canales de memoria en el socket en cada dominio NUMA. La memoria se entrelaza entre los cuatro canales de memoria en cada dominio de NUMA
  • NPS4 particiona la CPU en cuatro dominios NUMA. Cada cuadrante es un dominio de NUMA aquí y la memoria se entrelaza entre los dos canales de memoria en cada cuadrante. PCIe dispositivos serán locales para uno de cuatro dominios de NUMA en el socket según el cuadrante de la matriz de i/o que tiene la raíz PCIe para ese dispositivo
  • No todas las CPU pueden admitir todas las configuraciones de NPS

Cuando está disponible, se recomienda el NPS4 para HPC, ya que se espera que proporcione el mejor ancho de banda de memoria, las latencias de memoria más bajas y nuestras aplicaciones tienden a ser compatibles con NUMA. Donde NPS4 no está disponible, se recomienda el nivel más alto de NPS compatible con el modelo de CPU: NPS2, o incluso NPS1.

Dada la gran variedad de opciones de NUMA disponibles en las plataformas basadas en Roma, el PowerEdge BIOS permite dos métodos de enumeración principales diferentes en la enumeración MADT. Los números de enumeración lineal se rellenan en orden, completando un conector de CCX, CCD, antes de pasar al siguiente Socket. En un CPU de 32C, los cores de 0 a 31 estarán en el primer zócalo, cores 32-63 en el segundo Socket. La enumeración Round Robin numera los cores en todas las regiones NUMA. En este caso, los cores con números pares se encontrarán en el primer zócalo, los núcleos con numeración impar en el segundo Socket. Para mayor simplicidad, recomendamos la enumeración lineal para HPC. Consulte la figura 5 para obtener un ejemplo de la enumeración de Core lineal en un servidor 64c de dos sockets configurado en NPS4. En la figura, cada caja de cuatro núcleos es un CCX, cada conjunto de ocho núcleos contiguos es un CCD.

SLN319015_en_US__11Fig4-Roma (2)

(Figura 5 enumeración de Core lineal en un sistema de dos sockets, 64c por socket, configuración de NPS4 en un modelo de CPU de 8 CCD)

Otra opción de BIOS específica de Roma se denomina dispositivo de e/s preferido. Se trata de un pomo de ajuste importante para el ancho de banda y la tasa de mensajes InfiniBand. Permite que la plataforma priorice el tráfico de un dispositivo de i/o. Esta opción está disponible en las plataformas de un socket y de dos sockets de Roma, y el dispositivo InfiniBand en la plataforma se debe seleccionar como el dispositivo recomendado en el menú del BIOS para lograr una velocidad de mensaje completa cuando todos los núcleos de CPU estén activos.

Similar a con Naples, Roma también es compatible con Hyper-Threading o con un procesador lógico. Por HPC, dejamos esta opción deshabilitada, pero algunas aplicaciones pueden beneficiarse de la activación del procesador lógico. Busque nuestros blogs subsiguientes en estudios de aplicaciones de la aplicación molecular.

Similar a con Naples, Roma también permite que CCX sea un dominio de Numa. Esta opción expone cada CCX como un nodo NUMA. En un sistema con CPU de doble zócalo con 16 CCXs por CPU, esta configuración expondrá los dominios de NUMA 32. En este ejemplo, cada socket tiene 8 CCD, es decir, 16 CCX. Cada CCX se puede habilitar como su propio dominio de NUMA, lo que proporciona 16 nodos NUMA por socket y 32 en un sistema de dos zócalos. Por HPC, se recomienda dejar un CCX como dominio de Numa en la opción predeterminada de Disabled. Se espera habilitar esta opción para ayudar a los ambientes virtualizados.

De manera similar a con Naples, Roma permite que el sistema se configure en el determinismo de rendimiento o en el modo de determinismo de alimentación . En el determinismo del rendimiento, el sistema funciona con la frecuencia esperada para el modelo de CPU, lo que reduce la variabilidad en varios servidores. En el determinismo de alimentación, el sistema funciona a la TDP máxima disponible del modelo de CPU. Esto amplifica parte a la variación de la pieza en el proceso de fabricación, lo que permite que algunos servidores sean más rápidos que otros. Es posible que todos los servidores consuma la potencia nominal máxima de la CPU, lo que hace que el consumo de energía sea determinista, pero que permite una variación de rendimiento en varios servidores.

Como cabría esperar de PowerEdge plataformas, el BIOS tiene una opción de metadatos denominada System Profile (perfil del sistema). Al seleccionar el perfil de rendimiento optimizado del sistema, se habilitará el modo Turbo Boost, se deshabilitarán los Estados C y se establecerá el control deslizante del determinismo en el determinismo de alimentación.


Volver al principio

 

 

Resultados de rendimiento: flujo, HPL, microevaluaciones de InfiniBand

 

Es posible que muchos de nuestros lectores se saltaran directamente a esta sección, por lo que vamos a profundizar en.

En la HPC y en el laboratorio de innovación de AI, hemos creado un clúster basado en Roma de 64-Server que llamamos a Minerva. Además del clúster Minerva homogéneo, tenemos algunos otros ejemplos de CPU de Roma que se pudieron evaluar. Nuestro testbed se describe en la tabla 1 y en la tabla 2.

(Tabla 1 modelos de CPU de Roma evaluados en este estudio)

CPU Cores por socket Automática Reloj de base TDP
7702 64c 4C por CCX 2.0 GHz 200W
7502 32c 4C por CCX 2,5 GHz 180W
7452 32c 4C por CCX 2.35 GHz 155W
7402 24c 3C por CCX 2,8 GHz 180W

(Tabla. 2 testbed)

Componente Detalles
Servidor PowerEdge C6525
Procesador Como se muestra en la tabla 1, dos sockets
Memoria 256 GB, 16x16GB 3200 MT/s DDR4
Interconexión ConnectX-6 Mellanox HDR100 de la banda de InfInst
Sistema operativo Red Hat Enterprise Linux 7.6
Kernel 3.10.0.957.27.2.e17.x86_64
Disco módulo SSD M. 2 de 240 GB SATA


Volver al principio

 

 

TRANSMITE

 

Las pruebas de ancho de banda de la memoria en Roma se presentan en la figura 6. estas pruebas se ejecutaron en el modo NPS4. Hemos medido ~ 270-300 GB/s de ancho de banda de memoria en nuestro PowerEdge C6525 de dos sockets al utilizar todos los núcleos del servidor en los cuatro modelos de CPU que se enumeran en la tabla 1. Cuando solo se utiliza un Core por CCX, el ancho de banda de la memoria del sistema es ~ 9-17% superior a aquel medido con todos los núcleos.

La mayoría de las cargas de trabajo de HPC suscribirán por completo todos los núcleos del sistema o los centros de HPC se ejecutarán en el modo de alto rendimiento con varios trabajos en cada servidor. Por lo tanto, el ancho de banda de memoria todo el núcleo es la representación más precisa del ancho de banda de la memoria y las capacidades de ancho de banda de memoria por núcleo del sistema.

La figura 6 también traza el ancho de banda de la memoria medido en la plataforma con Naples EPYC de la generación anterior, que también admite ocho canales de memoria por zócalo, pero que se ejecutan a 2667 MT/s. La plataforma Roma proporciona un ancho de banda de memoria total de un 5% a un 19% mejor que con Naples, y esto es principalmente debido a la memoria MT/s más rápida de 3200. Incluso con 64c por socket, el sistema Roma puede entregar un alza de 2 GB/s/Core.

SLN319015_en_US__12icon Nota: Una variación del rendimiento del 5-10% en los resultados del flujo Triad se midió en varios servidores basados en Roma configurados de manera idéntica, los resultados a continuación deben considerarse como el extremo superior del rango.
 

La comparación de la configuración de NPS diferente, aproximadamente un 13% de ancho de banda de memoria superior se midió con NPS4 en comparación con NPS1, como se muestra en la figura 7.

SLN319015_en_US__13Fig5-Roma (2)

(Figura. 6 ancho de banda de la memoria de Triad de NPS4 flujos de dos sockets)

SLN319015_en_US__14Fig6-Roma (2)

(Figura 7 NPS1 frente a NPS2 en comparación con el ancho de banda de memoria de NPS)


Volver al principio

 

 

Ancho de banda y tasa de mensajes InfiniBand

 

En la figura 8, se traza el ancho de banda de InfiniBand de un solo núcleo para pruebas bidireccionales y bidireccionales. El testbed utilizó HDR100 ejecutándose a 100 Gbps y el gráfico muestra el rendimiento de la tasa de línea esperada para estas pruebas.

SLN319015_en_US__15fig6-IBBW (2)

Figura. 8 ancho de banda de Infiniband (un solo núcleo)

SLN319015_en_US__16fig7-MR (2)

Figura. 9 velocidad de mensajes Infiniband (todos los núcleos))

Las pruebas de velocidad de mensajes se llevaron a cabo a continuación mediante el uso de todos los núcleos en un socket en los dos servidores en prueba. Cuando la e/s preferida está activada en el BIOS y el adaptador HDR100 ConnectX-6 se configura como el dispositivo recomendado, la tasa de mensajes todo el núcleo es significativamente mayor que cuando no está habilitado el IO preferido, como se muestra en la figura 9. Esto ilustra la importancia de esta opción del BIOS cuando se ajusta para HPC y especialmente para la escalabilidad de las aplicaciones de múltiples nodos.


Volver al principio

 

 

HPL

 

La microarquitectura de Roma puede retirar la biestación/ciclo de 16 DP, doble la de con Naples que era de 8 bitres o más. Esto proporciona a Roma cuatro veces más pico en con Naples, 2x de la funcionalidad de punto flotante mejorada y 2x del doble de la cantidad de cores (64c frente a 32C). Figura 10 traza los resultados de HPL medidos para los cuatro modelos de CPU Roma que probamos, junto con los resultados anteriores de un sistema basado en con Naples. La eficiencia de HPL Roma se indica como el valor porcentual sobre las barras del gráfico y es mayor para los modelos de CPU inferiores de TDP.

Las pruebas se ejecutaron en el modo de determinismo de alimentación, y un incremento de aproximadamente 5% en el rendimiento se midió en los 64 servidores configurados de manera idéntica, los resultados aquí se encuentran en esa banda de rendimiento.

SLN319015_en_US__17Fig9-Roma (2)

(Figura. 10 HPL de un solo servidor en NPS4)

Se ejecutaron las siguientes pruebas de HPL de múltiples nodos y esos resultados se trazan en la figura 11. Las eficiencias de HPL para EPYC 7452 permanecen por encima del 90% a una escala de un nodo de 64, pero los DIP en eficiencia de 102% a 97% y el respaldo hasta 99% necesitan más evaluaciones.

SLN319015_en_US__18Fig10-Roma (2)

(Figura 11 HPL de múltiples nodos, EPYC de dos sockets 7452 sobre HDR100 InfiniBand)


Volver al principio

 

 

Resumen y novedades

 

Los estudios de rendimiento iniciales en los servidores basados en Roma muestran el rendimiento esperado para el primer conjunto de HPC benchmarks. El ajuste del BIOS es importante cuando se configura para obtener el mejor rendimiento y las opciones de ajuste están disponibles en nuestro BIOS HPC Perfil de carga de trabajo que se puede configurar en la fábrica o establecer mediante Dell EMC utilidades de administración de sistemas.

El laboratorio de innovación de HPC y AI tiene un nuevo 64-Server Roma basado en el clúster de PowerEdge Minerva. Observe este espacio para los blogs posteriores que describen los estudios de rendimiento de las aplicaciones en nuestro nuevo clúster de Minerva.


Volver al principio

 

Article Properties


Last Published Date

06 May 2021

Version

5

Article Type

Solution