Parece un verdadero disparate, pero según un estudio realizado en Albuquerque, no lo sería tanto. Tras llevar a cabo una elaborada simulación, expertos revelaron que un aumento en la cantidad de núcleos en un procesador provoca una caída en el rendimiento final del mismo, al punto de mencionar que 16 núcleos tienen una merma de poder tal, que se compara al poder de solamente dos núcleos.
La prueba fue realizada en los Laboratorios Nacionales Sandia, y se dejó en claro que si bien hay algunos beneficios al aumentar la cantidad de núcleos, eso no quiere decir que "más sean mejor" de manera lineal. Por ejemplo, el rendimiento aumentó de manera notable al pasar de dos núcleos a cuatro. Sin embargo, la suba en el rendimiento al pasar de cuatro núcleos a ocho fue casi insignificante en comparación con el salto anterior. Al aumentar los núcleos a 16, directamente se registró una caída en el rendimiento.
Ahora, ¿por qué pasa esto? ¿Acaso aumentar la cantidad de núcleos no era la solución definitiva para nuestros problemas de rendimiento? Bueno, eso creíamos, pero también hay que reconocer que la culpa no es toda de los procesadores. La causa principal por esta pérdida de rendimiento es la falta de ancho de banda de memoria, y la ausencia de lo que los expertos llaman "contención" entre los núcleos sobre el bus de memoria. Para ponerlo de manera más visual, imagínate a dieciséis personas que quieren pasar por un pasillo estrecho, todas al mismo tiempo. El pasillo genera un cuello de botella, y las personas deben moverse más lentamente para poder pasar, causando demoras. Bueno, con los núcleos múltiples pasa algo parecido. Dieciséis núcleos compartiendo el mismo bus de memoria y solicitando información al mismo tiempo, es una invitación a un cuello de botella casi inmediato.
Aparentemente, este es un problema que existe desde hace bastante tiempo, incluso cuando los procesadores de un solo núcleo gobernaban el mundo. Hasta este momento, no hay una solución viable para ordenadores de escritorio, o al menos, no la hay sin disparar los costos, algo que sería una locura en estos días. Sin embargo, existe lo que podría ser una aproximación válida entre servidores. IBM posee un sistema llamado "espejado de memoria", disponible en sus servidores de alto nivel. En resumen, es un equivalente a un RAID de nivel 1, pero hecho en memoria en vez de discos duros. Tendría el clásico inconveniente de cualquier configuración RAID (por ejemplo, deberías instalar 8 GB de RAM y el sistema sólo reportaría 4), pero eso debería aumentar la eficiencia de la memoria. Por otro lado, algunos piensan que la solución sólo depende de aumentar la velocidad de la memoria en forma radical, algo así como tres o cuatro veces la velocidad actual.
Esto nos deja un verdadero dilema. La carrera de los procesadores por aumentar su cantidad de núcleos y la constante salida de nuevos modelos pueden ser en verdad superfluas ya que, además de la ausencia de programas realmente optimizados para utilizar núcleos múltiples, debemos lidiar con el inevitable cuello de botella que los núcleos y el bus de memoria generan. Tal vez sea hora de que la industria detenga un poco el frenesí de los núcleos y busque una manera de crear hardware más eficiente, ya sea para eliminar este problema, o al menos para minimizarlo.