Фон
Недавно моя лаборатория вложила средства в инфраструктуру вычислений на GPU. Более конкретно: два TitanV, установленных на стандартной серверной машине. В настоящее время на машине работает совсем не настроенный Windows Server. Каждый из моей лаборатории может войти в систему и делать все, что захочет. Время от времени случается, что машина совершенно бесполезна для других, потому что кто-то случайно занял всю доступную память.
Так как ML растет здесь. Я ищу лучший способ использовать нашу инфраструктуру.
Требования
- Многопользовательский. Доктора наук и студенты должны иметь возможность выполнять свои задачи.
- Очередь заданий или планирование (предпочтительно что-то вроде планирования с разделением по времени)
- Динамическое распределение ресурсов. Если выполняется одна задача, можно использовать всю память, но как только запускается вторая, они должны совместно использовать ресурсы.
- Простая / удаленная отправка вакансий: может быть, веб-страница?
Что я уже пробовал
У меня есть небольшая тестовая установка (бытовой ПК с GTX 1070) для экспериментов. Мои интернет-исследования указали мне на SLURM и Kubernetes.
В первую очередь мне нравится идея системы управления кластером, так как она дает возможность расширять инфраструктуру в будущем.
SLURM было довольно легко настроить, но я не смог настроить что-то вроде удаленной отправки или планирования временных интервалов.
Тем временем я также пытался работать с Kubernetes. Для меня он предлагает гораздо более интересные функции, прежде всего контейнеризацию. Однако все эти функции усложняют настройку и понимание. И снова я не смог построить что-то вроде удаленной подачи.
Мой вопрос
Кто-нибудь сталкивался с такой же проблемой и может сообщить о своем решении? У меня такое ощущение, что Kubernetes лучше подготовлен к будущему.
Если вам нужна дополнительная информация, дайте мне знать.
Спасибо Тим!