Найти тему
Уловка-32

Nvidia хочет ускорить передачу данных, подключив графические процессоры центров обработки данных к твердотельным накопителям

Nvidia, IBM, университетские исследователи планируют сделать BaM открытым исходным кодом.

На этой неделе компания Microsoft представила DirectStorage для ПК под управлением Windows. API обещает ускорить время загрузки и повысить детализацию графики, позволяя разработчикам игр создавать приложения, загружающие графические данные с твердотельного накопителя непосредственно на GPU. Теперь Nvidia и IBM создали аналогичную технологию SSD/GPU, но они нацелены на массивные массивы данных в центрах обработки данных.

И цель этой технологии не консольные или компьютерные игры, как у DirectStorage. Big accelerator Memory (BaM) предназначена для предоставления центрам обработки данных быстрого доступа к огромным объемам данных в GPU-интенсивных приложениях, таких как обучение машинному обучению, аналитика и высокопроизводительные вычисления. Об этом говорится в исследовательском документе, обнаруженном The Register на этой неделе.

Документ под названием "BaM: A Case for Enabling Fine-grain High Throughput GPU-Orchestrated Access to Storage" (PDF), подготовленный исследователями из Nvidia, IBM и нескольких университетов США, предлагает более эффективный способ запуска приложений следующего поколения в центрах обработки данных с огромной вычислительной мощностью и пропускной способностью памяти.

BaM также отличается от DirectStorage тем, что создатели архитектуры системы планируют сделать ее с открытым исходным кодом.

В документе говорится, что хотя доступ к данным из хранилища, организованный центральным процессором, подходит для "классических" приложений на GPU, таких как обучение плотных нейронных сетей с "предопределенными, регулярными, плотными" шаблонами доступа к данным, он вызывает слишком много "накладных расходов на синхронизацию CPU-GPU и/или усиление трафика ввода-вывода". Это делает его менее подходящим для приложений нового поколения, использующих аналитику графов и данных, рекомендательные системы, графовые нейронные сети и другие "мелкозернистые модели доступа к данным", пишут авторы.

Реализация прототипа BaM с использованием "готовых компонентов".
Реализация прототипа BaM с использованием "готовых компонентов".

Как и DirectStorage, BaM работает вместе с твердотельными накопителями NVMe. Согласно статье, BaM "смягчает усиление трафика ввода-вывода, позволяя потокам GPU читать или записывать небольшие объемы данных по требованию компьютера".

Более конкретно, BaM использует встроенную память GPU, которая является программно управляемым кэшем, плюс программную библиотеку потоков GPU. Потоки получают данные с твердотельного накопителя и перемещают их с помощью специального драйвера ядра Linux. Исследователи провели тестирование на прототипе системы с графическим процессором Nvidia A100 40GB PCIe, двумя процессорами AMD EPYC 7702 с 64 ядрами каждый и 1 ТБ памяти DDR4-3200. Система работает под управлением Ubuntu 20.04 LTS.

Прототип системы исследователей включал графический процессор Nvidia A100 40GB PCIe (на фото).
Прототип системы исследователей включал графический процессор Nvidia A100 40GB PCIe (на фото).

Авторы отметили, что даже твердотельный накопитель "потребительского класса" может поддерживать BaM с производительностью приложений, которая "конкурентоспособна по сравнению с гораздо более дорогим решением, использующим только DRAM".