El artículo escrito por Savitha Pareek, Varun Bawa, & Ashish K Singh de HPC y el laboratorio de innovación de AI en junio 2019 de
2.ª generación Intel® Xeon® Procesadores escalables (arquitectura con el mismo estado: Cascade Lake) es la sucesora de Intel Skylake y está listo para su horario principal. El equipo de ingeniería de HPC en Dell EMC tenía acceso a algunas unidades de prueba de ingeniería y este blog presenta los resultados del estudio de referencia inicial.
El propósito de este blog es ilustrar y analizar el rendimiento obtenido en la versión más reciente de los procesadores de la familia escalable Intel® Xeon® y comparar el rendimiento con su predecesor. Hemos elegido benchmarks de flujo, HPL y HPCG para nuestro análisis. El estudio destaca el impacto en el rendimiento de los nodos únicos y de múltiples nodos. Estas pruebas se realizaron en Dell EMC PowerEdge C6420 (estudio de nodo único) y PowerEdge R740 (estudio de múltiples nodos) con la configuración del BIOS recomendado para las cargas de trabajo HPC. El procesador en cascada Lake incluye muchas mejoras como Intel® Deep Learning Boost (Intel DL Boost) con VNNI, mayor ancho de banda de memoria y mayor rendimiento y eficiencia de punto flotante de vector.
Tabla 1: Información de testbed
Servidor |
PowerEdge C6420 & PowerEdge R740 |
|||
Procesadores |
Configuración de nodo único |
Configuración de múltiples nodos |
||
Server-PowerEdge C6420 & PowerEdge R740 |
Servidor: PowerEdge R740 |
|||
Skylake: Intel Xeon® 6142 [16C@2.6GHz] Intel Xeon® 6130 [16C@2.1GHz] Intel Xeon® 8180 [28C @ 2.5 GHz] |
Lago en cascada: Intel Xeon® 8268 [24C@2.90GHz] |
|||
Lago en cascada: Intel Xeon® 6242 [16C a 2,8 GHz] Intel Xeon® 6230 [20C@2.1GHz] Intel Xeon® 8280 [28C @ 2.7 GHz] |
||||
Memoria |
Test Lake en cascada-con 192 GB-12 x 16 GB 2933 MT/s DDR4 Skylake prueba: con 192 GB-12 x 16 GB 2933 MT/s DDR4 (MT/s activo 2666) |
|||
Sistema operativo |
Red Hat Enterprise Linux 7.6 |
|||
Versión del kernel |
3.10.0-957.el7.x86_64 |
|||
Opciones de BIOS |
Turbo = activado, procesador lógico = desactivado, SubNumaCluster = activado, tecnología de virtualización = deshabilitada. |
|||
InfiniBand |
Ruta Intel Omni con IFS 10.9.2 |
|||
Lenguaje |
Intel Parallel Studio XE 2018 actualización 4 |
|||
Aplicaciones |
||||
Desempeño |
Dominio |
Versión |
Configuración de prueba |
|
HPL |
LINPACK de alto rendimiento: cómputo |
Gráficos Intel MKL 2018 U4 |
Tamaño del problema: 90% de la memoria total |
|
HPCG |
Gradiente de conjugado de alto rendimiento: cómputo |
Gráficos Intel MKL 2018 U4 |
Tamaño del problema: 336 x 336 x 336 |
|
TRANSMITE |
Ancho de banda de la memoria |
5 4 |
Triad |
|
Se llevaron a cabo pruebas para cuantificar los dos casos siguientes:
Transmite
Para obtener el máximo rendimiento de ancho de banda de memoria en Intel Cascade Lake y Skylake, hemos seleccionado el benchmark de flujo , que es el benchmark estándar de la industria de facto en HPC domain para la medición del ancho de banda de memoria sostenible (en GB/s). El valor de TRIAD se ha utilizado para comparar el ancho de banda de la memoria.
Figura 1 FLUJO: Skylake frente a un lago en cascada
La frecuencia máxima admitida de la memoria para Skylake es 2666MT/s, mientras que el lago en cascada es compatible con 2933MT/s, lo que significa un 10% más de la frecuencia de memoria con el lago en cascada. Tal como se indica en la figura 1, los procesadores en cascada Lake muestran del 7 al 12% más de ancho de banda de memoria en relación con la Skylake. El ancho de banda de la memoria por núcleo depende del SKU del procesador específico. Dado que algunas SKU de un lago en cascada tienen cores adicionales en relación con Skylake, las comparaciones de ancho de banda de memoria por núcleo son diferentes a la comparación total de ancho de banda de memoria. Según la figura 1, tanto 8280 como 6242 tienen un ancho de banda de memoria superior por núcleo de hasta un 7% que sus respectivas predecesoras. Sin embargo, 6230 muestra un 11% menos de ancho de banda de memoria por núcleo en relación con 6130 debido a un aumento del 25% en los cores para 6230. El ancho de banda de memoria por núcleo puede ser un factor importante para las aplicaciones que son sensibles al ancho de banda de la memoria.
LINPACK -
Hemos medido la capacidad de cómputo de los procesadores mediante Intel LINPACK. El tamaño del problema (N) es 90% de la memoria del sistema mientras el tamaño de bloque (NB) es 384. Aquí se cubre el rendimiento y la escalabilidad con procesadores de la aplicación en cascada.
Skylake frente a en cascada Lake :
Figura 2: Rendimiento de LINPACK (Skylake frente a un lago en cascada)
Tal como se muestra en la figura 2, LINPACK muestra la mejora del rendimiento hasta el 15% con los procesadores de la aplicación en cascada. Esta comparación se basa en el número de modelo del CPU, comparando Skylake y sus éxitos de la familia escalable Intel Xeon®. Los procesadores Intel Xeon® 6230 con 4 más núcleos por socket obtienen un rendimiento del 15% en el rendimiento por encima de 6130, mientras que los sistemas 8280 y 6242 con conteo de cores similares, a su predecesora, se agregan en mejora de rendimiento debido al aumento en la frecuencia base de CPU y a un mayor ancho de banda de memoria.
Rendimiento de múltiples nodos: Para el estudio de múltiples nodos, hemos utilizado un clúster de 8 nodos de PowerEdge servidores R740 con Intel Xeon® 8268 y resultados capturados para 1, 2, 4 y 8 nodos. El resto de la configuración del sistema se menciona en la tabla 2.
Figura 3: Rendimiento de LINPACK de múltiples nodos con 8268 @ 2.90 GHz
Como se muestra en la figura 3, el rendimiento de LINPACK para un solo nodo 8268 es 3059 GFLOPS y 23946 GFLOPS para ocho nodos, lo que significa que la capacidad de escalamiento de 7.83 X es de 1 nodo a 8 nodos. La eficiencia para un solo nodo es ~ 69%, y el ~ 67% para dos, cuatro y ocho nodos. La eficiencia disminuye de un nodo a dos nodos. sin embargo, la escalabilidad es principalmente lineal después.
HPCG Benchmark
El benchmark de HPCG se basa en Solver del gradiente conjugado, donde el pre-acondicionado es un método jerárquico de múltiples niveles (MG) de tres niveles con Gauss-Seidel.
El benchmark de HPCG crea un sistema lineal disperso de manera lógica, de forma física, mediante una galería de símbolos de 27 puntos en cada punto de la cuadrícula en un dominio 3D para que la ecuación en el punto (i, j, k) dependa de sus valores y 26 vecinos circundantes. El dominio global calculado por el benchmark es (NRx * NX) X (NRy * NY) X (NRz * NZ), donde NX, NY y NZ son dimensiones de subcuadrículas locales, asignadas a cada proceso de MPI y la cantidad de rangos de MPI son NR = (NRx X NRy X NRz).
Para nuestro análisis, hemos dividido las pruebas en dos categorías:
Skylake y en cascada Lake : en esta sección, comparamos Skylake con el lago en cascada mediante el rendimiento de HPCG. Hemos utilizado el tamaño de la cuadrícula 336 ^ 3 que ocupa másde 1/4 de memoria total del sistema . La cantidad de procesos de MPI por nodo y la cantidad de hilos de ejecución se basaban en los mejores resultados y utilización de la memoria.
Figura 4: Rendimiento de HPCG (Skylake frente a un lago en cascada)
Tal como se aprecia en la figura 4, se observa una mejora significativa del rendimiento de HPCG con procesadores en cascada de Lake en sus predecesores. Dado que HPCG es más una aplicación enlazada a la memoria, la mejora del rendimiento con procesadores en cascada Lake se encuentra en línea con el resultado de la prueba comparativa de flujo donde 6230 tiene un 10% mejor que 6130, 6242 ejecuta un 12% mejor que 6142 y 8280 ejecuta un 7% mejor que 8180.
HPCG con múltiples nodos: para los criterios de referencia de múltiples nodos, hemos elegido el tamaño de la cuadrícula de dimensión local de 336 ^ 3 y la combinación de hilos de ejecución de la mejor ejecución y el proceso de MPI.
Figura 5 Rendimiento de HPCG de múltiples nodos con un lago en cascada
La figura 5 muestra el rendimiento de HPCG con Cascade Lake 8268 a 2,9 GHz y el escalamiento a ocho nodos. El rendimiento de HPCG es 43GFLOPS para un solo nodo y 84GFLOPS para dos nodos, lo que significa una mejora del rendimiento de 1.96 X con dos nodos. A medida que avanzamos con cuatro y ocho nodos, el rendimiento mejora hasta 7.7 X.
Conclusión
Gracias a la disponibilidad de los procesadores de la aplicación en cascada, los sistemas de PowerEdge ahora pueden admitir velocidades de memoria de hasta 2933 MT/s con este procesador de generación más reciente. Nuestras pruebas con procesadores en cascada de Lake muestran una mejora del rendimiento del 7-12% en el ancho de banda de memoria, 4-15% de mejora en HPL y 7-12% de mejora en HPCG en los modelos de CPU que se comparan. Las pruebas de un lago en cascada de 1 a 8 nodos muestran una escalabilidad adecuada, ya que hemos visto con Skylake en el pasado.
Además, el lago en cascada presenta instrucciones VNNI que pueden acelerar las cargas de trabajo de inferencia en profundidad por 2x-3x y se analizan en este blog.
Para nuestro trabajo futuro, planeamos evaluar la ventaja de rendimiento de Cascade Lake en diferentes aplicaciones de HPC, como WRF, NAMD, GROMACS, CP2K y LAMMPS