sql >> Base de Datos >  >> RDS >> Sqlserver

Procesadores escalables Intel Xeon y SQL Server 2017

El 11 de julio de 2017, Intel lanzó oficialmente su nueva familia de procesadores escalables Intel Xeon de 14 nm (Skylake-SP) de procesadores para servidores. Esta familia reemplaza a la generación anterior de procesadores Intel Xeon E7 v4 de 14 nm e Intel Xeon E5 v4 de 14 nm (Broadwell-EX y Broadwell-EP).

Marca y precios

Intel llama a esta familia general una nueva "plataforma convergente" que está segmentada en cuatro líneas de productos distintas llamadas Intel Xeon Platinum, Intel Xeon Gold, Intel Xeon Silver e Intel Xeon Bronze. Para el uso de SQL Server, solo las líneas Platinum y Gold tienen sentido si le preocupa obtener el mejor rendimiento para cada una de sus licencias de núcleo de procesador de SQL Server.

A diferencia de los procesadores Xeon de la generación anterior, los nuevos procesadores Xeon Platinum tienen hasta 28 núcleos físicos y se pueden usar en cualquier servidor de recuento de sockets, ya sea una máquina de dos, cuatro u ocho sockets. Los procesadores Xeon Gold tienen hasta 22 núcleos físicos y se pueden usar en máquinas de dos o cuatro sockets.

Intel está utilizando una nueva convención de marca y numeración de productos que se detalla en la Figura 1. A diferencia de los nuevos procesadores AMD EPYC, Intel está haciendo una gran cantidad de marketing y segmentación de productos impulsada por la rentabilidad en esta línea que hace que sea más difícil de entender y hace que más difícil elegir el procesador adecuado para su carga de trabajo.

Figura 1:Convención de numeración de productos del procesador escalable Intel Xeon

Un buen ejemplo de esta segmentación dañina de productos son los procesadores SKU "M" (modelos de procesador con un sufijo M) que admiten 1,5 TB de memoria por socket en comparación con 768 GB de memoria por socket para los modelos SKU que no son "M". Intel cobra una prima de aproximadamente $3000.00 (por procesador) por ese soporte de memoria adicional, que es un aumento bastante grande, especialmente para los procesadores de menor costo. El procesador Intel Xeon Gold 6134 de ocho núcleos cuesta $2214,00 cada uno, mientras que el procesador Intel Xeon Gold 6134M de ocho núcleos cuesta $5217,00 cada uno. Todas las demás especificaciones (y rendimiento) son idénticas para esos dos procesadores. Para el uso de SQL Server, puede tener mucho sentido pagar esa prima para obtener el doble de capacidad de memoria por socket (especialmente dados los costos de licencia de SQL Server y los costos generales de memoria), pero no me gusta el hecho de que Intel está pagando algo hurgando aquí.

Cambios de arquitectura

Skylake-SP tiene una arquitectura de caché diferente que cambia de un modelo distribuido compartido utilizado en Broadwell-EP/EX a un modelo privado local utilizado en Skylake-SP. Queda por ver cómo afectará este cambio a las cargas de trabajo de SQL Server.

En Broadwell-EP/EX, cada núcleo físico tenía una caché L2 privada de 256 KB, mientras que todos los núcleos compartían una caché L3 más grande que podía alcanzar los 60 MB (normalmente 2,5 MB/núcleo). Todas las líneas en el caché L2 para cada núcleo también estaban presentes en el caché L3 compartido e inclusivo.

En Skylake-SP, cada núcleo físico tiene una caché L2 privada de 1 MB, mientras que todos los núcleos comparten una caché L3 más grande que puede alcanzar los 38,5 MB (normalmente 1,375 MB/núcleo). Todas las líneas en el caché L2 para cada núcleo pueden no estar presente en la memoria caché L3 compartida no inclusiva.

Una caché L2 más grande aumenta la proporción de aciertos de la caché L2, lo que da como resultado una latencia de memoria efectiva más baja y una menor demanda en la caché L3 y la interconexión de malla. La caché L2 suele ser aproximadamente 4 veces más rápida que la caché L3 en Skylake-SP. La Figura 2 detalla los nuevos cambios en la arquitectura de caché en Skylake-SP.

Figura 2:Comparación de arquitecturas de caché

