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

11. Планирование работ в вычислительных системах

Чтобы выполнить задание в ВС необходимо выделить работе совокупность

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

Различный порядок выполнения работ приводит к различным эффектам.

Пример № 1:

Пусть процессор должен выполнять работы J1,J2,J3 с трудоемкостью 4,3 и 1 единиц процессорного времени.

Возможны 6 различных расписаний (планов) выполнения работ

Р1 = ( J1,J2,J3) , Р2 = ( J2 ,J 1,J 3) ... P6 = (J3,J 2,J1 ) различающихся порядком запуска.

Определим средние времена ожидания и пребывания работ

Диаграмма выполнения работ на одном устройстве

Рис.11.1.

При выполнении работ в порядке Р1 :

При выполнении работ в порядке Р6:

Следовательно, изменение плана выполнения работ существенно повлияло на средние времена ожидания и пребывания работ в системе.

Пример №2:

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

Пусть работы J1 и J2 выполняются на устройствах Y1 и Y2.

Трудоемкость работ J1 и J2 на Y1 = {2,6},

на Y2 = {8,3}.

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

Рис.11.2.

Возможны два плана запуска работ.

Если сначала запустить работу J2, затем J1, то суммарное время выполнения работ составляет 17 с. При запуске работ в обратном порядке время выполнения работ уменьшается до 13 с.

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

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

Планирование производится исходя из имеющихся в ВС ресурсов,

потребностей работ в ресурсах, приоритетов работ и критерия, определяющего качество планов.

11.1. Планирование по критерию минимума суммарного времени выполнения работ

Цель планирования работ в ВС- минимизация суммарного времени выполнения работ (времени выполнения пакета работ).

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

Параметры ресурсов и работ

Трудоемкость работ представляется матрицей

где J1 ,...,Jm - работы, F1,...,Fn - ресурсы ВС.

Элемент tij - ( i = 1..M ; j = 1..N) характеризует потребность работы Ji в ресурсе Fj.

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

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

Следовательно, Fi - ресурс памяти и ресурс производительности устройства.

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

Работы с более высоким приоритетом должны в первую очередь получать необходимые им ресурсы.

При рассмотрении алгоритмов планирования работ предположим:

1) все работы используют ресурсы системы в одинаковом порядке;

2) порядок прохождения работ следующий:

a) ввод - обработка (двухфазная модель ВС);

б) ввод - обработка - вывод (трехфазная модель ВС).

3) на каждой фазе выполнения работ используется лишь один ресурс;

4) параллелизм возможен за счет совмещения ввода , обработки и

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

      1. Планирование работ на основе двухфазной модели ВС

Рис.11.3.

Продолжительность выполнения работ J1, ..., JM в первой фазе равна,

во второй фазе - .

Алгоритм оптимального планирования работ С.Джонсона по

критерию минимума суммарного времени выполнения работ:

1. Отметим начало очереди работ позицией а=1, конец очереди позицией b = M.

2. В матрице трудоемкости T находится минимальное значение

3. Выделяются работы J1, ... , Jw для которых

4. Если выделена единственная работа JL , то при она ставится в начало очереди, определяемое позицией "a", а при в конец очереди в позицию "b".

Затем выполняется п.7.

5. Если выделено несколько работ J1, ..., Jw , то они разделяются на две группы:

1) с одинаковыми значениями ,равными .

2) с одинаковыми значениями , равными .

  1. Работы из первой группы заносятся в начало очереди в позиции "a", "a+1", ..."b" в порядке увеличения значения Работы из второй группы заносятся в конец очереди в позиции "b", "b-1", ... в порядке увеличения значений .

7. После включения работы в очередь (в позицию "a" или "b") работа вычеркивается из матрицы трудоемкости и переменной "a" или "b" присваивается новое значение "a":="a"+1 или "b":="b"-1.

8. Процесс продолжается от пункта 2. до распределения всех работ по позициям очереди.

Пример

Дано: матрица трудоемкости T:

Упорядочим работы по критерию минимума T

1) Присваиваем a = 1, b = 6.

2) Находим минимальное значение = 1.

3) Выбираем работы, для которых .

Y1 Y2

J3 4 1

J4 1 2

J5 1 4

J6 3 1

4) Разделяем работы на группы с одинаковыми значениями

и

Y1 Y2 Y1 Y2

J4 1 2 J3 4 1

J5 1 4 J6 3 1

5) В соответствии с алгоритмом работы J4 и J5 включаются в начало очереди в позиции "a" и "a+1", т.е. в позиции 1 и 2.

Работы J 3 и J6 включаются в конец очереди в позиции 5 и 6.

Следовательно , план работ имеет вид:

1 2 3 4 5 6

J4J5 ? ? J3 J6

6) Начало и конец очереди отмечаем позициями "a"="a+2"

"b"="b-2". Итак , "a"=3 , "b"=4.

После вычеркивания распределенных работ J4, J5, J3, J6.

Матрица трудоемкости :

Y1 Y2

T= J1 2 3

J2 3 5

  1. Минимальное . В соответствии с алгоритмом работу J1 включаем в начало очереди в позицию "a" = 3, а работу J2 в позицию "b" = 4.

Окончательно план имеет вид:

1 2 3 4 5 6

J4 J5 J1 J2 J3 J6

Диаграмма выполнения этих работ:

Рис.11.4.

Из диаграммы видно, что время выполнения 6 работ T = 17. При

любой другой последовательности запуска работ это время будет

только больше.

      1. Планирование работ на основе трехфазной модели ВС

фаза ввода- устройство ввода ВУ1 и канал К1;

фаза обработки- процессор Пр- оперативная память;

фаза вывода- канал К2 и устройство ВУ2.

Рис.11.5.

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

в фазе ввода, другая в фазе обработки,третья в фазе вывода.

Исходной для планирования работ является матрица трудоемкости Т.

С. Джонсон доказал ,что при выполнении хотя бы одного из следующих

ограничений

; (26.1)

(26.2)

Алгоритм оптимального планирования работ в трехфазной модели

сводится к алгоритму на основе двухфазной модели.

В этом случае трехстолбцовая матрица трудоемкости преобразу-

ется в двухстолбцовую матрицу путем путем попарного сложения эле-

ментов I и II столбцов, а также элементов II и III столбцов.

Элементы vi1 и vi2 новой матрицы определяются следующим образом:

,для i=[1..M]

К полученной матрице применяется ранее рассмотренный алгоритм.

ПРИМЕР . Упорядочить работы по критерию минимума T для трехфазной модели ВС.

Эта матрица имеет характеристики

min() = 1 ;

max() = 4 ;

min() = 4 ;

=> выполняется ограничение (26.2) и задача планирования сводится к планированию на основе двухфазной модели.

Двухстолбцовая матрица:

Диаграмма выполнения этих работ:

Рис.11.6.

Степень совмещения работы устройств

Рис.11.7.

Суммарное время выполнения работ составляет 29 единиц.

Устройство Y1 ввода работает- 15 единиц,

Устройство Y2 ввода работает- 13 единиц,

Устройство Y3 ввода работает- 27 единиц.

Коэффициент загрузки устройств:

q1 = 0.56; q2 = 0.45; q3 = 0.93.

Ненормированная суммарная загрузка устройств системы составляет

R* = q1 + q2 + q3 = 1.9

Средняя (нормированная) загрузка устройств R = R* / 3 = 0.63;

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

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