Запретить выполнение не-SGE программ
С точки зрения системного администрирования узла SGE, возможно ли заставить пользователей запускать долго выполняющиеся программы через qsub вместо того, чтобы запускать его автономно?
Проблема в том, что одна и та же машина действует как управляющий узел и вычислительный узел. Итак, я не могу отличить долго работающую программу от пользователя, который компилирует с помощью "gcc". В идеале я хотел бы заставить пользователей отправлять длительные задания (т. Е. Более часа) через qsub. Я даже не против быть немного скупым и убивать задания, которые выполнялись дольше часа, но не были отправлены через qsub.
До сих пор все, что я могу сделать, это отправлять электронные письма с просьбой "Пожалуйста, используйте qsub!"...
Я просмотрел конфигурацию SGE и, похоже, ничего не актуально. Но, может быть, я что-то пропустил... любая помощь будет оценена! Спасибо!
1 ответ
Я немного озадачен вашей настройкой, но я предполагаю, что пользователи отправляют задания, войдя в систему, которая также является вычислительным узлом. Вот несколько идей, от лучших к худшим:
Очевидно, что лучше всего иметь отдельный узел управления для пользователей.
За исключением этого, запустите виртуальную машину с ограниченными ресурсами в качестве управляющего узла.
Настройте ограничения ресурсов уровня пользователя (например, ulimit) на узлах. Вы можете ограничить использование процессора, памяти и процессов, что, скорее всего, то, что вам нужно, а не время.
Похоже, что последний может быть лучшим для вас. Это тоже не сложно.