Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОСЫ / Parallelnye_vychislenia.doc
Скачиваний:
282
Добавлен:
15.02.2016
Размер:
410.62 Кб
Скачать

7. Планирование выполнения заданий. Общая схема параллельных вычислений при обслуживании потока заявок.

Задачей систем запуска является обеспечить планирование выполнения заданий, т.е. создание очереди заданий с последующим их запуском на исполнение по определенным критериям и сохранение результата выполнения каждого задания. Система запуска заданий имеет определенный набор команд, позволяющих выполнять запуск задания (постановку задачи в очередь), задать путь (определить каталог) для записи выходных файлов ошибок и выходной информации выполнения задачи. Получить информацию о текущем состоянии задачи, удалить задачу из очереди, получить информацию о конфигурации ВС и ее загрузке, т.е. увидеть занятые и свободные вычислительные узлы.

Постановка в очередь заданий осуществляется автоматически при выполнении пользователем необходимой команды. Если задание поставлено в очередь пользователю возвращается информация об уникальном номере задачи в очереди (идентификатор задачи), который присваивается системой запуска. Используя идентификатор, задание можно удалить из очереди, получить информацию о его текущем состоянии и т.д.

Критериями выбора заданий из очередии их исполнения являются:

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

  2. при равных условиях по количеству заданных узлов, приоритетной считается задача с меньшим заданным временем исполнения,

  3. если все критерии у задач равны, то выбирается первая из очереди. Поставленное в очередь задание может иметь наивысший приоритет, в этом случае оно будет исполнено сразу после появления достаточного количества свободных вычислительных узлов.

Прежде чем отправить задачу на ВС для выполнения необходимо сформировать заявку. Заявка – это текстовый файл, который содержит набор макроинструкций, которые определяют требуемые для решения задачи ресурсы. Обязательными являются

1)max время выполнения задачи (процессорное время), по истечении которого задача будет удалена и процесс решения прекращен, не зависимо от того, решена задача или нет.2)объем требуемой оперативной памяти на узле. Каждый вычислительный узел состоит из нескольких процессоров, с определенным объемом оперативной памяти. Задача может использовать всю совокупную ОП на выделенном для нее узле или ее часть.

3) задание конфигурации использования вычислительного узла. Обычно эта информация задается в следующем виде:кол-во узлов : кол-во процессоров на узле.

Будем рассматривать ВС кластерного типа с поддержкой удаленного доступа от множества терминальных устройств локальной сети (рабочих мест), с которых в ВС поступают заявки на решение одной или более задач. Кроме того, на ВС могут выполняться фоновые задачи, например задачи функционирования ОС.

Каждая кластерная ВС состоит из управляющего (инструментального) сервера и вычислительных мультипроцессорных узлов. Запуск задания выполняет управляющий сервер, на котором и установлена система запуска заданий. Современные ВС имеют смонтированную (присоединенную) файловую систему очень большого объема, расположенную на отдельном файловом сервере. Как правило, ресурсы файловой системы распределены между пользователями и таким образом ограничены. Но их вполне достаточно для выполнения расчетных работ.

Прямоугольник 16Прямоугольник 17Прямоугольник 18Прямоугольник 19Прямоугольник 20Прямоугольник 21Прямоугольник 22Прямоугольник 23

терминалы

Инструментальный сервер

Прямая соединительная линия 26Прямая соединительная линия 27Прямая соединительная линия 28

Очередь заявок

заявки

Прямая соединительная линия 31Прямая соединительная линия 32

Прямая соединительная линия 15Прямая соединительная линия 14

Прямая соединительная линия 13Прямая соединительная линия 12

Вычислительный узел 1 (процессоры)

Прямая соединительная линия 10

Вычислительный узел 2 (процессоры)

.

Вычислительный узел N (процессоры)

Прямая соединительная линия 8

Инструментальный (управляющий) сервер содержит компиляторы и интерпретаторы языков программирования, сервисные программы, документацию и т.д.

На нем выполняется трансляция и получение исполняемого кода параллельных программ, формирование файла-задания на исполнение программы, запуск и постановка в очередь заданий и выполнение задания по запрошенным ресурсам, т.е. решение задачи.

Рассмотрим в общих чертах, как происходит выборка заданий из очереди.Выполняет эту функцию программадиспетчерочереди заданий.

Диспетчер активизируется при наступлении одного из трех событий:

  1. по признаку "конец задания",

  2. по признаку "процессор свободен" и

  3. по прерыванию в моменты времени kτ, k = 0, 1, 2 ....

Признак "конец задания"возникает в случае окончания выполнения каждого задания, занимающего процессоры.

Признак "процессор свободен"возникает в случае, когда выполнение задания на данном процессоре, прервано внешним прерыванием.

При входе в диспетчер, проверяется, наступил ли момент времени kτ, k = 0, 1, ....для переконфигурации ВС в плане определения свободных узлов. Если время наступило, то выполняется переконфигурация. Если время не наступило, то проверяется, произведено ли включение диспетчера по признакам "конец задания" или "процессор свободен". Если на данном процессоре выполнялось задание, и его выполнение было приостановлено (по разным причинам, например, обработка более приоритетного процесса ОС), то производится восстановление задания и процесс его выполнения продолжается. Если ранее прерванных заданий нет, а это признак "конец задания", то идет обращение к очереди заданий с выборкой очередного задания на исполнения.

Очевидно, что одновременно обратиться к очереди заданий может только один процессор, поэтому при каждом обращении проверяется, есть ли блокировка обращения к очереди в результате выполнения диспетчера на других процессорах. Если такая блокировка установлена, то диспетчер на данном процессоре находится в режиме ожидания, циклически проверяя, установлен ли признак блокировки обращения к очереди. При отсутствии признака блокировки, она устанавливается.

Если задание завершилось и процессор свободен, то при наличии заданий в очереди на процессор поступает новое задание, исходя из рассмотренных нами критериев. Выполненное задание исключается из списка выполняемых на данном процессоре. Новое задание, выбранное для исполнения, заносится в список выполняемых заданий. Снимается блокировка обращения к очереди, и если процессор свободен, то начинается выполнение задания. В противном случае продолжается циклическое обращение к диспетчеру до получения готовых к выполнению заданий.

Соседние файлы в папке ГОСЫ