El concepto bottleneck lo hemos leído y oído muchas veces, sin embargo, hay uno de ellos histórico que se encuentra en cualquier PC que tengamos en nuestras manos y que incluso décadas después no se ha solventado. ¿Cuál es el mayor cuello de botella que existe en nuestros ordenadores?
Un sistema no es tan rápido como puede ser su componente más veloz, sino hasta donde le deja su componente más lento. ¿Qué ocurriría si os dijéramos que hay un elemento que es limitante y que lleva no años, sino décadas sin evolucionar? Pues bien, el bottleneck del que os vamos a hablar no es algo de ninguna configuración concreta, sino que es una tendencia común en todas las computadoras. Sea cual sea te lo vas a encontrar y en la actualidad es insalvable.
¿Cuál es el mayor cuello de botella en un PC?
La forma de medir el rendimiento de un procesador respecto a otro es tomando el mismo programa en ambos ver en cuento tiempo tarda cada uno en ejecutarlo. Obviamente, el que tarde menos será más rápido. El problema es que medir el rendimiento es a día de hoy difícil por la enorme cantidad de factores existentes a día de hoy. De ahí a que necesitemos benchmarks sintéticos y el uso de aplicaciones para probar el rendimiento del hardware y podernos hacer una idea cuantitativa y calificativa del mismo.
Sin embargo, existe un cuello de botella que es general en todos los sistemas debido a que se ha mantenido estable durante todo este tiempo. Es más, se lleva años haciendo malabares sobre la cuerda floja en ese aspecto desde hace tiempo y cada vez que se diseña un nuevo tipo de memoria RAM y su interfaz, se procura que este no se vaya al traste y afecte al rendimiento del procesador central y con ello del resto del sistema.
Pues bien, si observamos la evolución técnica de la memoria RAM en las últimas dos décadas, veremos como:
- El almacenamiento ha subido hasta 128 veces más.
- El ancho de banda ahora es 20 veces mayor.
- Sin embargo, la latencia es solo un 30% inferior.
Es el último punto el que supone el mayor cuello de botella hasta el momento. Acercar la RAM al procesador sería la mejor opción, sin embargo, encarecería los sistemas y aunque también es una solución de cara al consumo, supone romper por completo con la forma tradicional de hacer los PC. Aunque tarde o temprano deberemos cambiar la forma en la que entendemos la RAM.
Mayor ancho de banda no significa menor latencia
Cuando un fabricante da el ancho de banda de una memoria, lo que hace es darlo en unas condiciones óptimas que son imposibles y, por tanto, de una única transferencia continua en un periodo de tiempo. Sin embargo, las cosas no son tal simples y hemos de tener en cuenta que el controlador de memoria ha de gestionar los accesos a la RAM por parte de varios núcleos del procesador y de coprocesadores asociados.
- El controlador de memoria integrado o IMC tiene un máximo de peticiones que puede gestionar. Si al final ocurre que se supera una cantidad tolerable, este se enlentece, retrasando al resto de peticiones y creando latencia.
- Cada nuevo acceso a memoria por parte de un cliente distinto supone un tiempo de latencia acumulado.
Por ejemplo, habréis visto como cada nueva generación de los procesadores de Intel y AMD soportan RAM cada vez más rápida, pero jamás la más rápida del mercado. Esto se debe a que se llega al punto en que se supera la latencia tolerable y se convierte en un cuello de botella para el rendimiento. Es más, las memorias con overclocking tienen un tiempo de comunicación más lento, sus picos de ancho de banda son ideales para cierta aplicaciones, pero sufren de leves problemas de latencia.