Назад | Перейти на главную страницу

асинхронная организация очереди заданий в Sun grid Engine (SGE) - возможно?

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

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

  2. Мы также хотели иметь возможность назначать узлам «асинхронные» задания. Это могут быть задачи, которые можно выполнять параллельно с другими задачами, обычно это задачи по обслуживанию самих машин.

В документации SGE я вижу, что можно определить несколько очередей между узлами, но это не совсем то же самое, что иметь очередь, которая берет любое задание, которое ему передается, запускает его в фоновом режиме, а затем принимает другое. Я не совсем в курсе всех параметров конфигурации в SGE, но похоже, что это возможно. Может ли кто-нибудь указать мне на некоторую информацию о том, как это можно настроить?

Вы можете определить количество слотов в очереди. Таким образом, для вашей «синхронной» очереди заданий вы можете установить количество слотов на хост равным 1. Таким образом, только одно задание будет приниматься в очередь хоста за раз, а после его завершения может выполняться другое. Для «асинхронной» очереди просто установите для количества слотов какое-то большое число, чтобы любое количество заданий, которое вам нужно, могло выполняться одновременно на хосте.

Теперь, когда у вас есть две очереди, вам нужно каким-то образом назначать для них задания. Простой способ сделать это - просто использовать -q переключитесь на qsub, чтобы явно выбрать очередь, например: qsub -q 'sync.q@*'.

Однако желательно разрешить gridengine решать, в какую очередь помещать задание. Для этого вы можете определить комплекс, скажем sync и установите forced атрибут к истине. Затем вы ставите этот комплекс в очередь. Сейчас вакансии отправлены с qsub -l sync будет помещен в очередь только с этим доступным атрибутом. Преимущество этого заключается в некоторой дополнительной гибкости, если вы решите реорганизовать свои очереди, а также в несколько более простой процедуре отправки.