Descripción general de la solución
En este blog, se describe la solución de almacenamiento Dell EMC HPC NFS versión 7.4 (NSS7.4-HA), con la que se aprovechan los procesadores escalables Xeon de segunda generación de Intel, con nombre en código "Cascade Lake". Estos procesadores Xeon mejorados cuentan con hasta 28 núcleos, hasta 38,5 MB de caché de último nivel y seis canales de memoria de 2933 MT/s por ranura. Las funciones clave de los procesadores en cascada Lake son las
mitigaciones de hardware integradas contra los ataques de canal lateral,
Intel DL Boost (VNNI) y la compatibilidad con mayor velocidad de reloj y velocidades de memoria.
El lago en cascada y sus predecesores Skylake incluyen una función denominada
ADDDC (
adaptive
double
dRAM
dde ispositivo
Correction). ADDDC se implementa durante el tiempo de ejecución para desasignar dinámicamente los dispositivos DRAM con fallas, al tiempo que continúa proporcionando
corrección de
datos de
dispositivo
único (SDDC) y memoria de código de corrección de errores (ECC), lo cual permite una mayor longevidad del DIMM. Esta función se activa solo para cuatro dispositivos DRAM y no hace nada cuando hay ocho dispositivos DRAM en el sistema. Puesto que la versión más reciente de NSS-HA 7.4 solo utiliza la memoria de 16 GB, la cual está organizada en ocho unidades, ADDDC aparece atenuado y no es una opción ajustable en el BIOS. Sin embargo, si utiliza 32 GB de memoria, la ADDDC estará disponible como una opción ajustable y se recomienda que se configure en Disabled para favorecer el rendimiento en las funciones de RAS.
Se recomienda configurar los servidores de NFS con el perfil de HPC como se describe en el blog "
caracterización del BIOS para los procesadores Intel Cascade Lake" Esto incluye el ajuste del BIOS para establecer el clúster de subnuma activado, el procesador lógico deshabilitado y el perfil del sistema configurado en "rendimiento". Si actualiza un sistema existente, asegúrese de que el BIOS se actualice primero a una versión que admita las CPU Cascade Lake antes de actualizar las CPU a procesadores Cascade Lake. El equipo de ingeniería de HPC en el Laboratorio de innovación de HPC e IA realizó una serie de pruebas de referencia con servidores NSS equipados con procesadores Cascade Lake y comparó los resultados con los obtenidos anteriormente de la solución NSS7.3-HA, que utilizaba la última versión de los servidores PowerEdge equipados con la familia de procesadores Xeon "Skylake-SP" de la generación anterior. Los resultados de las pruebas comparativas y la comparación se presentan en este blog.
La solución de almacenamiento NFS proporcionada por Dell EMC está optimizada y ajustada para obtener un mejor rendimiento. Cuando configure la solución NSS7.4-HA, se deben tener en cuenta los siguientes puntos destacados:
- El sistema operativo mínimo admitido para utilizar procesadores Cascade Lake es Red Hat Enterprise Linux 7.6. Sin embargo, con la versión de kernel 3.10.0-957.el7, el recurso compartido de NFS se bloqueará con una tarea, como kworker, y consumirá el 100 % de la CPU. La causa principal del problema se debe a que el nivel de TCP pierde la sincronización con el estado de transporte de capas sunrpc. Este problema se resolvió con el paquete kernel-3.10.0-957.5.1.el7 o posterior. Por lo tanto, el sistema operativo base utilizado para esta solución es RHEL7.6 y la versión del kernel utilizado es kernel-3.10.0-957.5.1.el7. Consulte https://access.redhat.com/solutions/3742871 para obtener más detalles.
- Para la solución NSS7.4-HA, a menos que se instalen los siguientes paquetes, el recurso nfsserver no se puede iniciar porque no se puede iniciar nfs-idmapd.service. Consulte https://access.redhat.com/solutions/3746891 para obtener más detalles.
- resource-agents-4.1.1-12.el7_6.4
- resource-agents-aliyun-4.1.1-12.el7_6.4
- resource-agents-gcp-4.1.1-12.el7_6.4 o posterior.
- Las notas de la versión de RHEL7.6 se centran en el hecho de que un error en la capa de E/S de LVM provoca daños a los datos en los primeros 128 KB de espacio asignado de un volumen físico. El problema se resolvió con lvm2-2.02.180-10.el7_6.2 o posterior. Por lo tanto, asegúrese de que el paquete lvm2 esté actualizado con la versión más reciente. Si actualizar lvm2 no es una opción, entonces una solución alternativa es no utilizar los comandos LVM que cambian los metadatos del grupo de volúmenes (VG), como lvcreate o lvextend, mientras se utilizan volúmenes lógicos en el VG.
Arquitectura NSS7.4-HA
En la Figura 1, se muestra el diseño de NSS7.4-HA. A excepción de las actualizaciones necesarias de software y firmware, NSS7.4-HA y NSS7.3-HA comparten la misma configuración de clústeres de alta disponibilidad y la misma configuración de almacenamiento. El par de servidores NFS con configuración de alta disponibilidad activa-pasiva se conecta al PowerVault ME4084. Hay dos tarjetas SAS en cada servidor NFS. Cada tarjeta tiene un cable SAS para cada controladora en el almacenamiento compartido, de modo que una falla en una sola tarjeta SAS o en un cable SAS no afecte la disponibilidad de datos. (Consulte la
documentación técnica de NSS7.3-HA para obtener información más detallada acerca de la configuración).
Arquitectura NSS7.4-HA
Comparación de componentes en NSS7.4-HA y NSS7.3-HA
A pesar de que las soluciones Dell NSS-HA han recibido muchas actualizaciones de hardware y software para ofrecer mayor disponibilidad, mayor rendimiento y mayor capacidad de almacenamiento desde la primera versión de NSS-HA, el diseño arquitectónico y las pautas de implementación de la familia de soluciones NSS-HA permanecen sin cambios. Esta última versión y la versión anterior, NSS7.3-HA, comparten el mismo backend de almacenamiento, el cual es Power Vault ME4084. En la siguiente tabla, se proporciona una comparación de los componentes en la solución NSS7.4-HA más reciente y la solución NSS7.3-HA anterior.
Tabla 1: Tabla 1: Comparación de los componentes en NSS7.4-HA y NSS7.3-HA
Solución |
Lanzamiento de NSS7.4-HA (junio del 2019) |
Lanzamiento de NSS7.3-HA (octubre del 2018) |
Modelo del servidor NFS |
2 Dell EMC PowerEdge R740 |
Conectividad interna |
Gigabit Ethernet con Dell Networking S3048-ON |
Subsistema de almacenamiento |
Dell EMC PowerVault ME4084 84-3,5 "unidades SAS nl, hasta 12 TB. Admite hasta 1008TB (espacio crudo) 8 Lun, lineal 8 + 2 RAID 6, tamaño de fragmento 128KiB. 4 repuestos de HDD global. |
Conexión de almacenamiento |
Conexiones SAS de 12 Gbps. |
Procesador |
2 Intel Xeon Gold 6240 de 2,6 GHz, 18 núcleos por procesador |
2 Intel Xeon Gold 6136 de 3,0 GHz, 12 núcleos por procesador |
Memoria |
12 RDIMM con 16 GiB y 2933 MT/s |
12 RDIMM con 16 GiB y 2666 MT/s |
Sistema operativo |
Red Hat Enterprise Linux 7.6 |
Red Hat Enterprise Linux 7.5 |
Versión del kernel |
3.10.0-957.5.1.el7.x86_64 |
3.10.0-862.el7.x86_64 |
Sistema escalable de archivos de Red Hat (XFS) |
v 4.5.0-18 |
v 4.5.0-15 |
Conectividad de red externa |
Mellanox ConnectX-5 InfiniBand EDR/100 GbE y 10 GbE |
Mellanox ConnectX-5 InfiniBand EDR y 10 GbE. Para obtener NSS el blog de la solución 7.3-ha, se utilizó Mellanox ConnectX-4 IB EDR/100 GbE. |
Versión de OFED |
Mellanox OFED 4.5-1.0.1.0 |
Mellanox OFED 4.4-1.0.0 |
En el resto del blog, se presentarán el banco de prueba y la información de rendimiento de E/S del NSS7.4-HA. Para mostrar la diferencia de rendimiento entre NSS7.4-HA y la versión anterior, también se presentan las cifras de rendimiento correspondientes de NSS7.3-HA.
Configuración de banco de prueba
Aquí se describe el banco de prueba que se utiliza para evaluar el rendimiento y la funcionalidad de la solución NSS7.4-HA. Tenga en cuenta que las CPU utilizadas para las pruebas de rendimiento son diferentes a las seleccionadas para la solución, puesto que las CPU Xeon Gold 6240 no se recibieron a tiempo para este trabajo. El plan consiste en repetir algunas de las pruebas una vez que los procesadores 6240 estén disponibles y corregir este informe según sea necesario.
Tabla 2: Configuración de hardware de NSS 7.4-HA
Configuración del servidor |
Modelo del servidor NFS |
Dell PowerEdge R740 |
Procesador |
2 CPU Intel Xeon Gold 6244 de 3.60 GHz con 8 núcleos cada una |
Memoria |
12 RDIMM con 16 GiB y 2933 MT/s |
Discos locales y controladora RAID |
PERC H730P con cinco discos duros SAS 15K de 300 GB. Se configuran dos unidades en RAID1 para el sistema operativo, se configuran dos unidades en RAID0 para el espacio de intercambio y la quinta unidad es un repuesto activo para el grupo de discos RAID1. |
Tarjeta Mellanox EDR (ranura 8) |
Tarjeta Mellanox ConnectX-5 EDR |
Tarjeta Ethernet de 1 GbE (ranura de tarjeta secundaria) |
Tarjeta secundaria de red Broadcom 5720 QP 1 Gigabit Ethernet. O Intel(R) Gigabit 4P I350-t rNDC |
Controladora de almacenamiento externo (ranura 1 y ranura 2) |
Dos HBA SAS Dell de 12 Gbps |
Administración de sistemas |
iDRAC9 Enterprise |
Configuración de almacenamiento |
Gabinete de almacenamiento |
1 gabinete Dell PowerVault ME4084 |
Controladoras RAID |
Controladoras RAID dúplex en el Dell ME4084 |
Unidades de disco duro |
84 unidades SAS NL 7.2K de 10 TB por arreglo, 84 discos de 10 TB en total |
Otros componentes |
Switch Ethernet Gigabit privado |
Dell Networking S3048-ON |
Unidad de distribución de alimentación |
Dos PDU de rack conmutados APC, modelo AP7921B |
Tabla 3: Versiones de software del servidor de NSS 7.4-HA
Componente |
Descripción |
Sistema operativo |
Erratas de x86_64 Red Hat Enterprise Linux (RHEL) 7.6 |
Versión del kernel |
3.10.0-957.5.1.el7.x86_64 |
Conjunto de clústeres |
Conjunto de clústeres Red Hat de RHEL 7.6 |
Filesystem |
Sistema escalable de archivos de Red Hat (XFS) 4.5.0-18. |
Herramienta de administración de sistemas |
Dell OpenManage Server Administrator 9.3.0-3407_A00 |
Tabla 4: Configuración del cliente NSS 7.4-HA
Componente |
Descripción |
Servidores |
32 nodos de cálculo Dell EMC PowerEdge C6420 |
CPU |
2 CPU Intel Xeon Gold 6148 de 2.40 GHz con 20 núcleos por procesador |
Memoria |
12 RDIMM con 16 GiB y 2666 MT/s |
Sistema operativo |
Servidor de Red Hat Enterprise Linux versión 7.6 |
Versión del kernel |
3.10.0-957.el7.x86_64 |
Interconexión |
Mellanox InfiniBand EDR |
Versión de OFED |
4.3-1.0.1.0 |
Firmware de ConnectX-4 |
12.17.2052 |
Resumen de rendimiento de E/S de NSS7.4-HA
En esta sección, se presentan los resultados de las pruebas de rendimiento de E/S para la actual solución NSS7.4. Todas las pruebas de rendimiento se realizaron en un escenario sin fallas para medir la capacidad máxima de la solución. Las pruebas se centraron en tres tipos de patrones de E/S: lecturas y escrituras secuenciales grandes, lecturas y escrituras aleatorias pequeñas y tres operaciones de metadatos (creación de archivos, STAT y eliminación). Al igual que la versión anterior NSS 7.3-HA, la solución utiliza el programador de I/O de fecha y hora y 256 NFS demonios.
Se realizó un análisis de la configuración de 840TB (tamaño de almacenamiento crudo) con conectividad de red IPoIB mediante EDR. Se utilizó un clúster de cálculo de 32 nodos para generar una carga de trabajo para las pruebas de referencia. Cada prueba se ejecutó en un rango de clientes para probar la escalabilidad de la solución.
Los benchmarks de IOzone y mdtest se utilizaron en este estudio. Se utilizó IOzone para las pruebas secuenciales y aleatorias. Para las pruebas secuenciales, se usó un tamaño de solicitud de 1024 KiB. La cantidad total de datos transferidos fue de 2 TB para garantizar la saturación de la memoria caché del servidor NFS. Las pruebas aleatorias utilizaron un tamaño de solicitud de 4 KiB y cada cliente leía y escribía un archivo de 4 GiB. Las pruebas de metadatos se realizaron utilizando la prueba mdtest con OpenMPI e incluyeron operaciones de creación, STS y eliminación de archivos. (Consulte el Apéndice A de la Documentación técnica de NSS7.3-HA para obtener los comandos completos utilizados en las pruebas).
N-N de escrituras y lecturas secuenciales de IPoIB
Para evaluar lecturas y escrituras secuenciales, se utilizó la prueba IOzone, versión 3.487, en el modo de lectura y escritura secuencial. Estas pruebas se realizaron en múltiples conteos de subprocesos, comenzando con 1 subproceso y aumentando en potencias de 2 hasta llegar a 64 subprocesos. En cada conteo de subprocesos, se generó una cantidad igual de archivos, ya que esta prueba funciona en un archivo por subproceso o el caso N-N. Se seleccionó un tamaño de archivo agregado de 2 TB, que se divide por igual entre la cantidad de hilos de ejecución dentro de cualquier prueba determinada.
La figura 2 proporciona una comparación del rendimiento de I/O secuencial de NSS versión 7.4-HA con la de la versión de NSS 7.3-HA. A partir de la figura, se observa que el NSS7.4 más reciente y el NSS7.3 anterior tienen un rendimiento máximo similar, con una lectura de aproximadamente 7 GB/s y un rendimiento de escritura máximo de aproximadamente 5 GB/s. Sin embargo, en algunos conteos de subprocesos, se midió una disminución del 15-20 % en el rendimiento de escritura en comparación con la solución NSS7.3-HA. La investigación de esta diferencia de rendimiento es un trabajo en curso. El rendimiento de lectura registró un aumento de casi un 45 % en los conteos de subprocesos 1 y 2, y un aumento del 18 % en el conteo de subprocesos 8. Para los conteos de subprocesos superiores a 8, el rendimiento de lectura es similar al de la solución NSS7.3-HA. Es probable que el aumento en el rendimiento de lectura en un conteo de subprocesos menor se deba a las mitigaciones de hardware implementadas en los procesadores Cascade Lake para combatir ataques de canal lateral. Rendimiento de E/S secuencial grande de IPoIB
N-N de escrituras y lecturas aleatorias de IPoIB
Para evaluar el rendimiento de E/S aleatoria, se utilizó IOzone versión 3.487 en el modo aleatorio. Se realizaron pruebas en conteos de subprocesos a partir del 1 hasta los 64 en potencias de 2. Se decidió que el tamaño de registro sea de 4 KB. Cada cliente leyó o escribió un archivo de 4 GiB para simular accesos de datos aleatorios pequeños. Dado que el clúster tenía solo 32 nodos, se obtuvo el punto de datos de 64-Thread con los clientes de 32 que ejecutaban 2 subprocesos cada uno.
La figura 3 muestra la comparación del rendimiento de I/O de lectura y escritura aleatorio de NSS 7.4-HA con el de NSS 7.3-HA. A partir de la figura, se observa que NSS7.4 tiene un rendimiento máximo de escritura aleatoria similar al NSS7.3-HA, aproximadamente 7300 IOPS. En la solución NSS7.4-HA, para los conteos de subprocesos inferiores de 1 y 2, el rendimiento de escritura es aproximadamente un 14 % menor en comparación con la versión anterior de la solución; esto se encuentra en investigación. El rendimiento de lectura aleatoria aumenta de manera constante en el NSS7.4 y alcanza el máximo rendimiento de 16.607 IOPS en los 64 subprocesos. En la versión anterior (NSS 7.3-HA), se había logrado el rendimiento máximo de 28811 IOPS en los 32 subprocesos, lo cual era un 42 % mayor que el rendimiento máximo logrado para lecturas aleatorias en la solución NSS7.4-HA. Rendimiento de E/S aleatoria de IPoIB
Operaciones de metadatos de IPoIB
Para evaluar el rendimiento de los metadatos del sistema, se utilizó la herramienta MDTest versión 1.9.3. La distribución de MPI utilizada fue OpenMPI versión 1.10.7. Las pruebas de metadatos se realizaron mediante la creación de 960.000 archivos para hasta 32 conteos de subprocesos y, luego, el aumento en la cantidad de archivos para probar la escalabilidad de la solución según lo presentado en la Tabla 5. Pruebas de metadatos: Distribución de archivos y directorios en hilos de ejecución
Cantidad de subprocesos |
Cantidad de archivos por directorio |
Cantidad de directorios por subproceso |
Cantidad total de archivos |
1 |
3000 |
320 |
960.000 |
2 |
3000 |
160 |
960.000 |
4 |
3000 |
80 |
960.000 |
8 |
3000 |
40. |
960.000 |
16 |
3000 |
20 |
960.000 |
32 |
3000 |
10 |
960.000 |
64 |
3000 |
8 |
1.536.000 |
128 |
3000 |
4 |
1.436.000 |
256 |
3000 |
4 |
3.072.000 |
512 |
3000 |
4 |
6.144.000 |
En la Figura 4, la Figura 5 y la Figura 6, se muestran respectivamente los resultados de las operaciones de creación, STAT y eliminación de archivos. Puesto que el clúster de cálculo de HPC cuenta con 32 nodos de cálculo, se puede ver en los gráficos a continuación que cada cliente ejecutó un máximo de un subproceso por nodo para hasta los 32 conteos. Para los conteos de clientes de 64, 128, 256 y 512, cada nodo ejecutó 2, 4, 8 o 16 operaciones simultáneas.
En la creación de archivos, se observó una mejora del 20 % en el rendimiento hasta los 16 subprocesos y, desde los 32 subprocesos en adelante, el rendimiento de ambas versiones es casi similar.
Las operaciones de estadísticas en NSS 7.4 registraron una mejora del 10% en el rendimiento para los conteos de subprocesos más bajos (1, 2, 8 y 16) y un > un 30% de reducción en el rendimiento a conteos de subprocesos más altos (de 64 subprocesos a 512 hilos de ejecución).
Por último, las operaciones de eliminación tenían un 14% de reducción en el rendimiento hasta 64 clientes y un > un 20% de reducción para un mayor conteo de subprocesos de 128.256 y 512.
Figura 4: Rendimiento de creación de archivo IPoIB
Figura 5: Rendimiento de estadística de un mensaje IPoIB
Figura 6: Eliminar el rendimiento de registro IPoIB
Conclusión
En la siguiente tabla, se resume la diferencia de rendimiento observada entre las soluciones NSS7.4 y NSS7.3 más recientes. Tabla 5: Comparación del rendimiento de NSS7.4 y NSS7.3 versiones HA
Almacenamiento NFS HPC de Dell EMC |
NSS7.4-HA |
NSS7.4 – HA NSS7.3-HA |
Próx. Pico de escrituras de 1MB: 1,4% de reducción |
4834 MB/s |
4906 MB/s |
Próx. Pico de lecturas de 1 MB: 0,7% de reducción |
7024 MB/s |
7073 MB/s |
Pico aleatorio de escrituras de 4 KB: 0,7% de reducción |
7290 IOps |
7341 IOps |
Pico de lecturas aleatorios de 4 KB: 42% de reducción |
16.607 IOps |
28.811 IOps |
Operaciones de creación por segundo pico: 1,1% de reducción |
54.197 operaciones por segundo |
54.795 operaciones por segundo |
Operaciones de estadísticas por segundo pico: 35% de reducción |
522.231 operaciones por segundo |
808.317 operaciones por segundo |
Eliminar operaciones/segundo pico: 35% de reducción |
47.345 operaciones por segundo |
73.320 operaciones por segundo |
A partir de los resultados anteriores, podemos concluir que la solución NSS7.4-HA actual proporciona un rendimiento comparable con el de su predecesora, la solución NSS7.3-HA. Planeamos ejecutar las pruebas de referencia con CPU Xeon Gold 6240 con 18 núcleos por procesador, a fin de comprender si la disminución en el rendimiento de las lecturas aleatorias y la disminución en el rendimiento en conteos de subprocesos superiores en las operaciones de STAT y eliminación de archivos se atribuyen a la menor cantidad de núcleos utilizados en las CPU Xeon Gold 6244 (8 núcleos por procesador) que se utilizó para la prueba de rendimiento de la solución NSS7.4-HA.
Referencias
Para obtener información detallada sobre las soluciones NSS-HA, consulte nuestras documentaciones técnicas publicadas