
книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем
.pdfСледовательно, неоперативное планирование произво дится заранее, не в динамике функционирования ВС. Для каждой типовой ситуации составляется свой план выполнения ЗНП, а реализация планов осуществляется в процессе функционирования системы по мере возник новения соответствующих ситуаций. *
Очевидно, что неоперативное мультипрограммное планирование целесообразно проводить для систем с ограниченным перечнем решаемых задач, для которых составлены программы и известно время выполнения каждой программы на любой из машин системы. Кроме того, наборы программ должны быть более или менее стабильными, а надобность в их выполнении должна возникать неоднократно, так как в противном случае не
окупаются |
потери времени, в том |
числе и |
машинного, |
|
на составление |
планов. |
|
|
|
Оперативное |
мультипрограммное |
планирование про |
||
водится в |
динамике функционирования ВС |
непосредст |
венно перед началом реализации поступившей в ВС к данному моменту времени группы задач. Оно осуще ствляется с учетом сложившейся к этому моменту си туации: занятости машин решением задач определенной приоритетности, наличием очередей для задач каждого приоритета, состоянием машин в смысле их работоспо собности. С учетом этих факторов оперативно состав ляется план реализации поступившего пакета задач, оптимальность которого оценивается величиной Т3,п.п. Оперативное мультипрограммное планирование в сущ ности представляет собой плановое диспетчирование для многомашинной ВС, одно из основных требований к ко торому состоит в том, чтобы время на составление пла на (время на диспетчирование) было меньше выигрыша во времени реализации поступившего пакета задач, по лучаемого за счет проведения оперативного планирова ния. Оперативное планирование осуществляется при наличии данных о времени, необходимом на выполнение каждой программы из ЗНП на любой из машин ВС.
Известные методы мультипрограммного планирова ния различаются:
1) по качеству решения задачи планирования: на методы, позволяющие получать строго оптимальный план в смысле выбранного критерия; методы, позволяю щие получать субоптимальные решения; методы, позво ляющие получать приближенные решения;
90
2)по степени связности задач, для решения которых составляется план: на методы, применяемые для несвя занных задач, и методы для информационно связанных задач;
3)по типу ВС, для которых составляется план: на методы, ориентированные применительно к однородным
системам, и методы, ориентированные применительно
кнеоднородным системам.
Вобщей постановке задача мультипрограммного
планирования |
заключается |
в том, |
чтобы распределить |
все имеющееся |
множество |
задач |
на множестве ЦВМ |
вычислительной системы заданной структуры и органи зовать последовательность решения задач (или их сег ментов) таким образом, чтобы общее время их реали зации было минимальным.
|
Пусть |
на |
вычислительной системе, |
состоящей из |
не |
|||||||
которого |
множества машин |
L — {/,, / |
2 , / j } , |
|
необходимо |
|||||||
реализовать |
некоторое |
множество |
программ |
А = |
{а1, |
|||||||
а2 , |
. . . , а к } . |
Заданным множествам |
L и |
А |
можно |
поставить |
||||||
в |
соответствие множество |
R = |
{rl, |
г 2 |
, г |
} |
вариантов |
|||||
начального |
распределения |
программ |
между |
|
машинами. |
|||||||
Для даннного варианта |
начального распределения |
воз |
||||||||||
можно |
множество Р — {рх,р2 |
|
p j |
планов, |
каждый |
из |
||||||
которых |
характеризуется |
своим |
временем t |
f |
реализа |
ции мно :сества программ А. Среди множества планов имеется один, которому соответствует минимальное время выполнения программ.
Формально это можно представить в виде следующей |
||||
операторной схемы: |
|
|
|
|
К |
|
|
|
|
L/R~^ |
мин ^ |
^ - tom |
= мин {мин ^ |
^ } . |
Таким |
образом, |
в качестве |
основного показателя ка |
чества планирования целесообразно рассматривать вре
мя |
реализации заданного |
набора программ |
(задач) |
|
на |
ВС, т. е. |
|
|
|
|
?'тр>А.н.п = |
мин; |
|
|
|
7 , з . и . и = |
макс |
ТІ, |
|
где |
Гтр — требуемое время |
реализации ЗИП; |
Tj — вре |
мя занятости /-Й ЦВМ при реализации ЗИП.
91
Как отмечалось выше, минимизация Г3 .н .п может быть обеспечена различными методами, отличающимися по качеству решения задачи планирования.
Применение методов, обеспечивающих получение строго оптимальных решений (метода целочисленного линейного программирования, метода динамического программирования), как правило, связано с необходи мостью выполнения большого объема вычислительной работы. По этой причине основная область их примене ния лежит вне динамики функционирования ВС. Эти
методы могут успешно применяться |
на |
отдельных |
эта |
|
пах проектирования ВС для |
оценки |
качества принятых |
||
конструкторских решений. В |
некоторых |
случаях, |
когда |
не накладывается жестких ограничений на время плани рования и не нарушаются условия функционирования системы, эти методы могут быть положены в основу организации управления работой ВС по оптимальному статическому плану.
По трудоемкости в лучшую сторону отличается ме тод активных расписаний, который основан на выборе
оптимального расписания (т. |
е. оптимального плана |
|||
реализации |
ЗИП) из |
числа |
активных |
расписаний. |
Активным |
называется |
такое |
расписание |
реализации |
ЗНП, при котором ни одна операция не начинается раньше, чем это предписано данным расписанием. Число активных расписаний значительно меньше числа всех возможных расписаний реализации З Н П на данной ВС, что облегчает решение задачи отыскания оптимального расписания. Метод активных расписаний путем последо вательных оценок и приближений позволяет улучшить первоначально выбранный план реализации ЗНП . От сутствие целенаправленного поиска оптимального реше ния, замененного методом проб и последовательных при ближений, в общем случае не обеспечивает получения оптимального плана.
По затратам машинного времени на реализацию и требуемой емкости ЗУ метод активных расписаний •име ет преимущество перед методом целочисленного линей ного программирования.
Метод составления субоптимального плана с точки
зрения трудоемкости и необходимой емкости |
ЗУ явля |
||
ется более предпочтительным по |
сравнению с предыду |
||
щими методами. Недостаток |
его |
состоит в том, что он |
|
не позволяет получить строго |
оптимального |
плана. Он |
92
лишь обеспечивает получение одного из возможных ре шений, приближающегося к оптимальному.
Методы получения приближенных решений характе ризуются тем, что при их использовании, хотя и не обес печивается получение минимального значения Т3,нл, зато по своей трудоемкости они являются наиболее пригод ными, особенно для систем, работающих в оперативном временном режиме.
2-3. МЕТОДЫ ОБЕСПЕЧЕНИЯ СТРОГО ОПТИМАЛЬНЫХ Р Е Ш Е Н И Й
Задача обеспечения строго оптимальных решений, как уже упоминалось, фактически сводится к составле нию глобально-оптимальных планов реализации задач в смысле выбранного критерия.
Существует несколько методов, обеспечивающих по лучение строго оптимальных решений. Наиболее извест ными в настоящее время являются метод целочислен ного линейного программирования и метод динамиче ского программирования.
Задача планирования для вычислительных систем в терминах линейного программирования [Л. 11, 42] формулируется следующим образом. Пусть имеется m
независимых |
задач |
и L |
параллельно |
работающих ма |
|||
шин в общем |
случае |
разной производительности. |
|||||
Известны |
средние значения времени реализации і-й |
||||||
задачи ( і = 1 |
, m) на |
/-й |
машине |
( / = 1 , |
L)tij, |
задаваемые |
|
матрицей порядка mXL. |
При |
m = L задача |
планирова |
ния рассматривается как задача целочисленного линей ного программирования.
При любом распределении время работы /-й машины
определяется выражением |
|
|
|
Tj = XijTij + Xzjtzj + . . . + XmjXmi + • • • |
(2-1) |
||
Величины Xij |
в выражении (2-1) |
могут принимать |
|
значения 0 и 1. |
|
|
|
При решении |
задачи планирования |
в {Л. 42] |
предла |
гается минимизировать наибольшее время занятости машин системы, т. е. Z = мин {макс Tj).
Переменные |
задачи |
і |
хц |
при этом |
планирования |
||||
равны: |
|
|
|
|
/ 1, если |
і-я задача реализуется на |
/-й |
машине; |
|
в противном |
случае |
|
|
93
На решение задачи в простейших случаях наклады ваются следующие ограничения:
L
Первое условие означает, что каждый оператор дол жен быть реализован на какой-то машине системы.
Вторым условием исключается назначение на одну машину двух и более задач.
Метод целочисленного линейного программирования дает точное решение за конечное число итераций. Одна ко объем вычислительной работы и объем памяти, не обходимые для его реализации, настолько велики, что часто затрудняют его практическое применение.
В [Л. 11] приводится достаточно простой алгоритм выбора из активных расписаний. Составление активных расписаний производится в соответствии с древовидной схемой процесса разрешения конфликтов. При этом активным расписанием называется такое возможное распределение реализуемых задач на ВС, при котором ни одна задача не может начаться раньше, чем это предписано данным распределением.
Активное расписание с минимальной длиной табли цы Ганта будет оптимальным.
Согласно [Л. 11] сущность процесса разрешения кон фликтов заключается в том, чтобы не допускать распре деления на j-ю машину іѴго алгоритма раньше, чем окончена реализация ранее начатого алгоритма. Таким образом, физический смысл конфликта заключается в возникновении задержки начала реализации ^-алго ритма из-за конфликта между операциями реализации алгоритмов /г и і\.
Любой такой конфликт разрешается одним из двух
способов: 1) сдвигом влево момента |
начала |
реализации |
|||
г'і-алгоритма на время |
вызванной задержки; |
2) |
сдвигом |
||
вправо момента начала |
реализации алгоритма |
h |
на это |
||
же время. |
|
|
|
|
|
В результате разрешения всех конфликтов оказыва |
|||||
ются перечисленными |
все активные |
расписания. |
Если |
94
общее число конфликтов на у'-й машине равно Kj, то общее число активных расписаний Яа равно:
/=1
где L — число машин в системе.
Таким образом, этот метод путем последовательных оценок и приближений позволяет улучшать первоначаль но выбранный план реализации некоторого набора задач.
Решение задачи оптимального планирования можно также получить на основе метода динамического про граммирования. Использование схемы динамического программирования в решении дискретных задач пред полагает, что изучаемое явление может быть представ лено как многошаговый процесс, удовлетворяющий принципу оптимальности.
Принцип оптимальности кратко формулируется сле дующим образом. Оптимальное решение обладает тем свойством, что каковы бы ни были первоначальное со стояние и решение в начальный момент, последующие решения должны быть оптимальными относительно со стояния, получающегося в результате первого решения.
Принцип оптимальности является основой для мате матического описания и решения всех задач динамиче ского программирования. С точки зрения задач динами ческого программирования смысл изучения многошаго вых процессов состоит в том, чтобы определить совокуп
ность управляющих воздействий U0, Vu |
UN-I, |
при |
которых функция RN (SO, UQ, . . . , UN-i) |
принимает |
экст |
ремальное значение. Изменяя значения Ui, будем пере
водить систему |
в |
новые |
состояния Si+i и получать но |
||
вые значения |
RN- С |
учетом сказанного, |
совокупность |
||
значений U0, Uu |
|
UN-i |
называют решением. |
||
Решение, при |
котором |
RN принимает |
экстремальное |
||
значение, называется |
оптимальным. |
|
При использовании метода динамического програм мирования решение определяется не сразу, а последова
тельно за N этапов. Это дает возможность |
заменить |
|||
оптимизацию функции RN с N переменными |
оптимиза |
|||
цией |
N функций Ri |
(S0, Uo), Rz(Su |
Ui), |
RN (SN-i |
UN-I), |
каждая из |
которых включает |
лишь |
одну пер^ |
менную.
95
H a возможность применения метода динамического програм мирования в теории расписаний указано, например, в [Л. 47].
Практически удобная форма записи общего уравнения дина мического программирования для решения задачи глобального пла нирования работы вычислитель ных систем предложена в [Л. 45].
Рис. 2-1. Граф набора |
В [ Л " |
4 5 3 n P ° U e c c |
нахождения |
||
задач. |
оптимального |
плана |
осущест |
||
|
вляется |
по этапам |
в |
инверсном |
времени. Функциональное уравнение многошагового про
цесса выражается при этом следующей |
рекуррентной |
|||||||
формулой: |
|
|
|
|
|
|
|
|
I |
yJk |
) = мин{с,,т(1/А |
,Uk |
) + |
/ |
(Uh |
} , |
|
|
|
UN—t |
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
(2-2) |
|
|
|
|
|
|
|
|
|
где |
c / ^ _ 1 |
и UNK~^ — управления |
на |
этапах Л7 — S — 1 и |
||||
N — 5; Czj — матрица достижимости |
графа |
набора |
задач. |
|||||
Решая это уравнение от конца |
к |
началу, находим |
||||||
оптимальную последовательность |
управлений. |
|
||||||
Рассмотрим пример, иллюстрирующий возможность данного ме |
||||||||
тода. |
Условимся в дальнейшем |
для |
простоты, |
как это |
принято |
в {Л. 45], под величиной т в выражении ( 2-2) понимать лишь чистое машинное время и простои.
Пусть требуется найти оптимальный план реализации набора задач, заданного графом G (рис. 2-1)."
Матрица достижимости с,-;- имеет следующий вид:
1 2 3 4 5 6 7 8
1 0 0 0 0 0 0 0 0
20 0 0 0 0 0 0 0
30 0 0 0 0 0 0 0
4 |
1 1 1 0 0 0 |
0 0 |
|
|||||
5 |
1 1 1 0 |
|
0 |
0 |
0 |
0 |
' |
|
6 |
0 0 0 |
|
1 1 |
0 |
0 0 |
|
||
7 |
0 0 0 |
|
1 0 |
0 |
0 0 |
|
||
8 |
0 0 0 |
0 |
1 0 |
0 0 |
|
Пусть далее в состав ВС входят две однотипные элементарные машины и средние времена Хц реализации задач заданы табл. 2-1.
|
|
|
|
|
|
Т а б л н ц а |
2-1 |
|
і |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
S |
|
5 |
2 |
3 |
4 |
G |
2 |
8 |
4 |
Допустим, что задан возможный начальный |
вариант распреде |
|||||||
ления задач |
по машинам |
в соответствии |
с |
табл. |
2-2. |
|
Т а б л и ц а 2-2
L |
1 |
2 |
3 |
4. |
5 |
6 |
7 |
8 |
I |
1 |
2 |
1 |
4 |
5 |
6 |
7 |
6 |
I I |
2 |
3 |
3 |
5 |
4 |
7 |
8 |
8 |
Рассмотрим процесс составления оптимального плана по шагал. В соответствии с матрицей достижимости с,/ будем на каждом
шаге |
изображать |
возможные варианты |
|
распределений |
^ так, |
|||||||
как это |
показано на рис. 2-2. |
|
|
|
|
|
|
|
||||
|
|
5(6) |
m |
6(2) |
|
|
/(gj |
|
800 |
6(2) |
||
|
|
|
1 Г |
|
-4? |
|
l |
Г 9 |
|
1 <j |
? ! |
|
|
|
|
I |
1 7(8) |
|
I |
|
l |
|
I I |
I |
|
|
|
Mb) |
|
1 з(з/М |
m |
1 1 |
1 |
|||||
|
Н-М |
Н-3 Н-2 Н-1 |
|
|
II |
H-k |
|
N-3 H-Z |
N-1 |
|||
|
I |
И1*) |
. |
7(8) |
|
1(5) |
2(2) |
|
|
|
||
|
5(6) |
I |
'клм' |
|
•7 — |
1 |
9—1 |
|
|
|
||
|
|
|
- ? — I — Г |
|
1 |
|
|
I I |
|
|
|
|
|
N-if |
М-Э N-Z Н-1 |
|
|
|
|
|
|
|
|||
? |
|
|
|
|
|
- t — Г |
1(5) |
|
|
|
||
Щ) |
7(8) |
6(2) |
|
|
|
|
||||||
|
|
|
|
|
|
|
||||||
|
? |
|
1 |
? * |
|
|
|
|
|
|
|
|
1 |
|
1 |
5(6) |
M1 |
1 |
|
|
|
|
|
|
|
N1-Ч |
|
1 |
|
|
|
|
|
|
|
|
|
|
1 |
|
А |
|
|
|
|
|
|
|
|
|
|
|
|
N-3 |
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 2-2. Варианты распределения задач по шагам. |
|
|||||||||
7—1514 |
|
|
|
|
|
|
|
|
|
|
97 |
Процесс решения задачи приведен на рис. 2-2 и в табл. 2-3—
2-9.
|
Этап {N—\) |
— N |
|
|
|
|
|
Т а б л и ц а |
2-3 |
UN- 2 |
|
fN—i |
|
|
k |
|
|
|
|
6 |
|
— |
4 |
|
7 |
|
— |
8 |
|
8 |
|
— |
4 |
|
f»- |
К - 2 |
)=мин сif. {UNk' |
|
|
|
|
k |
|
|
|
Этап |
(N — 2) — {N -1) |
|
|
|
|
|
Т а б л и ц а |
2-4 |
JJN- |
3 |
uN-2 |
fN-2 |
|
Яk
7 |
6 |
12 |
6 |
7 |
12 |
7 |
8 |
8 |
Этап |
(N — 3) — (N — 2) |
|
|
|
Т а б л и ц а 2-5 |
uN-4 |
« |
fJV—3 |
R |
|
|
5 |
7 |
16 |
4 |
6 |
16 |
— |
— |
— |
98
! К'4 ) = мин {ctrtU»-*, и»-*) + f»~*
(N — 4) — (N — 3)
|
|
Т а б л и ц а 2-6 |
Ä |
k |
fN-i |
|
||
5 |
5 |
24 |
4 |
4 |
24 |
—— —
*(UN~6) = МИН { ^ х ( ^ 5 , U»-*) + ^ - 3 ( [ / ^ - 4
Этап (N — 5-) — (N — 4)
|
|
Т а б л и ц а |
2-7 |
k |
К |
fiV-5 |
|
|
|
||
1 |
5 |
28 |
|
2 |
5 |
28 |
|
3 |
5 |
30 |
|
\и»-*) = |
мин{ c t j , (U»s, |
и»'*) + |
fN-\UNk- |
|
k |
|
|
|
Этап (Л'—ff)— (N — б) |
|
|
|
|
Т а б л и ц а |
2-8 |
ИЯ-7 |
uN-6 |
fJV—6 |
|
k |
k |
|
|
3 |
1 |
34 |
|
3 |
2 |
30 |
|
1 |
3 |
34 |
|