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

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

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

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

Если Вы хотите использовать Cleo, пожалуйста заполните регистрационную форму. Это абсолютно бесплатно.

Что это.

Система 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)