- •Лабораторная работа № 1 оценка трудоемкости алгоритма
- •Лабораторная работа № 2 определение быстродействия эвм
- •Лабораторная работа № 3 Синтез цифровой управляющей системы
- •Планирование работ в вычислительных системах
- •1. Планирование работ на основе двухфазной модели
- •2. Планирование работ на основе
- •3. Планирование по критерию максимальной загрузки
Планирование работ в вычислительных системах
Цель работы: освоение простейших алгоритмов планирования выполнения работ на заданном наборе ресурсов вычислительной системы.
Планирование работ вычислительной системы сводится к нахождению такой последовательности пропуска задач через вычислительную систему с ограниченными ресурсами, при которой заданные критерии эффективности примут экстремальные значения.
Потребность работ J1,J2,...,Jm в ресурсах F1,F2,...,Fn характеризуется матрицей трудоемкости работ
|
|
F1
|
F2 |
. . . |
Fn |
|
J1 |
t11 |
t12 |
. . . |
t1n |
|
J2 |
t21 |
t22 |
. . . |
t2n |
T = [ tij ] = |
. . . |
. . . |
. . . |
. . . |
. . . |
|
Jm |
tm1 |
tm2 |
. . . |
tmn |
где tij - означает потребность работы Ji в ресурсе Fj.
Для более эффективного планирования работ нужно задавать также порядок использования ресурсов каждой из работ, приоритет выполняемых работ и множество других параметров.
Критерием эффективности планирования работ может служить штраф за задержку выполнения работ, суммарное время обработки пакета, загрузка устройств вычислительной системы и неограниченое число других величин, интересующих конкретного пользователя.
Математическая задача отыскания экстремума выбранного критерия эффективности расписания выполнения работ при известных ресурсах, матрице трудоемкостей и других ограничений становится очень сложной.
Поэтому следует учитывать дополнительные факторы, основные из которых следующие:
- степень детерменированности характеристик работ и порядка их поступления в вычислительную систему;
- затраты времени на выполнение алгоритма высокоэффективного планирования.
Если характеристики работ и время их поступления известны с высокой точностью, то следует воспользоваться результатами прикладной математической дисциплины известной под названием теория расписаний [1]. Но обычно, за редким исключением, оптимальное расписанием может быть найдено только методом полного перебора, так как данный класс задач относится к комбинаторным задачам. Даже при небольшом числе работ полный перебор всех вариантов расписания требует больших затрат машинного времени.
В реальных условиях характеристики работ в лучшем случае известны как средние значения случайных величин с известными вероятностными законами распределения, а в худшем случае о них априорно ничего неизвестно.
Вышеуказанные причины приводят к тому, что при планировании работ наиболее часто используются эвристические методы в которых порядок использования ресурсов предельно упрощается и используется только матрица средних трудоемкостей.
В данной лабораторной работе следует найти квазиоптимальный вариант пропуска десяти задач через вычислительную систему, состоящую из двух устройств ввода, процессора, устройства вывода и ОЗУ ограниченной емкости. При этом предполагается,что порядок использования ресурсов каждой из задач одинаков и заключается в следующем. Запуск задачи на выполнение начинается с ввода некоторой информации с первого устройства ввода. Затем вводится дополнительная информация со второго устройства ввода и начинается счет на процессоре, который заканчивается выводом результатов на внешнее выходное устройство. Прообразом таких задач может служить пропуск программы на каком-либо алгоритмическом языке через вычислительную систему. Программа вводится в систему с некоторого носителя ( перфокарты, перфоленты, магнитного диска, клавиатуры и т.д.). С какого-либо внешнего запоминающего устройства вводится требуемый транслятор или другое программное обеспечение. Затем выполняется этап трансляции программы, редактирование связей и при отсутствии синтаксических ошибок осуществляется счет по полученной машинной программе. Результаты трансляции и счета выводятся на какое-либо устройство - дисплей, принтер, внешнее запоминающее устройство и т.д. В рассматриваемых программах не предполагается многократное использование внешних устройств, то есть операторы ввода-вывода не входят в тела циклов. При отсутствии такого допущения соответствующие внешние устройства требуется отдать какой-либо из программ в монопольной пользование на время ее выполнения.
Матрица трудоемкости для заданного варианта получается следующим образом. В соответствии с вариантом выбирается строка из таблицы 4.1 и девять строк, расположенных ниже выбранной. Если при этом таблица заканчивается, недостающие строки выбираются с начала таблицы. Можно предположить, что таблица написана на боковой поверхности цилиндра.
Трудоемкости внешних устройств и процессора заданы в некоторых единицах времени, допустим в секундах, а потребность в ОЗУ характеризуется числом условных страниц. Причем общий объем ОЗУ равен тридцатидвум страницам и категорически не может быть превышен.
В дальнейшем для примеров будет использоваться матрица трудоемкости вида
|
|
F1 |
F2 |
CPU |
F3 |
MEM |
|
|
J1 |
8 |
9 |
10 |
11 |
12 |
|
|
J2 |
7 |
6 |
5 |
4 |
15 |
|
Т = |
J3 |
4 |
3 |
2 |
1 |
10 |
( 1 ) |
|
J4 |
5 |
6 |
7 |
8 |
19 |
|
|
J5 |
4 |
3 |
2 |
2 |
10 |
|
Т Р У Д О Е М К О С Т Ь В Ы П О Л Н Е Н И Я Р А Б О Т
Таблица 4.1
Номер варианта |
УВВ F1, сек |
УВВ F2, сек |
Процессор CPU, сек |
УВВ F3, сек |
ОЗУ, страниц |
1 |
1 |
2 |
3 |
4 |
5 |
2 |
10 |
9 |
8 |
7 |
6 |
3 |
11 |
10 |
9 |
8 |
15 |
4 |
2 |
1 |
8 |
7 |
16 |
5 |
2 |
2 |
3 |
4 |
25 |
6 |
3 |
4 |
2 |
3 |
24 |
7 |
9 |
8 |
7 |
6 |
15 |
8 |
10 |
9 |
2 |
3 |
14 |
9 |
9 |
8 |
7 |
10 |
5 |
10 |
2 |
1 |
2 |
3 |
4 |
11 |
3 |
4 |
5 |
6 |
7 |
12 |
2 |
6 |
4 |
9 |
8 |
13 |
3 |
4 |
8 |
5 |
17 |
14 |
2 |
5 |
9 |
6 |
18 |
15 |
6 |
5 |
4 |
3 |
23 |
16 |
8 |
9 |
2 |
2 |
22 |
17 |
7 |
6 |
5 |
4 |
13 |
18 |
8 |
9 |
10 |
11 |
12 |
19 |
9 |
7 |
5 |
8 |
3 |
20 |
4 |
6 |
8 |
9 |
2 |
21 |
5 |
6 |
7 |
8 |
9 |
22 |
4 |
3 |
2 |
7 |
10 |
23 |
5 |
6 |
7 |
9 |
19 |
24 |
4 |
5 |
3 |
6 |
20 |
25 |
5 |
9 |
6 |
2 |
21 |
26 |
9 |
8 |
7 |
6 |
20 |
27 |
5 |
2 |
9 |
6 |
11 |
28 |
10 |
7 |
3 |
8 |
10 |
29 |
11 |
9 |
11 |
10 |
15 |
30 |
2 |
4 |
6 |
7 |
9 |
В лабораторной работе следует выполнить планирование работ по нескольким алгоритмам.