- •Лабораторная работа № 1 оценка трудоемкости алгоритма
- •Лабораторная работа № 2 определение быстродействия эвм
- •Лабораторная работа № 3 Синтез цифровой управляющей системы
- •Планирование работ в вычислительных системах
- •1. Планирование работ на основе двухфазной модели
- •2. Планирование работ на основе
- •3. Планирование по критерию максимальной загрузки
1. Планирование работ на основе двухфазной модели
вычислительной системы
Двухфазная модель вычислительной системы представляется фазой ввода и фазой обработки. Планирование работ ведется по критерию минимума суммарного времени выполнения работ, что достигается совмещением фазы ввода и фазы обработки для различных работ. В данном алгоритме планирование в чистом виде ограничения со стороны объема ОЗУ не учитываются.
Для того чтобы в дальнейшем можно было сравнивать результаты планирования по различным алгоритмам, матрицу трудоемкости преобразуем следующим образом. Просуммируем первый и второй столбцы, а также третий и четвертый столбцы и полученные результаты запишем в первый и второй столбцы новой матрицы трудоемкости. Пятый столбец из исходной матрицы трудоемкости не учитываем. В результате таких преобразований матрица трудоемкости ( 1 ) примет вид
|
|
F1 |
F2 |
|
|
J1 |
17 |
21 |
|
|
J2 |
13 |
9 |
|
T = |
J3 |
7 |
3 |
( 2 ) |
|
J4 |
11 |
15 |
|
|
J5 |
7 |
4 |
|
Обозначим продолжительности выполнения работ J1,J2,...,Jm в первой фазе через t11,t21,...,tm1, а во второй фазе - t12,t22,...,tm2 соответственно.
Алгоритм оптимального планирования в такой постановке состоит из следующих этапов:
1.1. Отметим начало очереди работ позицией a = 1 и конец очереди - позициеей b = m.
1.2. В матрице трудоемкости находится минимальное значение t = min( t11,t12,...,tm1,tm2 ).
1.3. Выделяются работы Jk,...,Jn, для которых tij = t ( i = k,...,n; j = 1,2 ).
1.4. Если выделена единственная работа Jk, то при tk1 = t, она ставится в начало очереди, опредеяемой позицией a, а при tk2 = t - в конец очереди в позицию b. Затем выполняется пункт 1.7.
1.5. Если выделено несколько работ Jk,...,Jn, то они разделяются на две группы:
а) c одинаковыми временами выполнения в первой фазе tk1,...,tn1, равными t;
b) c одинаковыми временами выполнения во второй фазе tk2,...,tn2, равными t.
1.6. Работы из первой группы заносятся в начало очереди с позиций a, a+1, ... в порядке увеличения значений ti2, ..., tj2. Работы из второй группы заносятся в конец очереди в позиции b, b-1, ... в порядке увеличения значений ti1,...,tj1.
1.7. После включения работы в начало или конец очереди работа вычеркивается из матрицы трудоемкости и переменной a или b присваивается новое значение a = a + 1 или b = b - 1.
1.8. Процесс продолжается из пункта 1.2 до распределения всех работ по позициям очереди.
Для матрицы трудоемкости ( 2 ) в соответствии с вышеизложенным алгоритмом планирование работ выполняется следующим образом:
1.1. Присваиваем a = 1 и b = 5.
1.2. Находим минимальное значение t = 3 матрице трудоемкости.
1.3. Выбираем работы, для которых tij = t = 3:
-
F1
F2
J3
7
3
1.4. Так как выделена единственная работа с минимальным значением t из второй фазы, то она ставится в конец очереди и b = 4.
1.5. Вычеркиваем упорядоченные работы из матрицы трудоемкости ( 2 ) и получим следующую матрицу трудоемкости:
|
|
F1 |
F2 |
|
J1 |
17 |
21 |
|
J2 |
13 |
9 |
T = |
J4 |
11 |
15 |
|
J5 |
7 |
4 |
1.6.В новой матрице трудоемкости находим минимальное значение t = 4.
1.7.Выбираем работы, для которых tij = t = 4:
-
F1
F2
J5
7
4
1.8.Так как выделена единственная работа с минимальным значением t из второй фазы, то она ставится в конец очереди и b = 3.
1.9.Получаем новую матрицу трудоемкости путем вычеркивания упорядоченных работ:
|
|
F1 |
F2 |
|
J1 |
17 |
21 |
T = |
J2 |
13 |
9 |
|
J4 |
11 |
15 |
1.10. Повторяя предыдущее, опредеяем, что работа J2 ставится в конец очереди и b = 3. Следующая матрица трудоемкости имеет вид
|
|
F1 |
F2 |
|
J1 |
17 |
21 |
T = |
J4 |
11 |
15 |
1.11. Находим в последней матрице минимальное значение t = 11.
1.12. Выбираем единственную работу, для которой tij = t = 11
|
|
F1 |
F2 |
T = |
J4 |
11 |
15 |
1.13. Ставим выделенную работу в начало очереди, так как минимальное значение t соответствует первой фазе и a = 2.
1.14. Оставшаяся последняя работа ставится во вторую позицию очереди и окончательный план пропуска работ через вычислительную систему имеет вид
1 |
2 |
3 |
4 |
5 |
J4 |
J1 |
J2 |
J5 |
J3 |
Диаграмма выполнения этих работ представлена на рис.4.1, откуда следует, что весь пакет выполняется за 65 единиц времени. Несложно убедиться, что пропуск пакета в порядке противоположном оптимальному расписанию потребует 84 единицы времени.
Диаграмма выполнения двухфазной модели по расписанию
t
4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64
F1
J4 J1 J2 J5 J3
t
F2
J4 J1 J2 J5 J3
t
Рис.4.1
Диаграмма выполнения трехфазной модели по расписанию
t
4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64
F1
J1 J4 J2 J5 J3
t
CPU
J1 J4 J2 J5 J3
t
F2
J1 J4 J2 J5 J3
t
Рис.4.2