A Nvidia quer acelerar as transferências de dados conectando GPUs de datacenter a SSDs
Esta semana, a Microsoft introduziu o DirectStorage para PCs com Windows. 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 de um SSD diretamente para a GPU. Agora, a Nvidia e a IBM criaram uma tecnologia SSD/GPU semelhante, mas visam lidar com conjuntos de dados massivos em data centers.
Em vez de se concentrar em jogos de console ou PC como o DirectStorage, o Big Accelerator Memory (BaM) foi projetado para fornecer aos datacenters acesso rápido a grandes quantidades de dados em aplicativos intensivos em GPU, como treinamento de aprendizado de máquina, análise e computação de alto desempenho. a um trabalho de pesquisa descoberto pelo The Register esta semana. O documento intitulado “BaM: o caso para fornecer acesso de armazenamento orientado por GPU de alta granularidade e largura de banda” ( PDF ), pesquisadores da Nvidia, IBM e várias universidades dos EUA, oferece uma maneira mais eficiente de executar aplicativos de próxima geração em datacenters com enorme poder de processamento e largura de banda de memória.
O BaM também difere do DirectStorage porque os arquitetos do sistema planejam torná-lo de código aberto.
O documento afirma que, embora o acesso a dados de armazenamento orientado por CPU seja adequado para aplicativos “clássicos” de GPU, como treinamento de rede neural densa com padrões de acesso a dados “predefinidos, regulares e densos”, ele incorre em muita “sobrecarga”. à sincronização CPU-GPU e/ou amplificação do tráfego de I/O.” Isso o torna menos adequado para aplicativos de próxima geração que usam gráficos e análises de dados, sistemas de recomendação, redes neurais de gráficos e outros “padrões de acesso dependentes de dados refinados”, escrevem os autores.
Como o DirectStorage, o BaM funciona junto com um SSD NVMe. De acordo com o documento, o BaM “reduz a amplificação do tráfego de E/S, permitindo que os threads da GPU leiam ou gravem pequenas quantidades de dados determinados pelo computador sob demanda”.
Especificamente, o BaM usa a memória interna da GPU, que é um cache controlado por software, bem como a biblioteca de threads de software da GPU. Os threads recebem dados do SSD e os movem usando um driver de kernel Linux personalizado. Os pesquisadores testaram um protótipo de sistema com uma GPU Nvidia A100 PCIe de 40 GB, dois processadores AMD EPYC 7702 com 64 núcleos cada e 1 TB de memória DDR4-3200. O sistema está executando o Ubuntu 20.04 LTS.
Os autores observaram que mesmo um SSD de “nível de consumo” pode oferecer suporte ao BaM com desempenho de aplicativo “competitivo com uma solução somente DRAM muito mais cara”.
Deixe um comentário