Otra nueva mejora arquitectónica es Intel Ultra Path Interconnect (UPI), que reemplaza a la generación anterior de Intel Quick Path Interconnect (QPI). Intel UPI es una interconexión coherente para sistemas que contienen varios procesadores en un único espacio de direcciones compartido. Los procesadores Intel Xeon que admiten Intel UPI proporcionan dos o tres enlaces Intel UPI para conectarse a otros procesadores Intel Xeon mediante una ruta de alta velocidad y baja latencia a los otros zócalos de CPU. Intel UPI tiene una velocidad de datos máxima de 10,4 GT/s (gigatransferencias/segundo) en comparación con una velocidad de datos máxima de 9,6 GT/s para el Intel QPI utilizado en los procesadores Broadwell-EP/EX más rápidos.

Otra nueva característica importante en Skylake-SP es la inclusión de compatibilidad con AVX-512, que permite calcular vectores de 512 bits de ancho, lo que mejora en gran medida la velocidad en comparación con conjuntos de instrucciones de vectores más antiguos como AVX2, AVX y SSE. Estos conjuntos de instrucciones se utilizan normalmente para cosas como la compresión y el cifrado.

AVX-512 también tiene una eficiencia energética mucho mejor en términos de GFLOPS/vatio y GFLOPS/GHz en comparación con los conjuntos de instrucciones más antiguos, por lo que Intel no tiene que reducir la velocidad del reloj de todos los núcleos si el código AVX se ejecuta en cualquiera de ellos. los núcleos y también pueden hacer que cada núcleo se ejecute a una velocidad diferente según el tipo de código AVX que se esté ejecutando en ese núcleo.

Soporte de hardware de SQL Server

En SQL Server 2016, Microsoft introdujo la compatibilidad con las instrucciones SSE y AVX admitidas por la CPU para mejorar el rendimiento del depósito de filas en índices de almacén de columnas e inserciones masivas. También agregaron soporte de hardware para el cifrado AES-NI. Escribí sobre cómo este nuevo soporte de software para hardware específico se asignó a diferentes generaciones de procesadores aquí. Con suerte, Microsoft ampliará este tipo de código para cubrir la compatibilidad con AVX-512 en SQL Server 2017.

Otra característica nueva en Skylake-SP es la compatibilidad con Intel Speed ​​Shift, que permite que los núcleos del procesador cambien sus estados p y c de manera mucho más efectiva (lo que permite que los núcleos del procesador se "aceleren" mucho más rápido). Esta función se basa en la administración de energía de hardware (HWPM) introducida en Broadwell con un nuevo modo que permite que HWPM y el sistema operativo trabajen juntos, denominado modo nativo. El modo nativo es compatible con Linux kernel 4.10 y Windows Server 2016.

De acuerdo con algunos de los primeros puntos de referencia que he visto, estos procesadores Skylake-SP tienen una mejora de IPC de aproximadamente un 10 % con respecto a los núcleos Broadwell-EP que funcionan a la misma velocidad de reloj. El software que aprovecha las nuevas funciones específicas (como AVX-512 y FMA) podría ver aumentos de rendimiento mucho mayores.

Con respecto a las cargas de trabajo de OLTP de SQL Server 2017, el 27 de junio de 2017, Lenovo presentó un resultado de referencia TPC-E para un servidor de dos sockets Lenovo ThinkSystem SR650, con dos procesadores Intel Xeon Platinum 8180 de 28 núcleos. La puntuación bruta de este sistema fue de 6.598,36. Dividiendo esa puntuación por 56 núcleos físicos, obtenemos una puntuación/núcleo de 117,83 (que es una medida del rendimiento de la CPU de subproceso único).

A modo de comparación, Lenovo presentó un resultado de referencia TPC-E para un servidor de dos sockets Lenovo System x3650 M5 con dos procesadores Intel Xeon E5-2699 v4 de 22 núcleos. El puntaje bruto para este sistema fue 4938.14. Dividiendo esa puntuación por 44 núcleos físicos, obtenemos una puntuación/núcleo de 112,23. El sistema Skylake-SP es aproximadamente un 5 % más rápido para el rendimiento de subproceso único aquí, pero tenga en cuenta que esto es para una versión preliminar de SQL Server 2017.

Si desea una vista aún más detallada de los cambios y mejoras específicos en la familia de procesadores escalables Intel Xeon en comparación con los procesadores Xeon de la generación anterior, puede leer sobre esto aquí.