A Microsoft está trazendo o DirectStorage para PCs Windows esta semana. A API promete tempos de carregamento mais rápidos e gráficos mais detalhados, permitindo que os desenvolvedores de jogos criem aplicativos que carregam dados gráficos diretamente do SSD para a GPU. Agora, a Nvidia e a IBM criaram tecnologias SSD/GPU semelhantes, mas estão visando grandes conjuntos de dados em data centers.
Em vez de direcionar jogos de console ou PC como DirectStorage, Large Accelerator Memory (BaM) foi projetado para fornecer aos data centers acesso rápido a grandes quantidades de dados em aplicativos com uso intensivo de GPU, como treinamento de aprendizado de máquina, análise e computação de alto desempenho.a um artigo de registro essa semana. Intitulado “BaM: o caso para habilitar o acesso ao armazenamento orquestrado por GPU de alto rendimento refinado” (Formato PDF), um artigo de pesquisadores da Nvidia, IBM e algumas universidades dos EUA propõe uma maneira mais eficiente de executar aplicativos de próxima geração em data centers com enorme poder de computação e largura de banda de memória.
O BaM também difere do DirectStorage, pois os criadores da arquitetura do sistema planejam torná-lo open source.
Embora o acesso coordenado por CPU a dados armazenados seja adequado para aplicativos de GPU “clássicos”, como treinamento de rede neural densa com padrões de acesso a dados “predefinidos, regulares e densos”, isso causa uma “sincronização CPU-GPU” excessiva. e/ou amplificação de tráfego de E/S.” Isso o torna menos adequado para aplicativos de próxima geração usando análise de gráficos e dados, sistemas de recomendação, redes neurais gráficas e outros “padrões de acesso dependentes de dados refinados”, escreveram os autores.
Assim como o DirectStorage, o BaM funciona com SSDs NVMe. De acordo com o artigo, o BaM “mitiga a amplificação do tráfego de E/S, permitindo que os threads da GPU leiam ou gravem pequenas quantidades de dados conforme determinado pelo computador sob demanda”.
Mais especificamente, o BaM usa a memória integrada da GPU, que é um cache gerenciado por software, além da biblioteca de software de segmentação da GPU. Threads recebem dados do SSD e movem os dados com a ajuda de drivers de kernel Linux personalizados. Os pesquisadores o testaram em um sistema protótipo com uma GPU Nvidia A100 40GB PCIe, duas CPUs AMD EPYC 7702 (cada uma com 64 núcleos) e 1 TB de memória DDR4-3200. O sistema executa o Ubuntu 20.04 LTS.
Os autores observam que mesmo SSDs de “nível de consumidor” podem suportar BaM com desempenho de aplicativos “competitivo com soluções somente DRAM mais caras”.