A la hora de medir el rendimiento de la RAM y la VRAM tenemos se suelen hablar de dos parámetros de rendimiento, los cuales son el ancho de banda y la latencia. Pero, ¿qué relación hay entre estas dos características y si podemos catalogarlas como constantes?
Uno de los problemas de las especificaciones técnicas es que suelen dar los datos funcionando al 100% del rendimiento en condiciones perfectas. En el caso de la memoria esto no ocurre, ya que no todos los datos están a la misma latencia y el ancho de banda nunca es del 100%.
Más ancho de banda no significa menos latencia
Entendemos como latencia entre una unidad de proceso y su memoria asociada, al tiempo en que tarda en recibir una información que se ha peticionado o en recibir la señal de que se ha hecho un cambio en la memoria. Por lo que la latencia realmente es una forma de medir el tiempo.
El ancho de banda es en cambio la cantidad de datos que se transmiten en cada segundo, por lo que es una tasa de velocidad. Por lo que por lógica directa podemos llegar a pensar que a más velocidad cuando estamos buscando un dato, entonces en menos tiempo la CPU, GPU o cualquier otra unidad de proceso va a conseguir el dato.
La realidad es que esto no es así, es más, existe la particularidad de que cuanto más ancho de banda tiene una memoria entonces suele tener más latencia respecto a otras. Este fenómeno tiene una explicación que es la que os vamos a explicar en los siguientes apartados de este artículo.
La búsqueda de datos añade latencia
Casi todas las unidades de procesamiento en la actualidad tienen una jerarquía de cachés, en la cual el procesador preguntará primero en cada una de ellas antes de acceder a la RAM. Esto es debido a que la latencia directa entre el procesador y la RAM es lo suficientemente grande como para que resulte una perdida de rendimiento sobre el ideal del procesador.
Imaginad que estáis buscando un producto concreto, lo primero hacéis es buscar en la tienda del barrio, luego en una tienda un poco más grande y para terminar en unos grandes almacenes. la visita a cada establecimiento no se hace inmediatamente, sino que necesita un tiempo de viaje. En la jerarquía de cachés ocurre lo mismo, a eso se le llama un «cache miss» por lo que el tiempo lo podemos resumir de la siguiente manera:
Tiempo de búsqueda = Tiempo de búsqueda en la primera caché + periodo cache miss+… tiempo de búsqueda en la última cache.
Si el tiempo de búsqueda por las cachés es superior al tiempo en que se tarda en ir a la RAM principal, entonces el sistema de cachés estará mal diseñado en un procesador, ya que desafía el propósito por el cual se habría creado la caché
Ahora bien, el problema de la latencia es más complejo, ya que al tiempo de acceso añadido por la búsqueda de la caché le hemos de añadir la latencia que se añade para buscar el dato en la RAM si este no se encuentra en la RAM. ¿Con que problemas nos podemos encontrar? Pues por ejemplo que todos los canales de memoria se encuentren ocupados y se cree una contención, la cual ocurre cuando la RAM tiene los canales de memoria ocupados y está recibiendo o entregando otros datos.
¿Cómo afecta la latencia al ancho de banda?
Tal y como se ve en el gráfico la latencia no es la misma para todo el ancho de banda con la memoria.
- Región constante: La latencia se mantiene constante en el 40% del ancho de banda sostenido.
- Región lineal: Entre el 40 y el 80% del ancho de banda sostenido, la latencia se incrementa de manera lineal. Esto ocurre por el hecho que hay una sobresaturación de peticiones a memoria que se han ido acumulando al final por culpa de la contención.
- Región exponencial: En el último 20% del tramo del ancho de banda la latencia de los datos crece exponencialmente, todas las peticiones a memoria que no han podido ser resueltas en el periodo anterior se acumulan en esta parte, creando contenciones entre ellas.
Este fenómeno tiene una explicación muy simple, las primeras peticiones a memoria que se responden son aquellas que se encuentran primero, la mayoría de ellas se encuentran en la caché al tener esta una copia, pero las que no se encuentran en la caché se van acumulando. Una de las diferencias entre las cachés y la RAM es que las primeras pueden soportar varios accesos simultáneos, pero cuando la búsqueda del dato ocurre en la RAM entonces la latencia es mucho más grande.
Tenemos la tendencia de imaginarnos la RAM como una especie de torrente de agua en el que no para de circular datos a la velocidad que se especifica, cuando la RAM realmente no va a mover datos a no ser que tenga una petición a la misma. Dicho de otra manera la latencia afecta al caudal y por tanto al ancho de banda.
Formas de reducir la latencia
Una vez que sabemos que la contención en el acceso a los datos crea latencia y esta afecta al ancho de banda hemos de pensar en las soluciones. La más clara de ella es el hecho de aumentar la cantidad de canales de memoria con la RAM, precisamente esta es una de las claves por la cual la memoria HBM tiene menor latencia de acceso que la GDDR6, ya que 8 canales de memoria permiten una menor contención que con 2 canales de la GDDR6.
La mejor manera de reducir la latencia sería la creación de una memoria tan cercana al procesador como una caché, pero es imposible crear una RAM con la suficiente capacidad de almacenamiento para ser totalmente funcional. Podemos colocar un chip de memoria y conectarlo vía TSV, pero al estar tan cercana la memoria para evitar el ahogamiento termal y con ello el ancho de banda efectivo.
En este caso, dado que la latencia afecta al ancho de banda, por la cercanía entre la memoria y el procesador entonces el efecto de la latencia sobre la memoria sería mucho menor. ¿La contrapartida de implementar una CPU o una GPU con 3DIC? Duplicaría los costes del PC y el más complejo proceso de fabricación haría que menos unidades llegasen a nosotros, ergo más escasez y por tanto precios aún más caros.
Fuente: hardzone.es[/vc_column_text][/vc_column][/vc_row]
Ahora que conoces mas sobre tu producto, puedes realizar tu compra con la confianza y calidad que te brinda Agiletech.com.pe