Extiendo el kernel de Linux para controlar la frecuencia de algunos subprocesos: cuando se programan en un núcleo (¡cualquier núcleo!), La frecuencia del núcleo se cambia escribiendo la p correcta -establezca el registro IA32_PERF_CTL
, como se sugiere en el manual de Intel. Pero cuando se programan diferentes subprocesos con diferentes frecuencias "personalizadas", parece que el rendimiento de todo el subproceso aumenta, como si todos los núcleos se ejecutaran a la frecuencia máxima establecida.Escalamiento de frecuencia de Intel MSR por subproceso
Hice muchas pruebas y mediciones en diferentes condiciones de carga y configuración, pero el resultado es el mismo. Después de algunas pruebas con CPUFreq (sin aplicación en ejecución, configuré diferentes frecuencias en cada núcleo, y finalmente las frecuencias medidas, con cpufreq-info -w, eran iguales), me pregunto si los núcleos de CPU pueden realmente ejecutar en diferente , frecuencias independientes, o si hay políticas o restricciones de hardware.
Finalmente, ¿existe un modelo de CPU que haga factible esta escalada de frecuencia fina?
La CPU que estoy usando es Intel Core i5 750
Los núcleos de CPU no pueden funcionar a diferentes voltajes, por lo que esto limita la capacidad de establecer diferentes pares de frecuencia/voltaje. –
En general, cada generación de Intel brinda más separación entre núcleos y permite un control más detallado sobre estas cosas. – ugoren