Licenciamiento SQL Server con Hyper-Threading activo

La Tecnología Intel Hyper-Threading utiliza los recursos de procesamiento con más eficiencia, por lo cual pueden ejecutarse varios subprocesos en cada núcleo. Como característica del desempeño, también aumenta la capacidad de procesamiento, lo que a su vez se traduce en un aumento del desempeño general del software de varios subprocesos. En otras palabras un núcleo puede ser fraccionado en dos para así ejecutar procesos de una forma más eficiente.

Cómo impacta esto el licenciamiento de SQL Server?

Recordar que SQL se puede licenciar (dependiendo de la edición) por servidor + CAL o por núcleos. Cuando se licencia por núcleos se deben licenciar todos los núcleos físicos de la máquina o se puede optar por licenciar cada máquina virtual individual con un mínimo de 4 núcleos a licenciar.

Si se activa el Hyper-Threading se duplican los núcleos de la máquina. El error de algunos de auditores es aplicar esta regla sin analizar la forma en que está licenciado el SQL, exigiendo el doble del licenciamiento que el que realmente se requiere.

La documentación de Microsoft dice claramente que cuando se licencia SQL por máquinas virtuales individuales efectivamente se requiere el doble de núcleos a licenciar al estar el Hyper-Threading activo. No obstante en aquellos casos donde se licencian todos los núcleos físicos de la máquina no aplica la regla de duplicar los núcleos al activar el Hyper-Threading.

Inclusive revisando documentos de Microsoft veo que no hay claridad entre ellos: 1) La Guía de Licenciamiento de SQL Server 2014 dice; “El uso de la tecnología hyper-threading no afecta al número de licencias básicas requeridas cuando se ejecuta el software de SQL Server en un OSE físico”. Mientras que el documento Guía de Licenciamiento de Virtualización de SQL Server 2014 dice: “Para los clientes que utilizan la tecnología Hyper-Threading de Intel para dividir un solo núcleo, físico en dos hilos separados del poder, hay algunos factores adicionales que deben tenerse en cuenta a la hora de licencias máquinas virtuales individuales utilizando el modelo de licenciamiento por núcleo. Cuando Hyper-Threading está activado, se requiere una licencia para cada núcleo de hilo soportando un núcleo virtual. En el siguiente ejemplo, hyper-threading está habilitada para el procesador físico que soporta una VM. Desde hyperthreading crea dos subprocesos de hardware para cada núcleo físico, sería necesario un total de 8 licencias básicas en este escenario. Una licencia de núcleo permite que un solo núcleo virtual para el apoyo de un solo hilo de hardware”.

Es decir en el primer documento se dice que si SQL se corre en el OSE físico no se tiene en cuenta el hyper-threading  mientras que en el segundo se afirma que aplica si se licencian VMs individuales. El cliente puede optar por licenciar todos los núcleos físicos para obtener máxima virtualización pero ejecutar solo VMs – no corre SQL en un OSE físico.

Afortunadamente el PUR (Derechos de Uso de los Productos) es claro y menciona que los hilos (threads) solo se deben tener en cuenta cuando se licencian VMs individuales y no cuando se licencian todos los núcleos físicos de la máquina.

 

 

Acerca de Jacobo Senior

Especialista en Optimización de Licenciamiento
Esta entrada fue publicada en Microsoft, Optimización, SAM y etiquetada , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s