
Професор Стенфорда пропонує новий протокол Homa замість TCP
Професор-емерит Стенфордського університету Джон Оустерхаут стверджує, що TCP не впорається з навантаженням епохи AI і тому пропонує впровадження нового протоколу Homa: затримка коротких повідомлень у нього в 13 разів менша.
TCP — протокол, на якому побудовано інтернет і хмарні сервіси, — погано підходить для навантаження епохи AI, заявляє професор-емерит Стенфордського університету Джон Оустерхаут. Як вихід він запропонував новий протокол Homa і зараз вважає його поширення своїм «життєвим місієм».
«TCP, незважаючи на всю свою надійність, не годиться для децентралізації», — сказав Оустерхаут на AI Engineer World's Fair.
Чому TCP більше не підходить
TCP створено для упорядкування мережевого трафіку: він має керування потоком, гарантію доставки та керування перевантаженням. Але його модель даних — це потік байтів: повідомлення надсилаються без пріоритету, і одержувач не може вибрати коротке замість довгого передавання. Відправник же, спираючись на підтвердження, змушений вгадувати, наскільки сповільнити потік.
Для звичайного інтернет-трафіку це прийнятно, а для чутливого до затримки навантаження AI — ні: між лабораторіями переносять ваги моделі, KV-кеш і чекпоінти на дорогих GPU, а пропускну здатність поділяють короткі спалахи задач агентів і керування. «Для таких навантажень головне — затримка», — сказав Оустерхаут; навіть одна мілісекунда залишає дорогий GPU простоювати.
Як працює Homa
Homa спирається на повідомлення замість потоку: як і RPC, довжина повідомлення точно визначена. На відміну від TCP, перевантаженням керує одержувач: уже з першого пакета він оцінює, скільки даних надходить, сам визначає порядок надсилання та алгоритмом SRPT надає перевагу коротким повідомленням.
У результаті 99-й перцентиль затримки коротких повідомлень у Homa становить 92 мікросекунди, а в TCP — 1,2 мілісекунди, тобто в 13 разів менше (у мережі 100 Гбіт/с при навантаженні 80%). На довгих повідомленнях Homa також приблизно вдвічі швидший.
Стандартизація та впровадження
Робота над Homa почалася з дисертаційної роботи, опублікованої у 2019 році; її автор Бехнам Монтазері зараз працює інженером у Google. Оустерхаут готує документ стандартизації IETF і працює над додаванням Homa в ядро Linux; у березні протокол перенесли на версії 8 та 9.5 Red Hat Enterprise Linux.
За словами Оустерхаута, додати Homa до мережі просто: потрібно зібрати код із GitHub і встановити модуль в ядра Linux клієнтів і серверів, без перевантаження. «Homa працює паралельно з TCP, тому програми можуть поступово переходити з TCP на Homa», — пише він. Запуск Homa прискорює й наявні TCP-програми; зараз Оустерхаут працює над прототипом з однією великою фінансовою компанією.
Сумніви та альтернативи
Не всі поділяють цей погляд: відомий мережевий архітектор Іван Пепельняк у 2023 році опублікував різко позиційну роботу, в якій ставить під сумнів оцінки Оустерхаута щодо роботи TCP і називає Homa «вирішенням, що шукає проблему».
Обмеження TCP обходять і інші: бази даних для цього використовують DPDK, сховища перейшли на NVMe over Fabrics, а Google створила QUIC (основу HTTP/3). Власні рішення пропонують мережі RDMA та Scalable Reliable Datagram від AWS; поки що TCP все одно лідер.
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.