
книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем
.pdff-\U*k-l) |
= мин {с^(и»-\ |
U»S) |
+f«-4u»-«)}. |
|
UNS |
|
|
|
k |
|
|
Этап (N — 7) — (N — 6)
|
|
|
|
Т а б л и ц а |
2-9 |
|
|
|
|
|
k |
aN-7 |
|
fN~ 7 |
|
|
|
|
|
k |
|
|
|
|
|
|
|
|
3 |
|
— |
— |
|
|
|
|
|
3 |
|
— |
38 |
|
|
|
|
|
1 |
|
— |
— |
|
|
|
|
|
- |
мин {с,,, (U»-\ и»'7) |
+ |
f-\U^)Y |
|
||
|
|
|
vNk—7 |
|
|
|
|
|
Как |
следует |
из |
полученного |
решения, |
оптимальным |
будет |
план |
|
U\, Uj, |
U\, U\, |
U\, |
U°3 и план |
UJ, U% |
ü\, U\, U°3. |
|
|
|
Для рассмотренного варианта максимально возможное |
время |
|||||||
решения заданного набора задач т равно 17 единицам. |
|
|
||||||
Метод динамического программирования в ряде слу |
||||||||
чаев дает возможность получить оптимальные |
решения |
|||||||
за приемлемые промежутки |
времени. |
|
|
|
|
Однако имеющийся опыт показывает, что в отдель ных случаях при решении сложных задач описанный ме тод практически является весьма трудоемким и требует значительной емкости памяти ЦВМ.
2-4. СУБОПТИМАЛЬНЫЕ РАСПИСАНИЯ
Наиболее простыми в вычислительном смысле явля ются методы, основанные на принципе субоптимизации процессов или решений, т. е. раздельной оптимизации логически разделяемых частей задачи.
Рассмотрим один из таких методов, использующий поэтапную оптимизацию по некоторым частным прави лам предпочтений (приоритетов). В литературе этот
100
способ известен как эвристический алгоритм Шварца [Л. 40, 43]. Наиболее просто выглядит алгоритм субопти мального расписания для реализации заданного набора задач на системе, состоящей из двух машин Li и L 2 .
Задачи (операторы) исходного набора могут быть как функционально связанными с какой-либо из двух машин, так и свободными, т. е. допускающими реализа цию на любой из двух машин. В качестве исходной информации для реализации алгоритма составления суб оптимального расписания используется граф-схема за данного набора, определяющая последовательность вы полнения операторов.
Рис. 2-3. Граф-схема набора задач.
В виде иллюстрации на рис. 2-3 приведена граф-схе ма некоторого набора операторов (задач). Каждая вер шина обозначает один из операторов. Возле каждой вершины указывается время выполнения данного опе ратора и его связанность (принадлежность к данной машине). Например, Li/8 означает принадлежность опе ратора к первой машине и его время реализации, равное восьми единицам. При составлении алгоритма субоптималыюго расписания и его реализации информацию об исходной граф-схеме удобнее представить в виде матри-
101
цы достижимости. Эта матрица, соответствующая исход ной граф-схеме, имеет следующий вид:
1 |
1 |
2 |
3 |
4 |
5 |
|
6 |
7 |
8 |
9 |
10 |
11 |
0 |
0 |
Ü Ü 0 0 0 0 |
Ü 0 0 |
|||||||||
2 |
0 |
0 0 |
0 |
0 |
0 |
0 |
0 |
0 |
Ü 0 |
|||
3 |
0 |
0 0 |
0 |
Ü |
0 |
0 |
0 |
0 |
Ü и |
|||
4 |
1 |
1 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
5 |
0 |
1 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
6 |
0 |
1 |
1 о 0 0 |
0 |
0 |
Ü Û |
0 |
|||||
7 |
1 |
1 |
0 |
1 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
8 |
1 1 |
1 1 1 1 0 |
Ü Ü 0 0 |
|||||||||
9 |
1 1 |
1 1 1 1 1 1 Ü Ü 0 |
||||||||||
10 0 |
1 |
1 Ü 0 |
|
1 |
0 0 0 0 0 |
|||||||
11 1 1 |
і |
1 1 |
|
1 |
1 |
1 |
1 1 0 |
|||||
До начала планирования подсчитывается общее |
||||||||||||
предварительное |
время для /-й машины Tj, равное сум |
|||||||||||
ме времени |
выполнения |
|
функционально связанных |
с данной машиной операторов. На этом этапе обычно
время свободных операторов делится |
между машинами |
||
по возможности пополам. |
|
|
|
Кроме того, в каждый момент в процессе планирова |
|||
ния определяется сумма времени Tj |
уже распределен |
||
ных задач |
(операторов) на j-ю машину. Разность |
вида |
|
Trj = Tj—Tj |
называется остаточным временем /-й |
ЦВМ. |
|
Каждому і-у оператору ставится |
в соответствие два |
числа: 1) последующая длина / П осл, равная числу не нулевых элементов в і-м столбце матрицы достижимо сти; 2) последующее время / П о с л , равное сумме времени операторов, которым предшествует данный.
Оператор, не имеющий предшествующих ему опера торов, называется открытым. Частный алгоритм состав ления субоптимального расписания состоит в выполне нии следующего набора частных правил [Л. 57]:
1. Просматривается матрица достижимости в по исках открытых операторов. У открытых операторов со ответствующие строки состоят из одних нулей.
2.В матрице достижимости обращаются в нуль все элементы в столбце, соответствующем выбранному опе ратору.
3.Открытые операторы классифицируются по свя занности.
102
4. Распределяются связанные операторы. Если одно временно открыто несколько операторов, то распределе
ние производится |
в порядке |
убывания |
величины |
/поел, |
а при равенстве |
последующих |
длин — в порядке |
возра |
|
стания времени выполнения оператора. |
|
|
||
5. Свободные операторы распределяются в порядке |
||||
возрастания их времени выполнения. |
При совпадении |
этих времен распределение происходит в порядке убы вания последующего времени оператора. Выбор номера машины / определяется величинами
|
àTj = |
TLi—TL2; |
|
|
|
|
|
àTr = |
(TLl-TLl)-{Tu-Tu) |
|
|
|
|
в соответствии с приведенной ниже табл. 2-10. |
|
|
||||
|
|
|
|
Т а б л и ц а 2-10 |
||
|
Условия |
Правило выбора |
|
|||
Д7* = |
0; Д Г г . ^ 0 |
Выбирается |
машина |
с |
меньшим |
Тг |
ДГ Г = 0; ATj ф 0 |
Выбирается |
машина с |
меньшим |
Т$ |
||
Д7Ѵ = Д7^ = 0 |
Выбор машины произволен |
|
||||
ЬТ^фО; |
Д7Ѵ ф0 |
Выбирается машина |
с меньшим |
Tj |
||
знаки совпадают |
|
|
|
|
|
|
Если знаки ДГ^ и ДГ Г раз |
|
— |
|
|
|
|
личны, то |
вычисляется их |
|
|
|
|
|
сумма |
|
|
|
|
|
|
|Д7Ѵ + Д 7 - Г | > | Д Г , } |
Выбирается |
машина |
с |
меньшим |
Тг |
|
| Д 7 ^ + Д 7 Ѵ | < | Д : Г , | |
Выбирается |
машина |
с |
меньшим |
Tj |
Как следует из приведенной таблицы, целью этого пункта является минимизация величин Тц и Ть2.
6. Если рассматриваемый и предшествующий ему операторы распределены по разным машинам и величина
Т1^~1^>Т1^, то эти величины перед началом работы і-й задачи выравниваются до большей величины.
7. Вычисляются новые значения всех времен.
103
8. Алгоритм повторяется до тех пор, пока в матрице достижимости останутся только нулевые элементы.
Достоинством данного метода следует считать про
стоту алгоритма |
и сравнительно малую трудоемкость |
|||||||
|
|
реализации. |
Однако |
вследст |
||||
|
|
вие |
упорядочения и распреде |
|||||
|
|
ления операторов |
по |
жестко |
||||
|
|
установленным приоритетным |
||||||
|
|
правилам, |
не |
имеющим |
стро |
|||
|
|
гих |
обоснований, |
описанный |
||||
|
|
метод не дает точного опти |
||||||
|
|
мального |
расписания, |
а |
дает |
|||
|
|
лишь одно из возможных рас |
||||||
|
|
писаний, |
приближающихся к |
|||||
|
|
оптимальному. |
Имеющийся |
|||||
|
|
опыт |
решения |
задач |
показы |
|||
|
|
вает, |
что |
длина |
расписания, |
|||
Р и с 2- Граф |
набора |
полученного |
таким |
способом, |
||||
задач. |
|
на несколько |
процентов |
боль |
||||
|
|
ше |
оптимального, |
а |
время — |
меньше времени составления одного активного расписа ния.
Рассмотрим пример, иллюстрирующий данный метод.
Пусть требуется на ВС, состоящей из двух машин, решить некоторую задачу, структурная схема решения которой задана ярус ным графом, приведенным на рис. 2-4.
Для удобства дальнейших рассуждений изобразим матрицу до стижимости Сц исходного графа:
1 |
1 |
2 |
3 |
4 |
|
5 |
6 |
7 |
8 |
9 10 |
|
0 0 0 0 0 Ü 0 0 0 0 |
|||||||||||
2 |
0 |
0 |
0 |
0 |
0 |
0 0 |
0 |
0 |
0 |
||
3 |
0 |
0 |
0 |
0 |
|
0 |
0 0 |
0 0 |
0 |
||
4 |
0 |
0 |
0 |
0 |
|
0 |
0 0 |
0 |
0 |
0 |
|
5 |
1 |
1 0 |
0 |
|
0 |
0 0 |
0 |
0 |
0 |
||
6 |
1 0 |
1 1 0 |
|
0 |
0 |
0 |
0 |
0 |
|||
7 |
0 |
0 |
0 |
0 |
|
1 1 |
0 |
0 |
0 |
0 |
|
8 |
0 |
0 |
0 |
0 |
|
1 |
0 0 |
0 0 |
0 |
||
9 |
0 0 0 0 1 1 0 о 0 0 |
||||||||||
10 |
0 |
0 |
0 |
0 |
|
0 |
1 |
0 |
0 0 |
0 |
|
Примем, что время |
|
реализации |
|
каждого оператора задано |
табл. 2-11.
104
|
|
|
|
|
|
|
|
Т а б л и ц а |
241 |
|
i |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
ч |
2 |
1 |
8 |
4 |
6 |
4 |
5 |
3 |
2 |
8 |
Пусть далее, по условиям функционирования системы, распре деление операторов по связанности таково: 1) операторы, связанные с ЦВМ-1: 1, 5, 7; 2) операторы, связанные с ЦВМ-2: 3, 6, 9; 3) сво бодные операторы: 2, 4, 8, 10.
В соответствии с приведенным алгоритмом выполняем процеду ру распределения.
1.Просматриваем исходную матрицу достижимости в поисках открытых операторов. Для нашего случая открытыми операторами являются операторы Ч, 2, З'и 4.
2.В исходной матрице достижимости обращаем в нуль все эле менты, соответствующие выбранным операторам. При этом исходная матрица преобразуется к виду
|
1 |
2 |
3 |
4 |
5 |
б |
7 |
8 |
9 |
10 |
I |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
0 |
0 |
0 |
0 |
0 0 |
0 |
0 |
0 |
0 |
|
3 |
0 |
0 |
0 |
0 |
0 0 |
0 0 |
0 |
0 |
||
4 |
0 |
0 |
0 |
0 |
0 0 |
0 0 |
0 |
0 |
||
5 |
0 |
0 |
0 |
0 |
0 0 |
0 0 |
0 |
0 |
||
6 |
0 |
0 |
0 |
0 |
0 0 |
0 0 |
0 |
0 |
||
7 |
0 |
0 |
0 |
0 |
1 |
1 |
0 0 |
0 |
0 |
|
8 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
9 |
0 |
0 |
0 |
0 1 |
1 |
0 0 |
0 |
0 |
||
m |
0 |
0 |
0 |
0 |
0 |
1 |
0 0 |
0 |
0 |
3. Классифицируем открытые операторы 1, 2, 3, 4 по связанности. Как следует из исходных данных, первый оператор связан с ЦВМ-1,
третий — с |
ЦВМ-2, а операторы |
второй и четвертый |
свободны. |
||
4. Распределяем связанные операторы. Распределение связанных |
|||||
операторов |
1 и |
3 соответствует |
приведенной |
на рис. |
2-5 временной |
диаграмме. |
|
|
|
|
|
|
|
|
1(2} 2(1) |
|
|
|
|
3(8) |
|
3(0) |
|
Рис. 2-5. Распре |
Рис. |
2-6. Распределе |
|||
деление |
связан |
ние |
второго |
опера |
|
ных |
операторов. |
|
тора. |
|
105
5. Распределяем свободные операторы. Поскольку свободные операторы распределяются в порядке возрастания их времени вы полнения, распределяем сначала второй оператор. Определяем вели
чины TLi, |
Тц, |
TL2, |
Тьг. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
7 \ ] |
= |
2 + |
6 + |
5 + |
4 + |
3 = |
20: |
|
|
|
|||||
|
|
|
|
|
fL2 |
|
= |
8 + |
4 + |
2 + |
1 + |
8 = |
23; |
|
|
|
||||
|
|
|
|
|
|
|
|
7*1.1 |
= |
2; |
|
7*1.2 = |
8. |
|
|
|
|
|
||
|
Осуществляем |
выбор |
машины. |
Для |
этого |
вычисляем |
значения |
|||||||||||||
ДГ,- |
и Л7Ѵ: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ATj=2—8=—6; |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
ДГГ |
= (20—2) — (23—в) = + 3. |
|
|
|
||||||||||
|
Проверяем |
условия |
по |
табл. |
2-10. Дл я |
нашего |
случая Д7"3-=И=0, |
|||||||||||||
ДГГ=7^0 и |
их |
знаки не совпадают |
|
ДГ3- + А Г Г = — 3 | АТ,+АТ%\ |
< | АГ^ j . |
|||||||||||||||
|
По этой причине второй оператор распределяем на первую ЦВМ. |
|||||||||||||||||||
Результат |
распределения представлен на рис. 2-6. |
|
|
|
||||||||||||||||
|
Вычисляем |
новые |
значения |
Тц, |
Тьг, |
Тц, |
|
|
|
|
||||||||||
|
|
|
|
f L 1 |
= |
2 + |
6 + |
5 + |
|
4 + 3 + 1 = |
21; |
|
|
|||||||
|
|
|
|
fL2 |
|
= 8 + 4 + 2 + 8 = 2 2 ; |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
7 * L i = |
3, |
|
7"l2=8. |
|
|
|
|
|
||||
|
Распределяем |
четвертый |
оператор: |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
АТ} = — 5; |
|
|
|
|
|
|
||||
|
|
|
|
|
|
ДГ Г =(21 — 3) —(22—8) = |
+4; |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
АТІФО; |
|
АТг=0; |
|
|
|
|
|
|
||||
|
|
|
|
Д 7 ^ |
+ Д 7 \ . = — 1 |
|
|
|
\АТ,+АТТ\<\ЬТ,\. |
|
|
|||||||||
|
Четвертый |
оператор |
распределяем |
на |
первую |
машину (рис. 2 - 7 ) . |
||||||||||||||
|
С учетом условия 6 выравниваем длины операторов на обеих |
|||||||||||||||||||
машинах. |
Результат |
выравнивания |
приведен |
на |
|
рис. |
2-8. |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I |
|
° - ° |
|
• |
о - , |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I |
|
|
|
|
|
3(8) |
|
|
|
|
|
|
|
|
п |
|
m |
|
! t |
|
||
|
fHC. |
2-7. Распределе- |
|
|
|
|
Рис. 2-8. Вырав- |
|
||||||||||||
|
ние |
четвертого |
one- |
|
|
|
|
|
нивание |
длин |
|
|||||||||
|
|
|
|
ратора. |
|
|
|
|
|
|
|
|
|
операторов. |
|
|||||
|
Вычисляем |
новые |
значения |
f r , i = 2 2 , |
F l 2 = 2 2 , |
ТЦ=8, |
7 " ь 2 = 8 . |
|||||||||||||
|
Снова просматриваем матрицу достижимости. Находим откры |
|||||||||||||||||||
тые |
операторы |
5 |
и |
6. |
В |
матрице |
|
достижимости |
обращаем |
в нуль |
все элементы, соответствующие выбранным операторам. При этом матрица преобразуется в нулевую матрицу.
Распределяем связанные операторы 5 и 6. Результат распреде ления изображен на рис. 2-9.
106
Проверяем |
условие 6 и выравниваем |
длины операторов по |
маши |
|||||||||
нам. Результат выравнивания приведен на рис. 2-10. |
|
|
||||||||||
Осуществляем распределение связанных операторов 7 |
и |
9. Ре |
||||||||||
зультат |
распределения |
приведен |
на рис. 2-11. |
|
|
|
|
|||||
Распределяем открытые операторы 8 и '10. По_условию |
сначала |
|||||||||||
распределяем |
восьмой |
оператор. |
Имеем: |
7 , ы = 2 2 , |
7, л ,2 = 24, |
7"Ь і = 19, |
||||||
Гі,2 = 16, АГ3- = +3, |
Д7\.=— 5, |
ДГ,- + АГГ = — 2 . |
|АГ5- + Л Г Г | < | А Г 3 | . |
|||||||||
По |
этой |
причине |
восьмой |
оператор |
распределяем на |
|
вторую |
|||||
машину |
(рис. 2-12). |
|
|
|
|
|
|
|
|
|
||
1(2)2(1) 4(4) |
|
5(6) |
|
1®т) |
4(4) |
SIS) |
|
|
||||
1 |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
Д |
3(8) |
|
! |
6(4) |
. |
/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 2-9. Распределение пя |
|
Рис. |
2-10. Выравнивание |
|||||||||
того и |
шестого |
операторов. |
|
|
длин |
операторов. |
||||||
Выписываем |
новые значения |
времен: |
|
|
|
|
|
|||||
|
|
|
|
|
f n |
= 19, f L 2 = |
27, |
|
|
|
|
|
|
|
|
|
|
7"ы=19, |
TLi='l9. |
|
|
|
|
||
Распределяем десятый |
оператор: |
|
|
|
|
|
||||||
|
|
|
|
|
|
іДГ,=0, |
|
|
|
|
|
|
|
|
|
|
|
|
•ДГГ =—8, |
|
|
|
|
|
|
|
|
|
АГ5- + ДГг = --8, |
| Д Г , + Д Г , | > Д Г , - . |
|
|
||||||
Распределяем десятый оператор на первую машину. Результат |
||||||||||||
распределения |
приведен |
на рис. 2-13. |
|
|
|
|
|
|||||
|
|
|
УщІѴ) Щ) |
5(6) |
Щ) |
|
|
|
||||
|
|
Л |
3(6) |
4~ 6(4) |
|
|
|
|
|
|||
|
|
Рис. |
2-11. |
Распределение седьмого и |
|
|
||||||
|
|
|
|
|
девятого |
операторов. |
|
|
|
|
I |
3(8) |
J 6(4) _ |
\w_8(3)\ |
t |
|
|
|
|
|
Рис. 2-12. Распределение |
восьмого |
опе |
||
|
|
ратора. |
|
|
107
В 'последнем случае физически выбор |
машин произволен. Од |
||||||||
нако с точки зрения выполнения |
сформулированных |
приоритетных |
|||||||
правил |
мы |
распределяем |
десятый |
оператор на первую машину, так |
|||||
как у нее |
предварительное остаточное время оказалось меньшим. |
||||||||
|
|
Ц1)№ |
|
5(6) |
-7(5) |
^10(8) |
|
|
|
|
|
|
I |
|
I |
|
I |
|
|
|
Л |
Ш) |
I 6W . |
\зт |
в(з)1 |
j |
f |
||
|
|
Рис. 2-13. Распределение десятого оператора. |
|
||||||
Суммарное время |
реализации |
алгоритма оказывается |
равным |
||||||
т = 2 7 |
единицам. Нетрудно |
видеть, |
что строго оптимальное планиро |
||||||
вание |
дает |
время т = 2 3 . Таким образом, |
отклонение |
составляет око |
ло 18%. Однако для других более благоприятных вариантов эта погрешность может быть существенно меньше.
2-5. МЕТОДЫ ПОЛУЧЕНИЯ П Р И Б Л И Ж Е Н Н Ы Х Р Е Ш Е Н И Й
В процессе функционирования ВС часто возникают такие случаи, когда время, отводимое на организацию оптимального функционирования, чрезвычайно мало. Такая ситуация характерна для систем, работающих в реальном масштабе времени. Естественно, что в по добных условиях функционирования ВС практически исключается применение методов, обеспечивающих по лучение строго оптимальных или весьма близких к ним решений.
Для систем, работающих в реальном масштабе вре мени, единственно возможным является использование методов, обеспечивающих получение приближенных ре шений за ограниченные промежутки времени. Допустим, например, что имеется некоторая замкнутая система управления, работающая в реальном масштабе времени. В контуре этой системы функционирует вычислительная машина или система машин.
Предположим далее, что заданы предельно допусти мая погрешность системы управления AL и предельная допустимая погрешность ДФі, исчисления ЦВМ или си стемой ЦВМ некоторой управляющей функции Фь-
108
В том случае, если, например, по условиям функ ционирования предельные значения погрешностей опре деляются соотношениями
то можно определить |
предельное |
значение дискретно |
|||||||||
сти At |
управляющего |
органа |
(ЦВМ |
|
или системы |
ЦВМ) |
|||||
|
|
|
|
|
дФ |
|
dt |
|
|
|
|
Это |
значение |
дискретности |
At |
разделяется |
на |
две |
|||||
части |
(At = Ati + At2). |
Первая |
часть |
затрачивается |
|||||||
на выработку |
стратегии |
управления |
|
(планирование |
дей |
||||||
ствий). Вторая |
же |
часть |
At2 |
— на формирование |
(реше |
ние задачи) управляющих воздействий. Если выработка стратегии управления осуществляется в соответствии с методикой, изложенной выше, то с большой степенью вероятности Д^і>Л^іД О п- Это, естественно, недопустимо, поскольку нарушаются условия функционирования всей системы.
В [Л. 44] предлагается практически пригодный алго ритм, основанный на применении универсальных таблиц. Идея использования универсальной таблицы заклю чается в следующем. Составляется таблица, в кото рую заносятся все задачи в естественной последователь ности независимо от стадии их исполнения и взаимосвя зей. Когда одна из машин системы заканчивает решение задачи, она просматривает таблицу по порядку от на чала к концу и останавливает свой выбор на первой за даче, готовой к исполнению.
Формирование структуры таблицы (количество строк, столбцов, их смысловое содержание) в основном осуще ствляется в ходе предварительного анализа. На этом
этапе задачи |
разбиваются |
на группы |
в соответствии |
с частотой их |
повторения. |
Поскольку в |
конечном итоге |
все задачи должны быть решены, каждая задача долж на иметь хотя бы одно вхождение в таблицу. Очевидно, что максимальное время поиска задачи, готовой для решения, определяется длиной универсальной таблицы.
109