Inicio / Tecnología e Informática / Nvidia revela Big Accelerator Memory: almacenamiento de estado sólido para GPU

Nvidia revela Big Accelerator Memory: almacenamiento de estado sólido para GPU

Nvidia revela Big Accelerator Memory: almacenamiento de estado sólido para GPU

La interfaz de programación de aplicaciones (API) DirectStorage de Microsoft promete mejorar la eficiencia de las transferencias de datos de GPU a SSD para juegos en un entorno Windows, pero Nvidia y sus socios han encontrado una manera de hacer que las GPU funcionen sin problemas con SSD sin una API propietaria. El método, llamado Big Accelerator Memory (BaM), promete ser útil para una variedad de tareas informáticas, pero será particularmente útil para las cargas de trabajo emergentes que utilizan grandes conjuntos de datos. Esencialmente, a medida que las GPU se acercan a las CPU en términos de programación, también necesitan acceso directo a grandes dispositivos de almacenamiento.

Las unidades modernas de procesamiento de gráficos no son solo para gráficos; también se utilizan para diversas cargas de trabajo pesadas, como análisis, inteligencia artificial, aprendizaje automático y computación de alto rendimiento (HPC). Para procesar grandes conjuntos de datos de manera eficiente, las GPU necesitan grandes cantidades de memoria costosa para fines especiales (p. ej., HBM2, GDDR6, etc.) localmente o acceso eficiente al almacenamiento de estado sólido. Las GPU de cómputo modernas ya tienen de 80 GB a 128 GB de memoria HBM2E, y las GPU de cómputo de próxima generación ampliarán la capacidad de la memoria local. Pero los tamaños de los conjuntos de datos también aumentan rápidamente, por lo que es importante optimizar la interoperabilidad entre las GPU y el almacenamiento.

Hay varias razones principales por las que se debe mejorar la interoperabilidad entre GPU y SSD. Primero, las llamadas NVMe y las transferencias de datos ejercen mucha presión sobre la CPU, que es ineficiente desde el punto de vista general del rendimiento y la eficiencia. En segundo lugar, la sobrecarga de la sincronización CPU-GPU y/o la amplificación del tráfico de E/S limita significativamente el ancho de banda de almacenamiento efectivo que requieren las aplicaciones con grandes conjuntos de datos.

«El propósito de Big Accelerator Memory es ampliar la capacidad de la memoria de la GPU y mejorar el ancho de banda de acceso al almacenamiento efectivo, al tiempo que proporciona abstracciones de alto nivel para los subprocesos de la GPU para facilitar el acceso granular y bajo demanda a estructuras de datos masivas en la jerarquía de memoria extendida», se lee. una descripción del concepto de Nvidia, IBM y la Universidad de Cornell citada por The Register.

(Crédito de la imagen: El registro)

Básicamente, BaM permite que la GPU de Nvidia obtenga datos directamente de la memoria y el almacenamiento del sistema sin usar la CPU, lo que hace que las GPU sean más autosuficientes de lo que son hoy. Las GPU de cómputo continúan usando la memoria local como caché administrada por software, pero mueven los datos mediante una interfaz PCIe, RDMA y un controlador de kernel de Linux personalizado que permite que las SSD lean y escriban la memoria de la GPU directamente cuando sea necesario. Los subprocesos de la GPU ponen en cola los comandos a los SSD si los datos requeridos no están disponibles localmente. Mientras tanto, BaM no utiliza la traducción de direcciones de memoria virtual y, por lo tanto, no experimenta eventos de serialización como fallas de TLB. Nvidia y sus socios planean abrir el controlador para permitir que otros usen su concepto BaM.

“BaM mitiga la amplificación del tráfico de E/S al permitir que los subprocesos de la GPU lean o escriban pequeñas cantidades de datos a pedido, según lo determine el cálculo”, se lee en el documento de Nvidia. «Hemos demostrado que el software de infraestructura BaM que se ejecuta en GPU puede identificar y comunicar accesos detallados a una velocidad lo suficientemente alta como para utilizar por completo los dispositivos de almacenamiento subyacentes, incluso con SSD de nivel de consumidor, un sistema BaM puede respaldar el rendimiento de las aplicaciones competitivas contra una solución DRAM mucho más costosa, y la reducción en la amplificación de E/S puede generar un beneficio significativo en el rendimiento».

En gran medida, el BaM de Nvidia es una forma de que las GPU obtengan una gran cantidad de almacenamiento y lo usen independientemente de la CPU, lo que hace que los aceleradores de cómputo sean mucho más independientes de lo que son hoy.

Los lectores astutos recordarán que AMD intentó casar GPU con almacenamiento de estado sólido con su tarjeta gráfica Radeon Pro SSG hace varios años. Si bien llevar almacenamiento adicional a una tarjeta gráfica permite que el hardware optimice el acceso a grandes conjuntos de datos, la tarjeta Radeon Pro SSG está diseñada únicamente como una solución gráfica y no está diseñada para cargas de trabajo informáticas complejas. Nvidia, IBM y otros están dando un paso más con BaM.