parallel.ru
Главная Документация Скриншоты Примеры Обратная связь

Работа выполняется при поддержке РФФИ, грант N 02-07-90442.

Система управления заданиями Cleo

На головную ENGLISH VERSION

Что это.

Система Cleo предназначена для эффективного управления ресурсами вычислительных кластеров. Система организует поток вычислительных заданий в одну или несколько очередей и позволяет управлять порядком их выполнения на кластерах.

Возможности.

Cleo позволяет:

  • управлять прохождением задач(поддерживаются все реализации MPI и других параллельных систем)
  • гарантировать завершение задач на узлах
  • автоматически блокировать зависшие вычислительные узлы
  • автоматически распределять свободные процессоры между задачами
  • управлять политикой использования кластера различными пользователями
  • устанавливать для пользователей лимиты использования кластера (число занятых процессоров, время работы задач, и т.п.)
  • предоставлять информацию о работе задач на кластере (с помощью дополнительного пакета qs-web, входящего в дистрибутив)
  • расширять возможности системы за счёт внешних модулей и планировщиков

Требования.

Для работы Cleo необходимы: perl версии 5.6 или выше с модулями Storable, Fcntl, Time, POSIX и IO, ОС Linux 2.4 или выше.

Структура.

Система Cleo включает в себя:

  • сервер, управляющий очередями
  • агент, работающий на вычислительных узлах
  • программы-клиенты, позволяющие управлять задачами

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

  mpirun -np 4 my_program arg1 arg2


Просмотр состояния очередей осуществляется с помощью команды tasks или через web-интерфес.

  > tasks
Queue: main
Running: 1; Queued: 0; Pre-runned: 0; Free: 8 of 9+1 (0 blocked)
Running:
ID : User: NP: Time : Timelimit: Task
1635 : user1: 2: 20:07:41 :Mar 25 15:25:39: my_task


Для удаления задачи можно воспользоваться командой tasks с ключом -d:

  > tasks -d 1635


Набор команд для администраторов кластера:

  • cleo-priority - сменить приоритет задачи. Данная команда доступна и пользователям
  • cleo-blocktask - заблокировать или разблокировать задачу(задачи). Данная команда доступна и пользователям
  • cleo-autoblock - установить политику автоматической блокировки новых задач для группы пользователей
  • cleo-blockcpu - заблокировать или разблокировать процессор(ы)
  • cleo-mode - узнать или сменить режим работы системы
  • cleo-stat - генерация статистики использования кластеров

Очереди могут быть как независимыми, так и подчинёнными. Например, рассмотрим такую иерархию очередей:

main
long short
cpu1 cpu2 cpu3 cpu4 cpu5 cpu6 cpu7 cpu8 cpu9 cpu10


Здесь очереди long и short независимы - любые задачи поставленные в одну из них, не влияют на другую. Но обе они являются дочерними по отношению к очеред main. Любая задача, поставленная в очередь main, перед запуском будет помещена в дочерние очереди, если в родительской очереди нет свободных, не разделяемых с дочерними очередями, процессоров. Как только в дочерних очередях под эту задачу освободится нужное число процессоров, задача будет запущена.

В стандартном планировщике Cleo реализован алгоритм быстрого запуска "коротких" задач. Если в какой-то момент свободно несколько процессоров, но очередным задачам этого количества недостаточно для запуска, то может быть запущена задача, стоящая после них (может быть в самом "хвосте" очереди). Это возможно при условии, что этой задаче хватает свободных процессоров для запуска и лимит времени её работы таков, что она завершится раньше, чем запланировано освобождение новых процессоров.

Более подробно возможности Cleo описаны в документации.

Здесь можно получить последнюю версию системы (5.0)