Especial Trucos

Saca más partido a tu CPU multinúcleo

Los procesadores con varios núcleos son habituales en las configuraciones tanto de los equipos de sobremesa como de los portátiles. Aprende a sacarles más partido

Manuel Arenas

Procesadores apertura

10 marzo 2014

Los procesadores con varios núcleos son habituales en las configuraciones tanto de los equipos de sobremesa como de los portátiles. Desde dos núcleos hasta seis, pasando por tres y cuatro, tanto Intel como AMD han visto en ellos la fórmula para incrementar el rendimiento de los PCs sin necesidad de aumentar la frecuencia de reloj de los microprocesadores.

Hasta hace unos años el aumento de la velocidad de reloj fue la táctica preferida por los fabricantes para incrementar paulatinamente el rendimiento de los ordenadores. No obstante, a partir de velocidades cercanas a los 4 GHz el problema de la disipación térmica y el consumo de energía se convirtieron en insalvables. En una superficie de unos pocos mm cuadrados no es práctico ni seguro gestionar más de 150 vatios de potencia. A poco que falle el sistema de ventilación o la fuente de alimentación, se producirán inestabilidades y problemas de funcionamiento.

Con las tecnologías de fabricación tradicionales, los cientos de millones de transistores integrados en los procesadores funcionan correctamente dentro de unos ciertos márgenes donde intervienen las variables voltaje y frecuencia. Por debajo de ciertos valores se originan errores, mientras que, por encima, los problemas pueden llegar debidos a la electromigración, que literalmente destruye el procesador, o el sobrecalentamiento, que también ocasiona trastornos serios.

Truco 1. Paralelismo

Frente a estos impedimentos para el aumento del rendimiento a partir de un único procesador, tanto Intel como AMD adoptaron la estrategia del paralelismo. Si en un sistema con una sola CPU y un único núcleo las tareas en ejecución tenían que ir alternando el uso de la CPU, en un sistema con varios procesadores y/o núcleos la táctica consiste en repartir la ejecución de las tareas entre los distintos procesadores / núcleos.

Este reparto de los recursos se realiza de forma automática por parte del sistema operativo, que asigna prioridades a los procesos y servicios en ejecución, aunque de un modo poco inteligente. Es decir, no hay una forma especial de asignar prioridades ni afinidades dependiendo de su relevancia para los usuarios. Por ejemplo, para el sistema operativo un antivirus está en igualdad de condiciones que Office cuando se trata de asignar recursos de procesador, pero también se podría intentar dar más recursos a una aplicación si en determinadas circunstancias importa más finalizar una tarea dada mientras las demás se siguen ejecutando con menos recursos.

AMD Overdrive

Este tipo de personalización es posible usando tanto herramientas del sistema como programas específicos para ello, como Ashampoo Core Tuner o AMD OverDrive. Estas utilidades permiten asignar los distintos núcleos presentes en el sistema a diferentes aplicaciones y procesos.

OverDrive es específica para procesadores de AMD y es todo un compendio de tecnología dedicada a sacar el máximo partido a las CPUs. No obstante, Ashampoo Core Tuner presenta problemas con el procesador Core i7 980X de 6 núcleos, mostrando solo cuatro de ellos (ocho si se contabilizan los virtuales a partir de la presencia de Hyper-Threading). Por su parte, OverDrive, en el caso de que tengas un procesador AMD, sí presenta un funcionamiento impecable, con un completo sistema para gestionar perfiles personalizados en los cuales se puede definir con precisión la afinidad para cada aplicación que se esté ejecutando en el sistema.

En realidad, OverDrive contempla bastantes más apartados que el de la asignación de núcleos a programas dependiendo de nuestras necesidades particulares, con una gestión completa de los parámetros de velocidad de los núcleos, el voltaje, la memoria, etc. Pero para el caso que nos ocupa, y suponiendo que tenemos un procesador de al menos cuatro núcleos, la parte interesante es la que hace posible crear perfiles para las aplicaciones en los cuales se asignan afinidades diferentes según el reparto que se quiera hacer de los núcleos.

Así, se podría asignar a un programa como Photoshop la totalidad de los núcleos, mientras que a un antivirus se le podría dejar uno solo. Al mismo tiempo, al Explorador de archivos se le podría asociar con uno o dos núcleos, de modo que en caso de que se «cuelgue» sea más sencillo hacerse con el control del sistema.