Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем

.pdf
Скачиваний:
15
Добавлен:
25.10.2023
Размер:
14.65 Mб
Скачать

f-\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\,

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)

 

т)

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

Соседние файлы в папке книги из ГПНТБ