Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Файлы для подготовки к экзамену / Планирование процессов параллельного выполнения ФП на ВС.doc
Скачиваний:
23
Добавлен:
28.06.2014
Размер:
122.88 Кб
Скачать

4.2. Реализация системы планирования процессов параллельного выполнения фп

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

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

Рис. 2. Схема взаимодействия планировщиков компьютера и сервера

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

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

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

Рассмотрим более подробно стратегию планирования процессов на компьютере.

Как следует из п. 3, задачу планирования на компьютере его планировщик решает совместно с ИН. Описанная стратегия обхода контекста при вычислениях и правильного подобранные параметрыLиLпозволяют ИН управлять фронтом готовых для выполнения процессов на компьютере.

Если обход контекста Kiневозможен, ИН пытается сначала продолжить вычисления, используя результаты вычисленных на других компьютерах фп, из списка, а если списокпуст – их списка(см. блок-схемы на рис.Д.ВП.1.2, Д.ВП.1.3). Аналогичные действия выполняются для других контекстов, если спискиипусты. При этом ИН может выбирать на вычисления из списковконтекстовKj,j= 1, 2, …,N, фп, которые имеют большую или меньшую рекурсивную сложность, которая вычисляется для каждой фп программы перед ее выполнением (см.приложение). Если фронт готовых для вычисления фп небольшой, ИН может назначать на вычисление фп в порядке уменьшения их рекурсивной сложности. Если он большой (количество готовых для вычисления фп близко кL), то ИН вместе с планировщиком действуют в противоположном направлении, назначая на вычисление сначала фп с меньшей рекурсивной сложностью, оставляя, таким образом, возможность для пересылки на другие простаивающие или недогруженные компьютеры фп с максимальной рекурсивной сложностью с целью их более полной загрузки и уменьшения межкомпьютерных обменов.

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

Планировщик может увеличивать или уменьшать количество процессов-нитей, реализующих собственно вычисления, путем параллельной активизации вычислений нескольких фп из списка контекстаKi. Это может обеспечить более эффективное использование ресурсов компьютера, особенно в том случае, если выполняемые процессы требуют взаимодействия с дисковой памятью, другими устройствами компьютера.