UC Berkeley создала mKernel: единая библиотека для синхронизации GPU в кластерах
Команда UCCL из UC Berkeley выпустила mKernel — CUDA-библиотеку для синхронизации GPU в огромных кластерах. Вместо трёх отдельных инструментов она объединяет ло

Команда UCCL из UC Berkeley выпустила mKernel — CUDA-библиотеку, которая революционизирует синхронизацию GPU в больших кластерах. Библиотека объединяет локальную коммуникацию между GPU, межсерверную синхронизацию и вычисления в одном persistent kernel, избегая постоянных переключений контекста.
Узкое место в масштабных кластерах В масштабных дата-центрах
синхронизация между GPU — это одно из главных узких мест пропускной способности. Когда инженеры занимаются распределённым обучением больших моделей, они сталкиваются с проблемой, которую традиционно решали очень неэффективно. Раньше подход был послойным: инженеры использовали три отдельных инструмента и библиотеки. Первый — для быстрой связи внутри одного сервера (NVLink, который работает через высокоскоростные кабели между GPU). Второй — для синхронизации между разными серверами по сети (RDMA, который использует специальные сетевые адаптеры). Третий — для самих вычислений. Каждый переход между этими тремя системами замораживает весь конвейер GPU: она вынуждена остановиться, переключить контекст, выгрузить часть памяти, загрузить новые данные, и только потом продолжить работу. На кластерах с тысячами GPU эти микросекундные задержки накапливаются в минуты потери производительности.
Как mKernel решает проблему mKernel меняет философию кардинально.
Вместо трёх отдельных систем, все операции — локальная связь, сетевая синхронизация и вычисления — работают в одном persistent kernel. Это программа, которая постоянно живёт в памяти GPU и никогда не выгружается на CPU. Архитектура объединяет три компоненты: NVLink для связи между GPU на одном сервере — обеспечивает скорость 10-20x выше, чем PCIe, благодаря прямым высокоскоростным каналам между GPU RDMA через сетевые адаптеры для синхронизации между серверами — избегает перегрузок CPU и задержек операционной системы при пересылке данных между машинами * Плотные вычисления, встроенные прямо в kernel — GPU работает на локальных данных без переключений, синхронизируется с соседями и сразу переходит к следующей задаче Это означает, что GPU может беспрепятственно переходить от локальной связи по NVLink к глобальной синхронизации по RDMA к собственным вычислениям — всё в одном куске кода, без остановок.
Конкретный пример: как это работает на практике
При распределённом обучении один GPU не может двигаться вперёд, пока другие GPU на других серверах не закончат свои вычисления и не синхронизируют градиенты. В старом подходе GPU просто ждёт с полностью пустым конвейером. С mKernel процесс другой: GPU продолжает локальные вычисления на уже загруженных данных, одновременно синхронизируется с соседями через NVLink и RDMA, и сразу же переходит к следующей волне обучения без каких-либо перерывов. Это похоже на то, как конвейер автозавода не останавливается, пока деталь едет на следующую станцию.
Почему это критично для дата-центров
Распределённое обучение больших моделей — это одна из самых сложных вычислительных задач в современной разработке AI. Когда вы одновременно используете 1000 GPU (а крупные компании работают и с большим количеством), даже небольшое замедление синхронизации может съесть 20-30% всех ресурсов впустую. mKernel обещает полностью избавить от этого оверхеда. На первых тестах исследователи уже видят результаты: на многоузловых кластерах библиотека показывает ускорение синхронизации в 2-3 раза на типичных операциях. Это особенно критично для механизма внимания (attention) в трансформерах, где синхронизация градиентов между GPU — самая дорогостоящая часть всей работы.
Что это значит mKernel — это сигнал о том, что GPU-программирование
вступает в эру интегрированных систем. Раньше инженеры писали код слоями: сначала вычисления, потом синхронизация, потом передача. Теперь граница между ними размывается. Это значит ускорение вычислений в дата-центрах, это значит более доступное и быстрое обучение больших моделей, и главное — следующее поколение распределённых систем будет проектироваться совершенно по-новому.