Google предложил Device Memory TCP для сетевой передачи данных между устройствами

Автор Сообщение
news_bot ®

Стаж: 6 лет 3 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
13-Июл-2023 15:15

Компания Google представила в списке разработчиков ядра Linux реализацию механизма Device memory TCP (devmem TCP), позволяющего напрямую по сети передавать данные из памяти одних устройств в память других устройств, без промежуточного копирования этих данных в буферы, размещённые в системной памяти хоста. Реализация пока находится на стадии RFC, т.е. выставлена для обсуждения и рецензирования сообществом, но не оформлена для передачи в основной состав ядра Linux.
Ожидается, что Device memory TCP позволит существенно поднять эффективность взаимодействия в кластерах и распределённых системах машинного обучения, использующих дополнительные платы-ускорители. Применение ускорителей машинного обучения приводит к существенному увеличению объёма информации, передаваемой в процессе обучения моделей из хранилища в память GPU/TPU. В некоторых случаях тренировка моделей машинного обучения может расходовать лишь 50% доступных вычислительных ресурсов TPU, и одним из способов исключения простоев и более полного использования ресурсов GPU/TPU является повышение пропускной способности и эффективности передачи данных.
В настоящее время передача данных между устройствами на разных хостах сводится к
копированию данных из памяти устройства в память хоста, передаче информации на другой хост по сети и копированию из памяти целевого хоста в память другого устройства. Подобная схема не является оптимальной и при передаче больших объёмов информации создаёт дополнительную нагрузку на пропускную способность памяти и шины PCIe.
Механизм Device memory TCP позволяет исключить память хостов из этой цепочки и сразу передавать данные по сети из памяти устройств и помещать данные, поступившие в сетевых пакетах, в память устройств. Для работы Device Memory TCP требуется сетевая карта, способная раздельно обрабатывать в разных буферах заголовки пакетов и инкапсулированные в пакеты данные (payload). Данные загружаются из памяти устройства в payload-буфер сетевой карты при помощи механизма dmabuf, а заголовки переносятся из основной памяти и заполняются системным TCP/IP-стеком. Для повышения эффективности дополнительно могут использоваться возможности сетевых карт по отдельной обработке потоков в разных rx-очередях.
Потребность в высокопроизводительном механизме обмена данными между устройствами возрастает с учётом применения для машинного обучения распределённых систем, на которых ускорители находятся на разных хостах, а также когда данные для обучения моделей передаются с внешних SSD-накопителей. Тестирование производительности, проведённое в конфигурации с 4 GPU и 4 сетевыми карами, показало, что применение Device Memory TCP позволяет достигнуть уровня 96.6% от доступной линейной скорости при передаче данных напрямую между памятью устройств.
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_devmem, #_tcp, #_google, #_ai, #_optimization, #_linux, #_kernel
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 20-Май 21:01
Часовой пояс: UTC + 5