И нформационные технологии в управлении
УДК 681.3.06
ОРГАНИЗАЦИЯ ОДНОРОДНЫХ КННКУРИРУЮЩИХ ПРОЦЕССОВ ПРИ РАСПРЕДЕЛЕННОЙ КОНВЕЙЕРНОЙ ОБРАБОТКЕ
П.А. Павлов
Получены формулы и оценки минимального общего времени выполнения однородных распределенных конкурирующих процессов. Проведен сравнительный анализ режимов взаимодействия процессов, процессоров и блоков структурированного программного ресурса с учетом дополнительных системных расходов.
Ключевые слова: распределенный процесс, программный ресурс, однородная система, асинхронный режим, синхронный режим, структурирование, параллелизм.
ВВЕДЕНИЕ
В различных областях человеческой деятельности постоянно приходится сталкиваться с большими задачами, эффективное решение которых связано с распараллеливанием процессов вычислений. В связи с этим особую актуальность приобретают задачи построения и исследования математических моделей обработки распараллеливаемых программных ресурсов с последующей их конвейеризацией по процессам и процессорам. Практический интерес представляют задачи определения временных характеристик однородных конкурирующих процессов, сравнительного анализа режимов взаимодействия распределенных процессов, получения условий эффективности систем однородных конкурирующих процессов с учетом накладных расходов по времени их реализации. Именно этим задачам посвящена настоящая статья.
1. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ КОНКУРИРУЮЩИХ ПРОЦЕССОВ
В качестве конструктивных элементов для построения математических моделей распределенных вычислительных систем служат понятия процесса и программного ресурса.
Как и в работе [1], процесс будем рассматривать как последовательность блоков (команд, процедур) Ql, Q2, ..., Qs, для выполнения которых используется множество процессоров (процессорных узлов, обрабатывающих устройств). Процесс называется распределенным, если все блоки или часть из них обрабатываются разными процессорами. Для ускорения выполнения процессы могут обрабатываться параллельно, взаимодействуя путем обмена информацией. Такие процессы называются кооперативными или взаимодействующими процессами [2].
Понятие ресурса употребляется для обозначения любых объектов вычислительной системы, которые могут быть использованы процессами для своего выполнения. Реентерабельные (многократно используемые) ресурсы характеризуются возможностью их одновременного использования несколькими процессами. Для параллельных систем характерна ситуация, когда одну и ту же последовательность блоков или ее часть необходимо процессорам выполнять многократно, такую последовательность будем называть программным ресурсом (ПР), а множество соответствующих процессов — конкурирующими.
Решая проблему распределения программных ресурсов, неявно решаем задачи эффективного использования ресурсов остальных категорий. В свою очередь, эффективно решая задачу распределения программных ресурсов, решаем проблему сокра-
щения времени реализации множества параллельных распределенных процессов. Данные задачи можно эффективно решать, опираясь на методы структурирования, принципы распараллеливания и конвейеризации [2].
Как и в работах [1—5], математическая модель распределенной обработки конкурирующих процессов включает в себя p процессоров многопроцессорной системы (МС), п конкурирующих процессов, s блоков Q1, Q2, ..., Q структурированного на блоки программного процесса, матрицу Т = [?..]
р ц
времен выполнения у-х блоков /-ми конкурирующими процессами, причем р 1 2, п 1 2, s 1 2,
1 < / < п, 1 < у < s. Будем предполагать, что все п процессов используют одну копию структурированного на блоки ПР, а на множестве блоков установлен линейный порядок их выполнения.
Введем в рассмотрение параметр т > 0, характеризующий время (системные расходы), затрачиваемые МС на организацию параллельного выполнения блоков программного ресурса множеством распределенных конкурирующих процессов. В дальнейшем будем говорить, что перечисленные объекты математической модели образуют систему распределенных конкурирующих процессов.
Определение 1. Система п распределенных конкурирующих процессов называется неоднородной, если времена выполнения блоков программного ресурса Q1, Q2, ..., Qs зависят от объемов обрабатываемых данных и (или) их структуры, т. е. разные для разных процессов. ♦
Определение 2. Система п распределенных конкурирующих процессов называется однородной, если времена выполнения у-го блока каждым из /-х
процессов равны, т. е. = t, / = 1, п, у = 1, s.
и ц
♦
В работах [1, 2] введены режимы взаимодействия процессов, процессоров и блоков структурированного программного ресурса.
Асинхронный режим взаимодействия процессоров, процессов и блоков предполагает отсутствие простоев процессоров при условии готовности блоков, а также невыполнение блоков при наличии процессоров. На рис. 1 представлен пример диаграммы Ганта, которая отображает выполнение п = 3 однородных распределенных конкурирующих процессов, использующих структурированный на s = 8 блоков ПР в МС с р = 3 процессорами. Матрица времен выполнения блоков п конкурирующими процессами с учетом параметра т имеет вид
ггіТ ______
Тр =
2 4 2 3 14 2 3
2 4 2 3 14 2 3
2 4 2 3 14 2 3
^ ^ л л /, 1, К ± и ІІ 14 1, ’» '»
і, Ь ^7 Ь
іб
43
0/>.
п. А', Т )
Рис. 1. Диаграмма асинхронного режима
'з '1 К
/, /г 12 1 і 1 и !, 1. 1. 1. 1,
и *\ 11 /, /,
43
Т'^р.п,$.х)
Рис. 2. Диаграмма первого синхронного режима
Рис. 3. Диаграмма второго синхронного режима
Так как s > р, s = кр + г, к = 2, г = 2, то мы имеем случай ограниченного параллелизма [1]. В этом случае исходную матрицу времен выполнения блоков
Тр разбиваем на к + 1 подматрицу Т , I = 1, к + 1, размерностью п х р каждая, за исключением последней ТТ +1, которая будет содержать только г столбцов, а остальные р — г столбцов будут нуле-
выми. По каждой из подматриц Т , I = 1, к + 1, строим к + 1 линейную диаграмму Ганта, каждая из которых отображает во времени выполнение р блоков структурированного ПР на р процессорах всеми п процессами. Последняя диаграмма отображает выполнение последних г блоков всеми п процессами.
Первый синхронный режим обеспечивает непрерывное выполнение блоков программного ресурса внутри каждого из процессов (рис. 2).
Второй синхронный режим обеспечивает непрерывное выполнение каждого блока всеми процессами (рис. 3).
У tW + (n — 1) max tW — время
1<w<p
I = 1, к; Е. =.................
1 < № < р № = 1
завершения выполнения [(/ — 1)р + у]-го блока программного ресурса всеми п процессами на у-м
процессоре, у = 1, р, I = 1, к. Тогда общее время выполнения п конкурирующих распределенных однородных процессов в случае s = кр, к > 1, будет определяется как сумма длин составляющих диаграмм Ганта с учетом максимально допустимого совмещения по оси времени, т. е.
k k -1
TpaoC l (р, n, s = кр, т) = У T - У min{ ф), ф'/}
l = 1 l = 1
2. ВРЕМЯ РЕАЛИЗАЦИИ ОДНОРОДНЫХ СИСТЕМ РАСПРЕДЕЛЕННЫХ КОНКУРИРУЮЩИХ ПРОЦЕССОВ
В работах [1, 2] исследованы базовые асинхронный и синхронные режимы, возникающие при организации распределенных процессов в условиях конкуренции за общий программный ресурс. В рамках этих режимов получены математические соотношения для вычисления значений минимального общего времени выполнения неоднородных распределенных конкурирующих процессов в случаях неограниченного ^ < р) и ограниченного ( > р) параллелизма по числу процессоров многопроцессорной системы.
Рассмотрим однородную систему распределенных конкурирующих процессов. Пусть , 1Х2, ...,
^ — длительности выполнения каждого блока структурированного программного ресурса с учетом параметра т > 0.
При s < р для вычисления минимального общего времени в асинхронном режиме Тр0 (р, п, s, т) и первом синхронном режиме Тр0 (р, п, s, т) получим,
что Г“л (р, n, s, т) = У tJ + (n — 1) max tJ.
p , 1 < j < s
J = 1
Далее рассмотрим случай, когда s = кр, к > 1. Введем следующие обозначения: tj’l = _^p+j + т —
время выполнения j-го блока l-й группы всеми n
процессами, j = 1, р, l = 1, к; 7 = у tj’l + (n — 1)s
j = 1
x max tj’l — общее время выполнения l-й группы
1 < j < p
блоков всеми n процессами на р процессорах,
Здесь — отрезок возможного совмещения
по оси времени, представляющий собой разность между моментом начала выполнения у-го блока первым процессом для (I + 1)-й группы блоков и моментом завершения выполнения у-го блока последним процессом для 1-й группы блоков, а ф'/ — представляет собой разность между началом
выполнения первого блока /-м процессом для (I + 1)-й группы блоков и моментом завершения выполнения р-го блока /-м процессом для 1-й группы блоков, которые вычисляются по формулам:
Ф l = min
1 < j < p
j -1 T + У
w = 1
.1’ 1 + 1 T-TJ‘
w - El
= min
1 < j < p
p
У
■w = j + 1
j - 1
,%’ l * I 4-T’ l + 1
tw + У tw
Фl = (n — 1)min[ max t>
1 < j < p
w = 1
T’ l
max tj
1 < j < p J
T’ l + 1
l = 1, к - 1.
В случае s = кр + г, к 1 1, 1 < г < р, минимальное общее время в рассматриваемых режимах определяется по формуле:
aC.1
po
(р, n, s = кр + r, т) =
k k -1
У 7 + Tk+1 — У min{ ф l, ф '/} — min{ ф k, ф k},
l = 1
l = 1
где Tk +1 = У tj’k + 1 + (n — 1) max tj’k + 1 — время j = 1 1 <J < < выполнения (к + 1)-й группы r блоков всеми n
p , j -1
процессами, ф k = min
1 < j < r
,T’ k tw +
У tw
T’ k + 1
У
.w = j + 1 w = 1
разность между моментом начала выполнения j-го
s
Рис. 4. Совмещенная диаграмма Ганта (асинхронный режим)
Рис. 5. Совмещенная диаграмма Ганта (первый синхронный режим)
блока первым процессом для (к + 1)-й группы блоков и моментом завершения выполнения j-го блока последним процессом для к-й группы блоков,
Ф k = (n — 1)min[ max tj’l, max tj’l +1 ] — разность
1 < j < p 1 < j < r
между началом выполнения первого блока i-м процессом для (к + 1)-й группы блоков и моментом завершения выполнения р-го блока i-м процессом для к-й группы блоков.
Из рис. 1 и 2 видно, что Tpa0 (р, n, s, т) = Tp1o (р, n, s, т) = 43. Однако это время можно существенно сократить, если воспользоваться приемом совмещения последовательных диаграмм Ганта по оси времени справа налево на размер максимально допустимого совмещения (рис. 4 и 5).
Если взаимодействие процессов, процессоров и блоков осуществляется во втором синхронном режиме (см. рис. 3), при котором для каждого блока структурированного программного ресурса момент завершения его выполнения для i-го процесса совпадает с моментом начала его выпол-
нения для (i + 1)-го процесса на том же процес-
соре, / = 1, п - 1, то минимальное общее время
Тр0 (р, п, s, т) выполнения п однородных процессов на р процессорах определяется по формулам:
Tpo (p, n, s, т) = у tj + (n - 1) S j = 1
ts + у maxi tn
J=2
T
J -1
tj, 0}
при s m p,
m
TPo (p, n, s, т) m
k k -1
у Tl- у min{yl, yf} при s = kp, k > 1; l = і l = і
k k-1 (1)
у Tl + Tk + і - у m^Wl, Уі"} - mm^l, Уі"}
l = 1 l = 1 при s = kp + r, k > 1, 1 < r < p.
Значения T, yl, y", Tk +1, yk, yk' вычисляются соответственно по формулам:
• Tl = У jl +(n —1)
j = 1
общее время выполнения l-х р блоков программного ресурса всеми n процессами на р процессорах, l = 1, к;
• y l и yl — отрезки возможного совмещения двух последовательных диаграмм по оси времени:
yl = min {T + e] +1 — ntj’l + 1 — e]},
1 < j < p
y l ' = (n — 1)min{ t1’l +1, tp}, l = 1, к - 1;
• Ejl = У twl + (n — 1) tj’l + У max{ tw’-1 —
tp l + у maxi tj-11 — tj, l ,0}
J=2
w = 1
w=2
twl, 0}
, j = 1, р, l = 1, к — время завершения
выполнения [(/ — 1)р + у]-го блока программного ресурса всеми п процессами нау-м процессоре;
• Tk +1 = у j k + 1 + (n — 1)
j = 1
,т, k + 1 1
tr +
+
У max{
т, k + 1
tj -1
— t,
т, k + 1
, 0}
J=2
— время выпол-
нения (к + 1)-х r блоков для всех n процессов;
;
;
X
p
r
Рис. 6. Совмещенная диаграмма Ганта (второй синхронный режим)
• min{ yk, y£} — максимальное совмещение по оси времени к-й и (к + 1)-й диаграмм:
k+ 1 ’ k+ 1 k yk = min {Tk + Ej — ntf — Ej },
1 < j < r k J J J
yk' = (n — 1)min{ t
’ k + 1
Ck}
В формуле (1) стоит знак неравенства, так как
каждое значение min{ yl, y"}, l = 1, к - 1, учитывает только максимально допустимое совмещение по оси времени между парами соседних диаграмм Ганта, но не всегда учитывает возможные совмещения между подряд идущими группами блоков, выполняющихся на одном и том же процессоре в двух соседних диаграммах.
С учетом максимально допустимого суммарного совмещения диаграмма Ганта для второго синхронного режима будет иметь вид, представленный на рис. 6.
3. АНАЛИЗ РЕЖИМОВ ОРГАНИЗАЦИИ
РАСПРЕДЕЛЕННЫХ КОНКУРИРУЮЩИХ ПРОЦЕССОВ
Определенный теоретический и практический интерес представляет задача сравнительного анализа соотношений для определения минимального общего времени выполнения множества распределенных конкурирующих процессов. Проведем такой анализ для класса однородных систем с учетом дополнительных системных расходов т > 0.
Рассмотрим однородную систему распределенных конкурирующих процессов с временами выполнения блоков структурированного на блоки
,1 ,1
программного процесса t1, t2
ts . Обозначим
через
rriX ________
Tp =
£ . суммарное время выполнения
и = 1
программного ресурса каждым из процессов с учетом накладных (системных) расходов и назовем на-
бор параметров ( t1 , t2 характеристическим.
ts , Tp ) данной системы
\т; = у j, jT =
= . + т > 0, у = 1, s | — множество всех допустимых
характеристических наборов систем однородных конкурирующих процессов. Выделим из множества в подмножество характеристических наборов вида:
н( тр) = {(, £, ..., С, тр) е в | т £ < ...
... m tT i tT
l +1
Тогда для введенного подмножества характеристических наборов справедливы следующие утверждения.
Теорема 1. Пусть 8 е H( Tp) — характеристический набор любой однородной системы с параметрами р, n, s l 2 и накладными расходами т > 0. Тогда в случае неограниченного параллелизма минимальные
aC 1 2
общие времена Tpo , Tp о и Ip о выполнения множества однородных распределенных конкурирующих процессов в асинхронном и базовых синхронных режимах совпадают. ♦
Пусть tT = max tj. Тогда для асинхронного и
1 < j < s
первого синхронного режима с непрерывным переходом по блокам для любого характеристического допустимого набора однородной системы, в том числе и для любого характеристического набора
8 е H( Tp) при 2 < s m р, имеют место равенства: TpaoC (р, n, s, т) = Tpo (р, n, s, т) = TpT + (n — 1) tl,
где тр = £ ., . = . + т, у = 1, s. и = 1
Если взаимодействие процессов, процессоров и блоков осуществляется во втором синхронном режиме (с непрерывным переходом по процессам), то для любого характеристического набора из множества в при 2 < s < р выполняется равенство:
Тро (р, п, ^ т) = £ . + (п - 1) х и = 1
ts +
у max{ tj-1 — tj, 0}
j = 2
Теорема 1 будет доказана, если будет выполнять-
s
ся равенство tsT + у max{ tj-1 — tj, 0} = t] . Учи-
j=2
s
т
т
т
n
р
1
т
s
s
X
s
тывая, что tT = max tj, для всех номеров j m l имеет
1 < j < s l
место равенство у max{ tj-1 — tj, 0} = 0, а для
j=2
j > l имеет место у max{ tj -1 — tj , 0} = tl — ts
j = l + 1
tj, 0} = tj +
Следовательно, ?;т + £ тах{ ?.-1 .
И = 2
+ , что и требовалось доказать.
Теорема 2. Для любой однородной распределенной системы с параметрами р, п, s и накладными расходами т > 0, допустимый характеристический набор которой 8 £ Н( Тр), при 2 < s < р выполняются р0 (р
2 aC
соотношения: T (р, n, s, т) > T (р, n, s, т) =
= Tp1o (р, n, s, т). ♦
Условие теоремы 2 равносильно неравенству
Г +
У max{ tj - 1 — tj , 0} — max tj > 0. Доказа
^ J J 1 < j < s
j = 2
тельство последнего проводится индукцией по числу блоков s, s 1 2.
4. ЭФФЕКТИВНОСТЬ СИСТЕМ ОДНОРОДНЫХ КОНКУРИРУЮЩИХ ПРОЦЕССОВ В УСЛОВИЯХ
Введем следующее определение, которое выделяет в классе однородных систем конкурирующих процессов специальный подкласс так называемых равномерных систем.
Определение 1. Однородную распределенную систему конкурирующих процессов назовем равномерной, если выполняется цепочка равенств = ... = ?; = ?т. ♦
Согласно теореме 1 для однородных систем конкурирующих процессов минимальное общее время с учетом накладных расходов т > 0 для всех трех базовых режимов, указанных в § 1, в случае s < р вычисляется по формуле:
Tpaoc'1,2 (р, n, s, т) = TpT + (n — 1) Cx, (1)
где Тр = £ . , . = . + т ] = 1 s , ?тах = тах .
1 1 < / <;
и = 1
В случае равномерной однородной системы конкурирующих процессов минимальное общее время их выполнения определяется равенством
T (р, n, s, т) = (n + s — 1)tT. где f = Ts/s + т, Ts = st.
(2)
Определение 4. Однородную систему распределенных конкурирующих процессов будем называть эффективной при фиксированныхр, п 1 2, если выполняется соотношение Ат ^) = пТ; — Т (р, п,
s, т) 1 0, где пТ; — время выполнения п процессов
;
в последовательном режиме, а Т; = £ ^. ♦
и = 1
При наличии двух эффективных однородных систем конкурирующих процессов будем считать, что первая более эффективна, чем вторая, если величина Ат ^) первой системы не меньше соответствующей величины второй. Для введенного подмножества однородных систем справедливо следующее утверждение.
Теорема 3. Для любой эффективной однородной системы конкурирующих процессов при s т р и т > 0 существует более эффективная равномерная однородная распределенная система. ♦
Рассмотрим любую эффективную однородную распределенную систему. Согласно определению 4, условие ее эффективности с учетом формулы (1) записывается в виде следующего неравенства:
A (s m р) = (n — 1)(Ts — Cx) — (n + s — 1)т > 0,
(3)
где TS = У j tmax = max j.
, j 1 < j < s j
j = 1
Для любой равномерной однородной распределенной системы с учетом равенства (2) имеем:
AT (s m р) = (n — 1)(Ts — t) — (n + s — 1)т > 0, где t = Ts/s.
Справедливость теоремы 3 доказывает выполнение неравенства AT > At для введенных эффективных систем.
Следующее утверждение ставит достаточное условие эффективности однородной системы в случае неограниченного параллелизма.
Теорема 4. Однородная система конкурирующих процессов с параметрами р, n, s, т, удовлетворяющая соотношениям 3 m s m р, s = n ^ 3, ns > 2(n + s — 1) и 0 < т m min j, является эффективной. ♦
1 < j < s J
Согласно неравенству (3) условие эффективности равносильно неравенству
TS - timax > n + s - 1
n - 1
(4)
Следовательно, для доказательства теоремы 4 достаточно убедиться в справедливости неравенства (4). Непосредственная проверка показывает,
s
s
s
s
s
т
91001701310131324802020100
что следствием соотношений 0 < т m min j = t.
1 < j < s J
является цепочка неравенств:
T s t s ( 1 ) t s
' - tmax > ( s — 1) <mjn > s — 1
(5)
так как в силу выбора параметра т выполняется неравенство /т 1 1.
Из т 1 2(п + 5 — 1) следует справедливость неравенства
n + s - 1 n - 1
(6)
Проверка показывает, что неравенство (4) является следствием неравенств (5) и (6).
Далее формулируется критерий существования эффективной однородной системы распределенных конкурирующих процессов при достаточном числе процессоров в зависимости от накладных расходов т.
Теорема 5. Для существования эффективного структурирования программного ресурса при заданных параметрах 3 < 5 < р, Т;, т > 0 необходимо и достаточно, чтобы выполнялись следующие условия:
m
ф( 1 + jn), если jn — целое, max {ф( 1 + [jn ]), ф( 2 + [л/й ])}, если jn — не целое,
где ф(х) = (п-—- -Т' (х—— , [х] — наибольшее целое, х (п + х - 1)
не превосходящее х. ♦
Условие эффективности любой однородной распределенной системы конкурирующих процессов равносильно неравенству:
е m (n - 1 )Т (s- 1 ) s (n + s - 1)
(7)
Введем в рассмотрение функцию ф(х) =
= ( п - 1 )Т; (х - 1 ) х(п + х - 1)
Нетрудно проверить, что она достигает своего
максимума при х > 0 в точке х = 1 + */«. Выбрав в качестве эффективного структурирование на 5
блоков, при котором 5 = х = 1 + 4п , если л/п —
целое, или 5 = х е {1 + [л/п ], 2 + [4п ]}, если л/п — не целое, докажем необходимость.
Достаточность следует из неравенства (7), поскольку функция ф(х) достигает наибольшего значения при х = 1 + л/п , если 4п — целое, или х е {1 + [л/п ], 2 + [л/Й ]}, если 4п — не целое.
ЗАКЛЮЧЕНИЕ
В работе получены оценки минимального общего времени реализации однородных конкурирующих процессов, проведен анализ режимов взаимодействия однородных процессов, процессоров и блоков структурированного программного ресурса, показано, что эффективную однородную систему следует искать среди равномерных однородных систем, сформулированы критерии эффективности однородных систем в условиях неограниченного параллелизма и с учетом накладных расходов. Полученные формулы служат основой для решения задач оптимизации числа блоков при заданных остальных параметрах многопроцессорной системы, нахождения оптимального числа процессоров при заданных объемах вычислений и (или) директивных сроках реализации процессов, исследования всевозможных смешанных режимов организации выполнения параллельных процессов при распределенной обработке, в том числе с учетом ограниченного числа копий структурированного программного ресурса и др.
ЛИТЕРАТУРА
1. Иванников В.П., Коваленко Н.С., Метельский В.М. О минимальном времени реализации распределенных конкурирующих процессов в синхронных режимах // Программирование. - 2000. - № 5. - С. 44-52.
2. Коваленко Н.С., Самаль С.А. Вычислительные методы реализации интеллектуальных моделей сложных систем. — Минск: Бел. навука, 2004. — 166 с.
3. Kapitonova Yu.V., Kovalenko N.S., Pavlov В.А. Optimality of systems of identically distributed competing processes // Cybernetics and Systems Analysis. — New York: Springer, — 2006. — P. 793—799.
4. Павлов П.А. Анализ режимов организации одинаково распределенных конкурирующих процессов // Вестник БГУ / Сер. 1: Физ.-мат. информ. — 2006. — № 1. — С. 116—120.
5. Коваленко Н.С., Павлов П.А. Системы одинаково распределенных конкурирующих процессов в условиях ограниченного параллелизма и их оптимальность // Доклады НАН Бела-рум / Сер. фiз.-мат. навук. — 2006. — № 2. — С. 25—29.
Статья представлена к публикации членом редколлегии
чл.-корр. РАН П.П. Пархоменко.
Павлов Павел Александрович — канд. физ.-мат. наук, доцент,
Полесский государственный университет, Республика Беларусь,
г. Пинск, ®+375 (0) 165-32-21-23, И [email protected].
s
т
т
т