Могу ли я развернуть службу удаленного выполнения Bazel на ферме серверов, управляемой SLURM или LSF в масштабе?
Контекст
У нас есть устаревшая серверная ферма с несколькими рабочими станциями, а вычислительные ресурсы управляются SLURM. Пользователи представляют свои задания в виде сценариев оболочки. Затем планировщик SLURM отправит эти задания и запустит их на ферме серверов параллельно.
Цель
Теперь мы пытаемся внедрить bazel, сохраняя при этом возможность выполнять сборки с использованием нескольких вычислительных ресурсов. Нас интересует «удаленное исполнение» Базеля. В цитатах с этой страницы говорится о преимуществах, которые может предоставить удаленное выполнение:
- Более быстрая сборка и выполнение тестов за счет масштабирования узлов, доступных для параллельных действий.
- Согласованная среда выполнения для команды разработчиков
- Повторное использование результатов сборки в команде разработчиков
Первая строка именно то, что мы хотим!
Текущее состояние
В SLURM мы обычно делили общую задачу на несколько написанных вручную сценариев заданий. Однако удаленное выполнение bazel, по-видимому, имеет свой собственный механизм для распараллеливания процесса сборки в гранулах «действий» (правильно ли это?). Поэтому мы думаем, что нам нужно развернуть какой-нибудь сервис удаленного выполнения для bazel.
К сожалению, многие рассматриваемые нами решения разработаны на основе контейнерной среды и используют Kubernetes, который, как мне кажется, нельзя развернуть на ферме серверов, которую мы используем.
Вопросы
- Итак, странно ли то, что мы пытаемся развернуть удаленное выполнение Bazel на такого рода «неконтейнерном» кластере (обычно с диспетчером рабочей нагрузки, таким как SLURM или LSF)?
- Как мы можем развернуть службу удаленного выполнения в этой среде?