ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2012
122
ждут своего выполнения. Если LoadLeveler не готов отправить
пришедшее задание на выполнение на другом процессоре, оно по-
ступает во внутреннюю базу данных, находящуюся на одном из
процессоров кластера.
Процесс управления выполнением задач, называемый диспетче-
ризацией, заключается в автоматической обработке множества зада-
ний и включает:
определение времени запуска для каждого задания и доступных
исполнительных ресурсов – планирование;
доставку входных файлов на исполнительный узел;
мониторинг выполнения задания и доставку результата его вы-
полнения.
Одним из основных требований к управлению заданиями являет-
ся гарантирование запуска, т. е. на момент запуска в системе должны
существовать подходящие для задания свободные ресурсы.
По сравнению с обычными однопроцессорными заданиями,
управление параллельными заданиями значительно более сложно:
необходимо подбирать исполнительные ресурсы так, чтобы все его
процессы стартовали и завершались одновременно – задача коалло-
кации ресурсов.
К настоящему времени для многопроцессорных компьютеров и
кластеров разработан ряд методов, с помощью которых решается за-
дача планирования параллельных заданий. LoadLeveler включает в
себя планировщик BACKFILL, определяющий необходимые ресурсы
для выполнения задания и рассчитывающий ближайшее время осво-
бождения этих ресурсов.
BACKFILL.
BACKFILL – метод обратного заполнения, при ко-
тором пользователь дает оценку времени выполнения своих заданий,
что позволяет выделять ресурсы заданиям не в момент освобожде-
ния, а заблаговременно [13]. Для этого строится план распределения
ресурсов – расписание запусков заданий. При построении расписания
ресурсы выделяются заданиям в порядке их приоритетов, причем за-
дание может получить некоторые ресурсы только при условии, что
они уже не отведены более приоритетным заданиям (в консерватив-
ном варианте метода) или самому приоритетному заданию (в агрес-
сивном варианте метода). С помощью механизма предварительного
резервирования метод гарантирует получение ресурсов высокоприо-
ритетными заданиями и, вместе с тем, допускает нарушение порядка
очереди, что способствует повышению коэффициента общей загруз-
ки ресурсов.
Пример прохождения потока информации о задании в LoadLeveler
кластере представлен на рис. 5.
Стрелки на рис. 5 указывают следующее:
стрелка 1 – задание было отправлено пользователем в LoadLeveler
кластер;