Por qué usar Hyper-threading puede conducir a la degradación del rendimiento

10

Lo he leído en varios lugares como este , que Hyper-threading conduce a la degradación del rendimiento.

No puedo entender por qué o cómo el hiperprocesamiento conduce a la degradación.

Por qué es así que incluso cuando Hyper-threading permite que el sistema operativo utilice recursos libres, ocurre la degradación.

Aunque los puntos de referencia indican hiperprocesamiento como el culpable, ¿alguien puede explicarme la razón de esto?

Gracias

DW
fuente

Respuestas:

8

Parece que la respuesta, como de costumbre, tiene algo que ver con los cachés. Dado que los hiperprocesos utilizan los mismos cachés L1 y L2, un hiperproceso puede destruir los cachés de otro. En el peor de los casos, los subprocesos se turnan para destruir el caché del otro y el rendimiento se degrada a medida que los cachés se vuelven a llenar solo para volver a eliminarlos.

Por supuesto, esto probablemente sea muy específico de la carga de trabajo, lo que explicaría por qué el problema se ve principalmente en los servidores.

También vale la pena señalar que la respuesta depende en parte de lo que quiere decir con "rendimiento". Por ejemplo, en los sistemas en tiempo real, su métrica de rendimiento es la previsibilidad en lugar del rendimiento, lo que impacta el subprocesamiento de forma negativa al introducir paradas impredecibles.

superdesk
fuente