Nvidia muestra su tecnología Big Accelerator Memory: Un SSD para la GPU
Nvidia, IBM y la Universidad de Cornell dieron a conocer la futura tecnología para GPUs Big Accelerator Memory (BaM), que en esencia podríamos decir que es integrar un SSD en una tarjeta gráfica, ya que se consigue que la GPU acceda a una gran cantidad de almacenamiento por medio de la unidad SSD sin tener que pasar antes por la CPU.
Una de las principales ventajas, es que la gráfica no tendría que depender en exceso de su propia memoria VRAM al tener acceso directo al almacenamiento del SSD, que al eliminar la CPU como intermediario, acelera las transferencias de datos y por ende el rendimiento. Esto permite que las unidades SSD, de cualquier tipo, lean y escriban directamente en la GPU.
"El objetivo de Big Accelerator Memory es ampliar la capacidad de memoria de la GPU y mejorar el ancho de banda de acceso efectivo al almacenamiento, al tiempo que proporciona abstracciones de alto nivel para que los subprocesos de la GPU puedan acceder fácilmente y bajo demanda a estructuras de datos masivas en la jerarquía de memoria ampliada", dice una descripción del concepto realizada por Nvidia, IBM y la Universidad de Cornell para The Registrer.
BaM permite a las GPU de Nvidia obtener datos directamente de la memoria y el almacenamiento del sistema sin utilizar la CPU, lo que hace que las GPU sean más autosuficientes de lo que son hoy en día. Las GPU de cálculo siguen utilizando la memoria local como caché gestionada por software, y no empleará la API Microsoft Storage, sino que sólo requerirá de una interfaz PCIe, RDMA y un controlador de kernel de Linux personalizado que permite a los SSDs leer y escribir en la memoria de la GPU directamente cuando sea necesario.
Los hilos de la GPU ponen en cola los comandos para los SSD si los datos necesarios no están disponibles localmente. Mientras tanto, BaM no utiliza la traducción de direcciones de memoria virtual y, por tanto, no experimenta eventos de serialización como los fallos de la TLB. Nvidia y sus socios planean abrir el controlador para que otros puedan utilizar su concepto de BaM.
"BaM mitiga la amplificación del tráfico de I/O permitiendo que los hilos de la GPU lean o escriban pequeñas cantidades de datos bajo demanda, según lo determine el cálculo", dice el documento de Nvidia. "Demostramos que el software de la infraestructura BaM que se ejecuta en las GPU puede identificar y comunicar los accesos de grano fino a una velocidad lo suficientemente alta como para utilizar plenamente los dispositivos de almacenamiento subyacentes, incluso con discos SSD de grado de consumidor, un sistema BaM puede soportar un rendimiento de la aplicación que es competitivo frente a una solución mucho más cara de sólo DRAM, y la reducción de la amplificación de E/S puede producir un beneficio de rendimiento significativo."