Modal перестроила свою платформу для запуска песочниц. Раньше она работала хорошо, но не справлялась с нагрузками, которые нужны современным агентам и обучению с подкреплением. Клиентам требуются миллионы песочниц и десятки тысяч новых в секунду. Старая архитектура упиралась в централизованные базы данных и последовательные операции — как у Kubernetes, где каждый новый контейнер требует записи в etcd, а планировщик работает последовательно с O(n×p). Modal решила не эволюционировать, а начать с нуля.
В новой версии отказались от общего хранилища состояний. Каждый вычислительный узел сам сообщает о своей загрузке в Redis-стрим, а планировщики читают эти данные асинхронно и принимают решения по простому алгоритму балансировки в памяти. Никаких центральных БД на критическом пути: планировщик напрямую вызывает воркер по RPC, тот создаёт песочницу, если есть ресурсы. Всё горизонтально масштабируется — добавил планировщиков, и пропускная способность растёт. Нет единой точки отказа.
В тесте Modal запустила миллион песочниц меньше чем за минуту. Планирование занимает десятки миллисекунд, медианное время старта песочницы — меньше полусекунды. Длинный хвост задержек объясняется конкуренцией за блокировку rtnl в ядре Linux при массовом запуске контейнеров на одном узле — эту проблему ещё решают. В целом система уже доступна в бета-версии, и компания заявляет, что не видит практических пределов для масштабирования, кроме доступных ресурсов железа.