Компания OpenAI представила Pando, высокопроизводительный бэкенд для Git - QubStore

Компания OpenAI представила Pando, высокопроизводительный бэкенд для Git

OpenAI анонсировала Pando — собственный высокопроизводительный Git-бэкенд, уже работающий на внутреннем монолитном репозитории компании.

Причиной отказа от штатного хранилища Git стал лавинообразный рост параллельных операций push и fetch: AI-агенты используются массово, а классические приёмы масштабирования — трёхфазные коммиты и журнал упреждающей записи (WAL) — к такой нагрузке не подошли. После внедрения Pando медианная задержка push-операций упала почти на 80%, а надёжность слияний заметно выросла. Развёрнутый репозиторий прокачивает порядка петабайта Git-данных в сутки, пиковые нагрузки достигают 57 ТБ в час.

Главное архитектурное отличие Pando — отказ от глобальной согласованности веток и ссылок по всему репозиторию в каждый момент времени. Вместо этого используется причинно-следственная согласованность (causal consistency) на уровне отдельных веток. Это позволяет обрабатывать push-запросы параллельно и обновлять разные ветки независимо, без блокировок. Метаданные вынесены в отдельную распределённую БД: там хранятся указатели на ветки (refs) и сведения о том, какие коммиты и объекты лежат внутри сохранённых pack-файлов.

Чтобы снизить нагрузку на CPU и диски, сервер не генерирует уникальный pack-файл под каждого клиента. При fetch пакеты сохраняются как неизменяемые объекты в общем blob-хранилище и отдаются другим клиентам прямо из кэша. Для повторного использования pack-файлов при push сервер показывает клиенту только основную ветку (trunk) — так зависимости в пакете остаются предсказуемыми. Недостающие данные передаются через фоновую упаковку, устроенную по аналогии с LSM-деревьями: мелкие пакеты сливаются в крупные и лучше сжимаются.

Pando написан на Rust и доведён до готовности к внедрению за 10 недель. Большую часть кода сгенерировали и протестировали AI-агенты, применив формальную верификацию на TLA+ (Temporal Logic of Actions + Data) и Lean. В перспективе OpenAI рассчитывает задействовать бэкенд не только для обычной разработки, но и для координации больших групп AI-агентов, которые в реальном времени правят общий код.

Исходники Pando, включая серверные компоненты хранения репозитория и обработки протокола Git, пока закрыты, но компания не исключает публикации в будущем и обдумывает доступ к технологиям для сторонних пользователей. Правки и оптимизации самого протокола и штатного инструментария Git при этом развиваются в открытом git-репозитории и передаются в основной состав Git. В частности, проекту переданы патчи с расширением протокола packfile-uri для параллельной загрузки индексов и pack-файлов, реализация концепции «explicit haves» для более точного исключения уже имеющихся у клиента объектов, а также изменения для диагностики сетевых проблем и отслеживания медленных операций.

Ссылка на основную публикацию