Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
ByteDance сократила задержку обмена параметрами в распределённых ML-системах, перенеся его с TCP на прямой доступ к памяти по сети RDMA. В препринте, который не прошёл рецензирование и где числа получили сами авторы, задержка в 99-м процентиле при инференсе снизилась на 43,7%. Результат зависит не только от сетевого оборудования: без отдельного программного слоя RDMA может работать хуже TCP.
ByteExpress встроили под существующий RPC-каркас Archon, не заставляя приложения напрямую управлять сетевыми адаптерами. Зарегистрированную память выделяет специальный распределитель, поэтому сообщения перемещаются между приложением и сетью без лишнего копирования. Логические соединения делят аппаратные очереди, кредиты ограничивают отправку при нехватке буферов у получателя, а программное окно сдерживает объём данных, одновременно переданных в сеть.
При инференсе средняя задержка получения параметров снизилась на 35,7%, а общая загрузка процессоров — на 10,69% относительно ядрового стека TCP. Это замеры сетевого обмена с серверами параметров, а не полной задержки пользовательского запроса.
Обучение показало, зачем нужен контроль выше аппаратного уровня. С одним аппаратным управлением перегрузкой задержка отправки параметров в 99-м процентиле достигала 1,12 секунды против 1,03 секунды у TCP. После добавления программного окна она упала до 268 миллисекунд, то есть на 74% относительно TCP; в измеренном интервале механизм PFC не приостанавливал трафик.
Сбои оставили на уровне RPC: Archon применяет тайм-ауты, повторяет запросы, выбирает другую реплику и при необходимости возвращается к TCP. Подход проверяли в двух производственных системах ByteDance — рекомендательном инференсе и обучении с серверами параметров — на адаптерах Mellanox ConnectX-5. Базой служил развёрнутый Linux TCP/IP, поэтому результаты не сравнивают ByteExpress со всеми вариантами настройки TCP и пользовательскими транспортами.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



