Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
47
Добавлен:
03.03.2016
Размер:
1.51 Mб
Скачать

11.1.3. Эвристический алгоритм планирования работ в вс

Алгоритм (для 3-х фазных систем):

1. Выделяется номер фазы "k" с наибольшей суммарной продолжительностью работ, т.е.

max( );

2. Если k = 1, то работы запускаются в порядке убывания величин

;

3. Если k=3, то работы запускаются в порядке возрастания величин

4. Если k=2, то работы упорядочиваются на основе алгоритмов 2-х фазного планирования, причем из матрицы трудоемкости исключается второй столбец.

Эффективность эвристических методов планирования характеризуется степенью близости суммарного времени выполнения работ T к минимально возможному времени T 0;

Определим T0

Анализируем матрицу трудоемкости T, выделяем фазу "k", суммарная продолжительность работ в которой имеет максимальное значение, т.е. определим

фазу k = 1, ... ,N из условия:

=> в отрезок T2 можно уложить большинство работ, выполняемых на менее трудоемких фазах l = 1, ...,k-1,k+1, ..., N, за исключением работы, которая должна быть выполнена сначала в фазах 1,2, ...,k-1 до начала обработки в фазе k и работы, которая должна быть завершена после окончания отрезка времени T2 на фазах k+1, ...,N.

Необходимо выбрать в качестве этих 2-х работ такие, чтобы продолжительность их до k-й фазы и после k-й фазы была минимальной.

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

Продолжительность завершения работ на фазах k+1, ...,N определяется значением:

  • Минимально возможное время выполнения совокупности работ

T0 = T1 + T2 + T3 = + +

где n- номер фазы с максимальной суммарной продолжительностью работ.

Пример . Упорядочить работы с использованием эвристического алгоритма.

1. Суммарные трудоемкости фаз 1,2,3 равны соответственно

(2+1+4+5+3) = 17

(3+1+2+3+4) = 13

(4+5+5+7+6) = 27

=> Максимально трудоемкой является фаза k = 3;

  1. При k = 3 работы следует запустить в порядке возрастания величин

Эти величины имеют значения:

J1 J2 J3 J4 J5

5 2 6 8 7

=> работы должны запускаться в следующем порядке:

J2 ,J1 ,J3 ,J5 ,J4 .

Оценим минимально возможное время выполнения этих работ

T0 = 2 + 27 +0 =29, что совпадает с ранее приведенным примером.

11.2. Планирование работ по критерию максимальной загрузки устройств

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

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

Алгоритм планирования

Из пакета работ J1, ...,JM планировщик выбирает совокупность работ JL, ..., JW, которые будут выполняться совместно на основе разделения ресурсов системы между ними.

Совокупность работ, выполняемых совместно, называется Смесью работ .

На основе матрицы трудоемкости T получим матрицу загрузки устройств R:

Т.е. rij - это доля времени,в течении которого устройство Yj

будет загружено работой Ji при условии, что система выполняет

только работу Ji

- время выполнения работ Ji.

Т.к. порядок использования ресурсов работами не известен, планирование работ в ВС можно организовать на основе следующего эвристического способа составления смесей работ.

1. Пакет работ {J1, ..., JM} разделим на потоки, каждый из которых состоит из работ, в максимальной степени загружающих отдельные устройства ВС. Число таких потоков работ равно числу устройств N. Работа Ji относится к потоку Pj , если для всех k<> j , т.е. номер максимального элемента в строке i матрицы загрузки R определяет номер потока, в который включается работа работа Ji .

2. Смесь составляется путем выборки работ из потоков P1... PN таким образом, чтобы максимизировать загрузку устройств Y1 ... Y N. Вначале из потоков P1 ... PN выбирается по одной работе, образующих начальную смесь. Когда заканчивается выполнение работы, выбранной из потока Pj , новая работа, необходимая для пополнения смеси выбирается из того же потока.

3. При составлении смеси необходимо учитывать ограничение со стороны емкости ОП:

( E L + ... + EW ) <= E,

где L, ...,W- номера работ, включенных в смесь;

E- емкость памяти ВС;

E L ... E W- потребность в емкости памяти работ JL ... JW.

В момент окончания работы из потока Pj определяется наличие свободной памяти. Если очередная работа из потока Pj размещается в свободной части памяти, то она включается в смесь. Иначе делается попытка включить в смесь другие работы из потока Pj . Если ни одна из работа из этого потока не может быть размещена в памяти, в смесь включается работа из любого другого потока, для размещения которой достаточно памяти.

Пример

Работа J1 создает наибольшую загрузку для устройства Y3,

  • J1 относится к потоку P3. В момент t = 0 в память загружаются работы J5, J 2, J1

из потоков P1 , P2, P3, которые совместно занимают

ЛИТЕРАТУРА

ОСНОВНАЯ ЛИТЕРАТУРА

1. Ларионов А.М., Майоров С.А., Новиков Г.И. Вычислительные комплексы, системы и сети.- Л.: Энергоатомиздат, 1987.-288с.(681 Л-25)

2. Основы теории вычислительных систем/ Под ред. С.А.Майорова.-М.:Высш. шк., 1978.-408с.(681 О-75)

3. Хокни Р.У., Джессхоуп К.Р. Параллельные ЭВМ. Архитектура, программирование и алгоритмы.- М.: Радио и связь, 1986.

4. Коуги П.М. Архитектура конвейерных ЭВМ.-М.: Радио и связь, 1985.

5. Основы теории вычислительных систем/ Под ред. В.И.Салыги.- Харьков: Вища школа, 1984.(681 О-75)

6. Вычислительные машины, системы и сети/Под ред.Пятибратова А.П.-М.: 1991.(681.3 В-94)

ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА

7. Авен О.И. Оценка и оптимизация вычислительных систем. М.:1982.(681 А-19)

8. Феррари, Доменико Оценка производительности вычислительных систем/Под ред. В.В. Мартыненко.-М.:Мир, 1981.(681 Ф-43)

9. Илюкович А.А. и др. Основы вычислительных систем.- Минск, 1983.(681 И-49)

10. Программирование на параллельных вычислительных системах/Под ред. Р.Бэбба.- М.: Мир,1991.-376с.

Соседние файлы в папке Компьютерные системы 3 курс