Очередь задач на одном устройстве

Вопрос или проблема

У меня есть новый сервер для выполнения симуляций с парой графических процессоров Tesla и 32 ядрами, работающий на CentOS 7.2. Я хотел бы, чтобы несколько пользователей могли отправлять задания на сервер, которые ставятся в очередь и выполняются по мере завершения предыдущих, желательно с какой-то системой приоритизации и лимитом времени, как PBS/TORQUE, но для одного компьютера, а не для кластера. Я знаю, что могу установить и настроить TORQUE для одной машины, но это кажется избыточным – теоретически, планировщик должен работать только тогда, когда задания завершаются или выполняются слишком долго. Я, вероятно, могу сам написать набор скриптов, но мне было интересно, существует ли уже решение?

Рассмотрите TaskSpooler — http://viric.name/soft/ts/.

Он работает как ‘at’, но помещает все в одну последовательную очередь.

HTCondor – это программное обеспечение для кластеров с отличной поддержкой для установок на одной машине. Они даже предоставляют Docker-образ minicondor, специально предназначенный для однопользовательских установок: https://htcondor.readthedocs.io/en/latest/getting-htcondor/for-docker.html
Но вы также можете установить его без Docker.

С официального сайта:

HTCondor может быть полезен для различных размеров сетей, от маленьких до больших. На одной машине HTCondor может выступать в качестве инструмента мониторинга, который приостанавливает задание, когда пользователь использует машину для других целей, и перезапускает задание, если машина перезагружается.

HTCondor частично разработан компанией Red Hat, поэтому он хорошо поддерживается для дистрибутивов на основе RPM, таких как CentOS.

Ответ или решение

Очереди рабочих заданий на одном сервере: Решения для оптимизации

С появлением мощных серверов, таких как тот, что у вас имеется с парой GPU Tesla и 32 ядрами под управлением CentOS 7.2, задача управления рабочими заданиями становится особенно важной. Вы хотите обеспечить возможность многопользовательского доступа к серверу с эффективной очередью заданий, предусмотреть систему приоритизации и ограничений по времени. Давайте рассмотрим несколько подходящих решений, которые помогут вам организовать работу на вашем сервере.

1. Зачем это важно?

Организация очередей заданий позволяет оптимизировать использование ресурсов, минимизировать время ожидания и обеспечивать более высокий уровень обслуживания для различных пользователей. Это особенно актуально в ситуациях, когда существует большое число параллельных задач, требующих значительных вычислительных мощностей.

2. Существующие решения

  • TaskSpooler: Это простое решение для создания очереди задач, которое работает по принципу системы at, добавляя все задания в последовательную очередь. Несмотря на свою простоту, оно не предоставляет возможности для приоритизации или ограничений по времени, что может быть ограничением для вашего сценария.

  • HTCondor: Это более сложное решение, которое отлично подходит для управления задачами как на кластере, так и на одном сервере. HTCondor имеет возможности для мониторинга заданий: он может приостановить выполнение задания, когда пользователь начинает использовать сервер для других целей, а затем продолжить выполнение после освобождения ресурсов. Установка minicondor, специализированного образа Docker, позволяет быстро развернуть необходимую среду на одном сервере, однако также возможна установка без использования Docker. HTCondor поддерживается Red Hat, что делает его хорошим выбором для RPM-дистрибутивов, таких как CentOS.

3. Возможности и преимущества

HTCondor обеспечивает:

  • Мониторинг заданий: Позволяет отслеживать статусы выполнения назначенных задач и обеспечивать автоматическое восстановление их работы в случае перезапуска системы.

  • Приоритизация: Возможность выставления приоритетов для разных заданий, что позволяет более критичным задачам получать ресурсы в первую очередь.

  • Лимиты по времени: Установка временных ограничений для выполнения каждой задачи, что помогает избежать блокировок.

4. Почему HTCondor – это хороший выбор?

HTCondor предоставляет высокую степень гибкости и мощные функции управления задачами. Возможность мониторинга и автоматического восстановления задач, наряду с поддержкой приоритизации и установки временных лимитов, делает его идеальным выбором для вашего сценария. Кроме того, наличие официальной поддержки для CentOS и RPM-дистрибутивов уменьшает вероятность проблем с установкой и настройкой.

5. Заключение

Для организации эффективной очереди заданий на вашем мощном сервере с несколькими пользователями и необходимостью управления приоритетами, HTCondor является превосходным выбором. Он не только обеспечивает необходимые функции, но и позволяет легко масштабироваться из-за своей универсальности. Рассмотрите внедрение HTCondor, чтобы оптимизировать использование ваших ресурсов, ускорить рабочие процессы и улучшить общий пользовательский опыт.

Дополнительная информация и документация по HTCondor доступны на официальном сайте, что дает вам возможность ознакомиться с возможностями платформы и начать её внедрение.

Оцените материал
Добавить комментарий

Капча загружается...