Bottom line: Big accelerator Memory (BaM) is a newly developed architecture from Nvidia, made in collaboration with IBM and several US universities. The technology aims to improve data center performance by giving GPU-accelerated applications direct access to large amounts of SSD storage, bypassing the need for a general-purpose CPU.
The research team behind BaM notes the increased use of GPUs inside modern data centers for their high memory bandwidth and compute capabilities. However, they argue that the traditional model of executing applications and workloads has involved a CPU-centric approach, which can lead to excessive overhead and I/O bottlenecks between components.
With BaM, GPU-accelerated applications such as analytics and AI workloads like machine learning and neural networks training could see a significant performance benefit in terms of data transfers by taking the CPU out of the equation and enabling the GPU to directly read and write small amounts of data to NVMe SSDs on-demand.
As The Register reports, the BaM architecture is made up of two main parts. The first is a software-managed cache of GPU memory and the second is a software library for the GPU that lets it directly talk to NVMe storage and request data by utilizing a custom Linux kernel driver, RDMA and PCIe interfaces.
The researchers also demonstrated BaM’s viability with a prototype powered by Linux and off-the-shelf GPUs and NVMe SSDs. Some of the advantages seen at this point include better synchronization and efficient use of I/O bandwidth, alongside parallelized storage access.
Although targeted at enterprise/businesses, the BaM API could also benefit consumer-grade SSDs, according to the researchers, delivering competitive performance against much more expensive DRAM-only solutions. While the underlying technology and use cases are different, BaM seems like a similar GPU/SSD implementation as Microsoft’s recently released DirectStorage for PCs.