¿Cómo definirías el rendimiento de un PC o de una consola? Cada uno tendrá un punto de vista diferente de lo que espera de ambos dispositivos, pero como sabemos cada vez se parecen más tanto en virtudes como en defectos. Hoy trataremos estos últimos, puesto que las limitaciones que vamos a ver en los próximos años marcarán el devenir de una industria que cada vez se enfoca más en los juegos y deja la creación de contenido y las tareas de IA y DL para el sector profesional. Este será el rendimiento según afecta la latencia a los componentes de PC y consolas.
En realidad no importa donde miremos en la industria, las arquitecturas aunque diferentes van enfocadas cada vez a sectores más específicos sí, pero tienen una misma base, mismos problemas, mismas ventajas. Por ello vamos a ver los principales cuellos de botella del hardware y su desarrollo para comprender hacia donde nos moveremos.
Diferentes componentes, diferentes limitaciones, rendimientos y latencias
Lógicamente las limitaciones o cuellos de botella son diferentes en cada componente, pero tienen algo en común en todos los casos con mayor o menor importancia: la latencia. En algunos casos es clave, en otros pasa de puntillas, pero marcará el rendimiento sin lugar a dudas en los próximos años. Además, es indistinto para PC o consola, donde salvando sus particularidades igualmente están afectados/as.
Para que nos hagamos una idea de lo que importa la latencia tenemos este cuadro que de alguna manera se hizo famoso en su momento y que ilustra bastante bien lo que supone en varios componentes, los nanosegundos, milisegundos y segundos, comparado con el tiempo como lo percibimos normalmente los humanos.
Como se puede ver en un procesador a 3 GHz un retraso en los ciclos de reloj de solo 0,3 ns implicaría una percepción de 1 segundo para nosotros. Acceder a la L3 que es de media unos 12 ns según la arquitectura del procesador, supone 43 segundos de nuestra vida.
Acción | Latencia media | Tiempo de realización por una persona |
---|---|---|
Tiempo de un ciclo de reloj a 3 GHz | 0,3 ns | 1 segundo |
Tiempo de acceso a la caché L1 de una CPU | 0,9 ns | 3 segundos |
Tiempo de acceso a la caché L2 de una CPU | 2,8 ns | 9 segundos |
Tiempo de acceso a la L3 | 12,9 ns | 43 segundos |
Tiempo de acceso a RAM | Entre 70 a 100 ns | Entre 3,5 minutos y 5,5 minutos |
Tiempo de entrada y salida de un SSD NVMe | Entre 7 a 150 picosegundos | Entre 2 horas y 2 días |
Tiempo de entrada y salida de un HDD | Entre 1 y 10 ms | Entre 11 días y 4 meses |
Internet, tiempo de acceso de San Francisco a New York | 40 ms | 1,2 años |
Tiempo en Internet entre San Francisco a Australia | 183 ms | 6 años |
Reinicio de la virtualización de un SO | 4 segundos | 127 años |
Reinicio de una virtualización | 40 segundos | 1200 años |
Reinicio de un sistema físico | 90 segundos | 3 milenios |
Si esto lo extrapolamos a la RAM y subimos a 100 ns equivaldría a recorrer una distancia hasta nuestro lugar de destino de 5,5 minutos. Quizás las más llamativas sean los tiempos de latencia de Internet, algo más común que puede entender cualquiera, y es que si tenemos 40 milisegundos entre San Francisco y New York equivaldría a perder 1,2 años de nuestra vida y si cambiamos el destino a Australia nada menos que 6 años.
Por lo tanto, la latencia es muy importante en un PC o en una consola, donde tal y como vemos a cada generación se lucha desde hace más de 40 años por reducirla para poder así aumentar el rendimiento por instrucción y ciclo. Dicho esto, vamos a ver cómo afecta a los principales componentes y si hay mejoras en este aspecto a corto o largo plazo.
Latencia en el procesador
Es el componente que más sufre con diferencia. El ex arquitecto jefe de AMD, Jim Keller lo definió en su momento de una forma brillante:
Los límites del rendimiento son la previsibilidad de las instrucciones y los datos
Es decir, si puedes predecir que recursos son necesarios para cada instrucción y dato, entonces puedes gestionarlos mejor y, por lo tanto, generar menor tiempo entre ellos o aumentar el rendimiento.
De nuevo la latencia aquí y es que el problema lo vio primero AMD y ahora Intel lo resolverá en parte en Raptor Lake: aumentar el tamaño de las cachés para mitigar los tiempos de acceso y el paso de instrucciones y datos en la jerarquía de las mismas.
Lo que se intenta es no acceder a la RAM, o limitar los ciclos de acceso en la medida de lo posible. AMD ya lo hizo con Ryzen y Zen 2 a Zen 3, Intel lo hará ahora en su siguiente arquitectura.
Memoria RAM y GDDR6
Es posiblemente el aspecto más clave en estos dos componentes. La memoria RAM siempre está en tela de juicio por la latencia, pero lo que realmente se demanda es más ancho de banda, más frecuencia, más velocidad sin comprometer los ratios con los timings. DDR5 ha desbocado esto para bien y aunque en PC no lo vayamos a notar tanto como en servidor, es una tecnología necesaria para el sector en general.
En cuanto a GDDR6 la latencia no es tan importante como sí el ancho de banda resultante, puesto que la capacidad de computación de las GPU es cada vez mayor y necesitan abastecerse de datos de sus memorias asociadas. Por lo tanto, la latencia es secundaria, aunque no es ni mucho menos despreciable.
Tampoco hay mejoras a la vista frente a GDDR6X como tal, donde se está aumentando la velocidad y frecuencia manteniendo la latencia en los mismos ciclos de reloj.
SSD, el rendimiento y su latencia en PC
Son los menos dependientes de este factor, pero la latencia es necesaria en las operaciones aleatorias de alto ancho de banda. Las controladoras necesitan intercambiar cada vez más datos con las celdas y, por lo tanto, no se puede perder rendimiento con ciclos de reloj que impacten en un ancho de banda sin procesar a base de IOPS.
En resumen, son los núcleos de los procesadores los cuales se ven más afectados por su caché, algo que pasará en no demasiado tiempo con las GPUs, puesto que también están aumentando su tamaño y exportándolas fuera del los grupos de Shaders como ha hecho AMD con Infinity Fabric e Infinity Caché, donde precisamente pretenden no depender de una mayor velocidad de GDDR en GPU y al mismo tiempo no ocupar espacio en las unidades CU.
Existe una animación muy curiosa que con solo hacer clic en los distintos elementos que se representan se entiende a la perfección la importancia de la latencia del sistema en sus distintos componentes. Solo tenéis que acceder a una web y comenzar a clicar para ver la animación de cómo funcionan los elementos,
Es sobre todo interesante cuando no paramos de hacer clic en la memoria del sistema, luego pasamos a la L2 y luego a la L1 para ver la organización y el flujo de rendimiento y latencia entre ellas, realmente curioso e instructivo. Por lo tanto, el paso de AMD con Zen 2 y Zen 3 ha sido crucial para poder enfrentarse a Intel a costa de un espacio en los DIE muy grande, algo que ahora tiene que replicar Intel y que antes no debía hacerlo por su proceso litográfico.
Temperatura, ¿más grave que la latencia y el rendimiento en PC?
Lógicamente, un factor determinante en el rendimiento de cualquier chip es la temperatura. El problema es que esto es inherente a la tecnología, puesto que cualquier chip que presente voltaje tendrá una mayor o menor temperatura por simple funcionamiento. A mayor complejidad del chip, mayor número de núcleos y unidades tenga, más frecuencia y lógicamente más voltaje necesita, ergo se calentará más.
Como era de esperar, esto es algo ambiguo, puesto que siempre va a ser un factor limitante, pero al mismo tiempo el calor no es un factor tecnológico y simplemente hay que convivir con él como llevamos haciendo desde la creación del primer chip.
En definitiva, la latencia en PC y el rendimiento de los distintos componentes es el factor clave que está limitando y limitará a este (el rendimiento) más que cualquier otro, puesto que de nada vale tener una mayor velocidad general si el tiempo de acceso y el traspaso de información entre componentes es cada vez más tardío.