Recientemente hemos adquirido una estación de trabajo dual Intel X5650 para ejecutar una simulación intensiva de punto flotante, en Ubuntu 10.04.Rendimiento de hyperthreading intensivo FP en los últimos Xeons
Cada X5650 tiene 6 núcleos, por lo que hay 12 núcleos en total. El código es trivialmente paralelo, así que lo he estado ejecutando principalmente con 12 hilos y observando aproximadamente el "1200%" de la utilización del procesador a través de "arriba".
HyperThreading está habilitado en el BIOS, por lo que el sistema operativo ve nominalmente 24 núcleos disponibles. Si aumento el número de subprocesos a 24, la parte superior informa de aproximadamente 2000% de utilización del procesador; sin embargo, no parece que el rendimiento real del código aumente en 20/12.
Mi pregunta es: ¿cómo funciona HyperThreading en la última generación de Xeons? ¿Se beneficiaría un código intensivo de coma flotante al programar más de un hilo por núcleo? ¿La respuesta cambia si el conjunto de trabajo está en el orden del tamaño de caché, en comparación con varias veces más grande, o si hay operaciones de E/S sustanciales (por ejemplo, escribir salidas de simulación en el disco)?
Además, ¿cómo debo interpretar los porcentajes de utilización del procesador desde "arriba" cuando está habilitado el hyperthreading?
Apagamos HT en nuestros supercomputadores, por lo que esa idea probablemente no funcionará si ejecuta su código en un clúster bien mantenido. –