Я хотел бы иметь две очереди в кластере CPU / GPU, одну с высоким приоритетом, а другую с низким приоритетом. Таким образом, задания, представленные в очереди с высоким приоритетом, будут помещены в верхнюю часть списка ожидающих заданий. Как такое возможно в SGE?
Итак, я изменил приоритет методом «грубой силы», добавив команду «qalter» внутри файла пролога, например.
qalter -p 1000 $ JOB_ID
Из моего чтения SGE sge_priority (5), самый простой способ настроить жесткие приоритеты для заданий - использовать проекты, чтобы различать задания с высоким и низким приоритетом.
Начать с установка weight_priority
и weight_urgency
к нулю, при установке weight_ticket
к одному. Устанавливать weight_tickets_functional
на большое значение (например, 1000000), чтобы подтолкнуть функциональные заявки к наиболее важному фактору планирования. Это отключает все предоставляемые пользователем и основанные на времени расчеты приоритетов, основывая все планирование исключительно на билетах проекта.
Затем настройте проекты для каждого уровня приоритета. Заказывайте проекты, задав их fshare
стоимость. Задания для проекта с более высоким значением fshare запускаются перед заданиями для проекта с меньшим значением fshare.
Возможно, вы захотите использовать enforce_project
в основном sge_conf (5) чтобы пользователи всегда указывали проект при отправке заданий.