👨🦳 Дед из Стэнфорда хоронит TCP. Почему ИИ-кластерам понадобился новый транспортный протокол Homa На прошедшей конфе AI Engineer 2026 профессор Джон Оустерхаут выдал базу... классический TCP и даже RoCE физически не вывозят современные ИИ-нагрузки. Проблема в том, что сейчас ДЦ гоняют не только жирные потоки данных. Появилась куча микро-сообщений... синхронизация воркеров, метаданные, лукапы в KV-кэшах. И когда кластер за большие суммы денег простаивает, потому что GPU ждут один потерявшийся 50-байтовый пакет координации, бизнес начинает терять прибыли 🤑 TCP проигрывает по трем причинам: 🔴 Когда пачка нод одновременно шлет тяжелый трафик на один сервер, буфер на коммутаторе переполняется. Если в эту же очередь попадает крайне важный короткий пинг синхронизации, он тупо встает в пробку за гигабайтами тяжелого трафика. Микросекунды решают 🏃♂️ 🔴 В TCP контроль перегрузки работает на стороне отправителя. Пока свитч накидает ECN-маркеров, пока получатель вернет ACK, пока удаленный отправитель поймет, что сеть легла и урежет окно... затор уже случился. Реакция идет по факту смерти пакетов. 🔴 TCP не видит границ сообщений. Короткое сообщение физически не может обогнать длинное, отправленное чуть раньше. 🙂 Homa - это транспортный протокол, созданный с нуля специально для ДЦ. Его архитектура строится на следующих моментах: 🟢 Как только получатель принимает первый пакет, он уже знает полный размер сообщения и сколько работы осталось. 🟢 Отправитель без спроса шлет только первые несколько пакетов. Остальной трафик он отправляет только получив разрешение от получателя. Получатель сам дирижирует входящим трафиком, не давая свитчу захлебнуться. 🟢 Мелкие пакеты динамически маркируются высшим приоритетом и раскидываются по хардварным очередям свитча, пролетая поверх жирных потоков. В бенчах результаты шикарные: 🟣 Задержка для коротких сообщений снизилась в 13 раз (менее 100 микросекунд против более 1 миллисекунды у TCP). 🟣 При этом передача тяжелого трафика стала быстрее почти в 2 раза. З.Ы. Сам 70+ летний Оустерхаут ради этого проекта вышел на полупенсию, чтобы фуллтайм коммитить в ядро Linux и лично саппортить тех, кто готов тестить протокол в бою. Вот это я понимаю - трушный выход с пенсии ради будущего ИТ 👴 Типичный 🥸 Сисадмин