Научная статья на тему 'Синхронный режим распределенных вычислений при непрерывном выполнении блоков ограниченного числа копий программного ресурса'

Синхронный режим распределенных вычислений при непрерывном выполнении блоков ограниченного числа копий программного ресурса Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
9
3
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
синхронный режим / распределенные вычисления / структурирование / конвейеризация / программный ресурс / диаграмма Ганта / функционал Беллмана-Джонсона / structuring / pipelining / program resource / Gantt diagram / Bellman-Johnson functional / synchronous mode / unbounded (bounded) parallelism

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Павлов Павел Алесандрович, Коваленко Николай Семенович

При создании многопроцессорных распределенных вычислительных систем особую актуальность приобретают задачи построения и исследования математических моделей организации взаимодействия процессов, конкурирующих за программный ресурс. В связи с этим интерес представляют задачи распределенных вычислений, связанные с получением математических соотношений, которые могут иметь как прямой, так и обратный характер. При постановке прямых задач условиями являются значения параметров многопроцессорной системы, а решением минимальное общее время реализации заданных объемов вычислений. Постановка обратных задач сводится к расчету характеристик многопроцессорных систем, поиску критериев эффективности и оптимальности организации выполнения множества распределенных конкурирующих взаимодействующих процессов. При построении и исследовании математических моделей и задач оптимальной организации распределенных процессов широко применяется аппарат теории графов, линейных диаграмм Ганта, теории расписаний, комбинаторной оптимизации, алгебры матриц и др. В работе построена математическая модель распределенных вычислений, решены задачи нахождения минимального времени выполнения неоднородных процессов, конкурирующих за использование ограниченного числа копий программного ресурса в синхронном режиме в случаях неограниченного и ограниченного параллелизма по числу процессоров многопроцессорной системы. При этом использованы идеи структурирования программного ресурса на линейно-упорядоченные блоки с их последующей конвейеризацией по процессам и процессорам многопроцессорной системы.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Synchronous distributed computing at continuous execution of blocks of a limited number of program resource copiess

When creating multiprocessor distributed computing systems, the problems of constructing and investigating mathematical models for organizing the interaction of processes competing for a software resource are of particular relevance. In this connection, distributed computing tasks related to obtaining mathematical relations, which can have both direct and inverse character, are of interest. When setting direct problems, the conditions are the values of multiprocessor system parameters, the solution is the minimum total time for making given volumes of calculations. The formulation of inverse problems is reduced to calculating multiprocessor system characteristics, searching for criteria of efficiency and optimality of organizing the execution of a set of distributed competing interacting processes. The apparatus of graph theory, linear Gantt diagrams, schedule theory, combinatorial optimization, matrix algebra, etc. is widely used when constructing and studying mathematical models and problems of optimal organization of distributed processes. This paper shows a constructed mathematical model of distributed computations, solves the problems of finding the minimum execution time of heterogeneous processes competing for using a limited number of program resource copies in a synchronous mode in cases of unlimited and limited parallelism in the number of processors of a multiprocessor system. It also uses the ideas of structuring a program resource into linearly ordered blocks with their further conveying by processes and processors of a multiprocessor system.

Текст научной работы на тему «Синхронный режим распределенных вычислений при непрерывном выполнении блоков ограниченного числа копий программного ресурса»

УДК 004.053 аог 10.15827/0236-235Х.142.043-053 2024. Т. 37. № 1. С. 43-53

Синхронный режим распределенных вычислений

при непрерывном выполнении блоков ограниченного числа копий программного ресурса

П.А. Павлов ЧЖ1, Н.С. Коваленко 2

1 Полесский государственный университет, г. Пинск, 225710, Республика Беларусь 2 Белорусский государственный университет, г. Минск, 220030, Республика Беларусь

Ссылка для цитирования

Павлов П.А., Коваленко Н.С. Синхронный режим распределенных вычислений при непрерывном выполнении блоков ограниченного числа копий программного ресурса // Программные продукты и системы. 2024. Т. 37. № 1. С. 43-53. ао1: 10.15827/0236-235Х.142.043-053 Информация о статье Группа специальностей ВАК: 2.3.5

Поступила в редакцию: 14.09.2023 После доработки: 28.09.2023 Принята к публикации: 07.11.2023

Аннотация. При создании многопроцессорных распределенных вычислительных систем особую актуальность приобретают задачи построения и исследования математических моделей организации взаимодействия процессов, конкурирующих за программный ресурс. В связи с этим интерес представляют задачи распределенных вычислений, связанные с получением математических соотношений, которые могут иметь как прямой, так и обратный характер. При постановке прямых задач условиями являются значения параметров многопроцессорной системы, а решением - минимальное общее время реализации заданных объемов вычислений. Постановка обратных задач сводится к расчету характеристик многопроцессорных систем, поиску критериев эффективности и оптимальности организации выполнения множества распределенных конкурирующих взаимодействующих процессов. При построении и исследовании математических моделей и задач оптимальной организации распределенных процессов широко применяется аппарат теории графов, линейных диаграмм Ганта, теории расписаний, комбинаторной оптимизации, алгебры матриц и др. В работе построена математическая модель распределенных вычислений, решены задачи нахождения минимального времени выполнения неоднородных процессов, конкурирующих за использование ограниченного числа копий программного ресурса в синхронном режиме в случаях неограниченного и ограниченного параллелизма по числу процессоров многопроцессорной системы. При этом использованы идеи структурирования программного ресурса на линейно-упорядоченные блоки с их последующей конвейеризацией по процессам и процессорам многопроцессорной системы.

Ключевые слова: синхронный режим, распределенные вычисления, структурирование, конвейеризация, программный ресурс, диаграмма Ганта, функционал Беллмана-Джонсона

Введение. Распределенные вычисления -перспективная и динамично развивающаяся область организации параллелизма [1-3]. Данный термин обычно используется при параллельной обработке данных на множестве обрабатывающих устройств, удаленных друг от друга, в которых передача данных по линиям связи приводит к существенным временным задержкам. Перечисленные условия характерны, например, при организации вычислений в многомашинных вычислительных комплексах, вычислительных кластерах, многопроцессорных системах, локальных или глобальных сетях. Создание высокопроизводительных многопроцессорных систем и вычислительных комплексов характеризуется широким проникновением в аппаратное и программное обеспечение фундаментальных принципов распараллеливания и конвейеризации вычислений. В связи с этим происходит пересмотр математических методов и алгоритмов решения задач в различных предметных областях вплоть до

всего алгоритмического багажа прикладной математики, выдвигаются новые требования к построению и исследованию математических моделей, касающихся различных аспектов параллельной и конвейерной организации вычислений [4]. Необходимость и актуальность исследований в этих направлениях связана также с тем, что принципы структурирования, распараллеливания и конвейеризации носят достаточно общий характер и присущи процессам различной природы [5, 6].

Случай, когда в общей памяти многопроцессорных систем имеется одна копия программного ресурса, был изучен в работах [7-9] с различных точек зрения. Но, к сожалению, не найдено работ по математическому моделированию функционирования распределенных систем, в которых в общей памяти не одна, а несколько копий программного ресурса. Поэтому изучение задач, относящихся к оптимальной организации распределенных параллельных вычислений, приобретает особую актуаль-

ность, когда в общей памяти многопроцессорных систем может одновременно размещаться ограниченное число копий программного ресурса. Такое обобщение носит принципиальный характер ввиду того, что отражает основные черты мультиконвейерной обработки, а также позволяет сравнить эффективность конвейерной и параллельной обработки.

Математическая модель распределенных вычислений

Конструктивными элементами для построения математических моделей, реализующих методы распределенных вычислений, являются понятия процесса и программного ресурса. Будем рассматривать процесс как последовательность наборов команд (процедур, блоков, подпрограмм) Л = (1, 2, ..., 5). Процессы, влияющие на поведение друг друга путем обмена информацией, называют кооперативными или взаимодействующими. Многократно выполняемую в многопроцессорной системе программу или ее часть будем называть программным ресурсом, а множество соответствующих процессов - конкурирующими.

Математическая модель системы распределенной обработки конкурирующих взаимодействующих процессов при ограниченном числе копий программного ресурса включает в себя

- р > 2 процессоров многопроцессорной системы, имеющих доступ к общей памяти;

- п >2 распределенных конкурирующих процессов;

- 5 > 2 блоков структурированного на блоки программного ресурса;

- матрицу Т = ], I = 1, п, ] = 1, ^, времен

выполнения блоков программного ресурса распределенными взаимодействующими конкурирующими процессами;

- 2 < с < р копий структурированного на блоки программного ресурса, которые могут одновременно находиться в оперативной памяти, доступной для всехр процессоров;

- 9 > 0 - параметр, характеризующий время дополнительных системных расходов, связанных с организацией конвейерного режима использования блоков структурированного программного ресурса множеством взаимодействующих конкурирующих процессов при распределенной обработке.

Предположим, что число блоков програм-Р

много ресурса s <

где [х] - целая часть

числа, а число процессов n кратно числу копии c структурированного программного ресурса, то есть n = mc, m > 2, и что взаимодействие процессов, процессоров и блоков программного ресурса подчинено следующим условиям:

1) ни один из процессоров не может обрабатывать одновременно более одного блока;

2) процессы выполняются в параллельно-конвейерном режиме группами, то есть осуществляется одновременное (параллельное) выполнение c копий каждого блока в сочетании с конвейеризацией группы из c копий Qj-го блока по процессам и процессорам, где j = 1, s ;

3) обработка каждого блока программного ресурса осуществляется без прерываний;

4) распределение блоков Qj, j = 1, s, программного ресурса по процессорам для каждого из процессов i = c(l — 1) + q, l = 1, m, q = 1, c , где

n

m = —, осуществляется циклически по пра-

c

вилу: блок с номером j распределяется на процессор с номером c( j — 1) + q .

Время выполнения неоднородных процессов при достаточном числе процессоров

В рамках математической модели распределенных вычислений при ограниченном числе копий программного ресурса исследуем первый синхронный режим взаимодействия процессов, процессоров и блоков, который обеспечивает непрерывное выполнение блоков структурированного программного ресурса внутри каждого процесса, то есть все процессы являются активными. В этом режиме в случае, когда 2 < s < p, момент завершения выполнения

j-го блока, j = 1, s — 1, i-м процессом, где

i = c(l — 1) + q, l = 1, m, q = 1, c , на (c(j—1) + q)^

процессоре совпадает с моментом начала выполнения следующего (j + 1)-го блока на (cj + + q)^ процессоре.

Система n распределенных конкурирующих процессов называется неоднородной, если времена выполнения блоков программного ресурса Qi, Q2, ..., Qs зависят от объемов обрабатываемых данных и/или их структуры, то есть разные для разных процессов.

Рассмотрим случай, когда число процессоров распределенной неоднородной многопроцессорной системы является достаточным, то

Р

есть 2 < s <

Все множество процессов

разобьем на c подмножеств по m процессов в каждом, причем в каждое q-е подмножество будут включены процессы с номерами i = c(l — 1) + q, q = 1, c , l = 1, m, блоки которых будут выполняться на (c(j — 1) + q)-x процессорах, j = 1, s .

Обозначим через Tн (p, n, s, с, 9) время выполнения n неоднородных конкурирующих процессов, использующих c копий программного ресурса, структурированного на 5 линейно-упорядоченных блоков Q1, Q2, ..., Qs с матрицей времен выполнения с учетом дополнительных системных расходов T9 = [t9 ]„xs =

= t + 9]nxs в первом синхронном режиме.

Предполагается, что выполнение процессов осуществляется в вычислительной системе с p процессорами и каждый из процессов является распределенным.

Построим диаграмму Ганта, иллюстрирующую функционирование распределенной системы (рис. 1) c па!)аметрамиp = 7,п = 6, s = 3,

с = 2, T0 =

Для вычисления времени выполнения Т н (р, п, s, с, 9) имеет место формула

t 0 '11 = 3 t0 '12 =1 t8 '13 =4

10 '21 = 2 18 t22 = 2 t8 '23 =1

10 '31 = 1 t8 '32 =3 t8 '33 =3

10 '41 = 4 t0 ' 42 = 1 t8 '43 = 2

t0 '51 =3 t8 '52 = 2 t8 '53 =1

10 '61 =1 t8 '62 =4 t8 t63 =1

T H ( P, n, s, с, 8) = max

1<q<c

max

J 1<u<j

Y4

.j=1

:-1)+q.j

-Yt8

/ ,lci

j=1

■Yt8

c(m-1)+q, j

j=1 у

(1)

Здесь max Vf0,. n -;(', . , i = 1,m — 1 — U=1 .И

начало выполнения первого блока для каждого из последующих процессов, начиная с (ci + д)-го

в q-м подмножестве процессов, а /'

c(m-1)+q,j

j=1

длительность выполнения последнего процесса q-го подмножества, где q = 1, с [10].

Найдем Т н (Р, п, s, с, 9) по данным примера, используя формулу (1):

TH (7,6,3,2,8) = max

-Y

j=1

= max

1 < q< 2

-Y £

= max

1<q<2

■1i+q,j

1<q<2

Л

max

!^1<u<3

,j=1

2(i-1)+q, j

+ YCj

j=1

Y t2(i-1)+q,j , Y '

2(i-1)+ q,j

■Y *

*2(i—1)+q,1 >

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

t +1 — t

'2(i-1)+q,1 + '2(i-1)+q,2 t2i+q,1 ,

t +t +t — t - t

2(i-1)+q,1 2(i-1)+q,2 2(i-1)+q,3 2i+q,1 +q,2

8

ъ

4+q, 1

'12 1 '13 '31 '32

t

t8 + t8

+ n

+ r

21 22 23 41

+ max

+ max

10

£31,

t0 +10 -10 «31 + Î32 Î51,

t0 + t0 - t

41 + 42 461,

t0 + t0 + t9 - t9 - t9

41 + 42 + 43 l6\ l62

+1 t0

+1 t60

выполнения

= max (max [3,3,4] + max [1,1,2] + 6, max[2,0,0]+ max[4,4,2] + б) = 12 .

Следовательно, время T H (7,6,3,2,0) = 12, что совпадает со временем на диаграмме Ганта (рис. 1).

Время реализации неоднородных процессов в условиях ограниченного параллелизма

Рассмотрим общий случай, то есть когда

s >

причем s = к

к > 1. Выполним

разбиение всех блоков на к групп по

бло-

ков в каждой. Тогда матрица времен выполнения блоков структурированного программного ресурса с учетом дополнительных системных расходов 9, связанных с организацией конвейерного режима использования блоков множеством взаимодействующих конкурирующих процессов при распределенной обработке Т9 = $ ], I = 1, п , У = 1,5, разобьется на к подматриц Гф0 представленного далее вида размер-г Р

ностью n х

каждая, ф = 1, к .

гр0 _

1,(ф-1)|^+1 Î0

)[ Р }2

где к =

cs

.Р.

ф = 1, к,

(2)

На рисунке 2 изображена диаграмма Ганта для многопроцессорных систем с параметрами р = 7, п = 4, 5 = 6, с = 2, " 3 14 2 14" 2 2 113 3 13 3 113 4 12 3 11

Из анализа диаграмм Ганта (рис. 2) видно, что каждая из них отображает во времени вы-

2.Ц*-

полнение очередных

блоков програм-

много ресурса на с

процессорах всеми п

процессами, причем при « >

непрерыв-

ность выполнения блоков структурированного программного ресурса может нарушиться при переходе от ф-й группы блоков к (ф + 1)-й, Ф = 1, к -1, а внутри каждой из групп непрерывное выполнение блоков каждого процесса сохраняется.

Для дальнейшего исследования, как и при достаточном числе процессоров, все множество процессов разобьем на подмножества, причем каждое из них будет состоять из т процессов с номерами г = с(1 -1) + д, д = 1, с , I = 1, т, которые будут выполняться на процес-

сорах с номерами (с(у -1) + д), у = 1, дем следующие обозначения:

и вве-

■ tq,'f = t ч

c(i-1)+q,(9-1)|^J+ч

r -, - время выполнения

г-м процессом из д-го подмножества процессов j-го блока из ф-й группы блоков с учетом — ара-

метра 9, ф = 1, к , q = 1, c , i = 1, m, j = 1,

■ TT=/

-Ê te Г 1

1 с<+д,(ф-1)1 p l+2

Ê t0

Ê c(i-1)+д,(ф-1)Гр1+,'

-Êt9 г t - время вы-

/ с(ш-1)+д,(ф-1)1 p 1+j

полнения д-го подмножества процессов в ф-й группе блоков ф = 1, к, д = 1, с ;

(

T9 = max

ф 1<q<c

m-1

Ê max_

i=1 1<u <1 P

Ê'

■/ с (i l)+qq,(ф 1 )I ^ l+/

-Ê f

= ci+д,(ф-1) j

[ P 'c] + Ê f

= 1 c(m-1)+д,(ф-1)! ^ l+j

= max Tф

1<q<c q

- общее время выполнения ф-й группы блоков

Р

всеми п процессами на с

ф = 1, к;

■ pq-ф _ рф

Eij = Ec(i-1)+ q,j

Ц=1 1<и<| ^

-Êt9 I

w=1 с^+^,(ф-1)|'

-Êt9 I

процессорах,

Ê19

Ê с(ц-1)+?,(ф-1)1

время за-

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

вершения обработки г-м процессом д-го подмножества j-го блока из ф-й группы блоков, где

ф = 1, к, q = 1, c , i = 1, m, j = 1,

Найдем значения ¿,д'ф , Гф, Г9, £,д'ф для мно-

У у д у ф у у

гопроцессорной системы, изображенной на рисунке 2:

T =Ê

тах

1<«<3

Ê t2(i-1)+1,j Ê t2

2i+1, j

j=1

j=1

+ Ê t3j =

j=1

'Tt0 t0 +10 -10 t0 +19 +19 -19 -19

k|_l11' 11 12 *31' l11 ^l12 ^l13 l31 32

-Ê t39 = max [3,3,4] + 7 = 11 ;

j=1

max

1< u< 3

T' =Ê

i=1

1

T=2 = Ê max

1

y t9 -Y t9

/ , 2(i-1)+2,j 2i+2,j

j =1

j =1

-Ê = 9;

j=1

-Ê t39,3+ч = 10;

ч=1

T22 =Ê

max

1< u< 3

u u-1

pl+ie -Y î8

Ê '2(i-1)+1,3+j Ê '2i+1,3+j

j=1 j=1

и и-1

Y?9 ^ te

Ê 2(i-1)+2,3+j ê 2i+2,3+j . j=1 j=1

t

j=1

4,3+j

i=1

<=1 1<u< —

i=1

ф=1 q = 1 i = 1 j = 1,3 '1,1 = '6 = 3 '1,1 = 'e = 1 '1,1 = 'e = 4 '11 '11 3 , '12 '12 1 , '13 '13 4

i = 2 j = 13 tU = '6= 1 1,1 = t e = 3 '1,1 = te = 3 '21 '31 1 , '22 '32 3 , '23 '33 3

q = 2 i = 1 j = 13 t y = 16 = 2 t2,1 = 19 = 2 '2Д = t9 = 1 '11 '21 2, '12 '22 2, '13 '23 1

i = 2 j = 13 12.1 = 19 = 4 12.1 = 16 = 1 12,1 = 19 = 2 '21 '41 4, ' 22 '42 1, '23 '43 2

ф= 2 q = 1 i = 1 j = 13 '1,2 = 19 = 2 '1.2 = ' 8 = 1 '1,2 = ' 6 = 4 '11 '14 2 , '12 '15 1 , '13 '16 4

i = 2 j = 1,3 t1'2 = t6 = 1 112 = t9 = 1 '12 = '9 = 3 '21 '34 1 , ' 22 '35 1 , '23 '36 3

q = 2 i = 1 j = 1,3 i2-2 = ie = 1 t2-2 = i9 = 3 i2'2 = i9 = 3 '11 '24 1 , '12 '25 3 , '13 '26 3

i = 2 j = 1,3 ' 2,2 = ' 6 = 3 ' 2,2 = ' 6 = 1 ' 2,2 = ' 6 = 1 '21 '44 3 , '22 '45 1 , '23 '46 1

T9 = max Tl = max(11,9) = 11;

1 1<q<2 q

T9 = max T2 = max(10,8) = 10.

2 1<q<2 2

Если ф = 1, q = 1, i = 1, имеем E^1 = E^ =

= Y t0w , j =1,3, тогда

w=1

1

Eu = E = y 10 = 10 = 3. E11 E11 Y '1w '11 3;

w=1 2

Ei,i = E = y t0 = t0 +10 = 3 + 1 = 4. E12 = E12 =Y '1w = '11 + '12 = 3 + 1 = 4;

w=1 3

Е3 = Е13 = Е & = ^ + £ + £ = 3 +1 + 4 = 8.

^=1

Если ф = 1, q = 1, I = 2, имеем

= E3j =Y

ц=1

max

1 < u < 3

Y '2(ц- 1)+1,w Y '

2Ц+1.1

2(^-1)+1,w'

=Y

ц=1

тах

Y & =

Y t;

w=1

21

tv ^ te

Y 2(ц-1)+1,ж Y 2|i+1,w

w=1 w=1

3 2

Yf -Y t

Y 2(ц-1)+1,» Y ;

_ w=1

Y t0

Y 1w

w=1

Y t0w-Y f

w=1 w=1

Y t0w-Y t

= тах

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

+ //t38w = w=1

+ //t30w =

w=1

= тах

w= 1 w=1

f + f - tö »11 T »12 t3

t8 +1 +1 -1 -1

'11 ^ '12 ^ '13 '31 '32

-Y tL =4+Y t38

j = 1,3, тогда

1

E11 = EM = 4 + /'31 = 4 +19 = 4 +1 = 5;

w=1 2

E1;1 = E1; = 4 + Y & = 4 +19 +1302 = 4 +1 + 3 = 8;

w=1 3

Eu = E1 = 4 + У t9 = 4 +19 +18 +19 =

E23 E33 4 + Y '3w + '31 + '32 + '33

= 4+1+3 + 3 = 11.

Если ф = 1, q = 2 , ' = 1, имеем Е^ = Е,1 } = — ¿^ , 7 =1,3, тогда

м^—1

772,1 _ 7^1 _ гу . т^2,1 _ 7^1 _ д . 7^2,1 _ 7^1 _ с Е11 Е21 2 ; Е12 Е22 4; Е13 Е23 5

Если ф = 1, q = 2 , 1 = 2, имеем Е^1 = Е4 7 = = 2 + ¿4 , 7 = 13, тогда

w=1

Е21 = Е41 = Е22 = Е42 = Е23 = Е43 = 9

Если ф = 2, q = 1, 1 = 1, имеем

г1,2 _ г2 _ 9. ^1,2 _ г2 _ о. с*1,2 _ с*2 _п

Е11 = Е11 = 2 Е12 = Е12 = 3' Е13 = Е13 = '.

Если ф = 2, q = 1, ' = 2, имеем

Е21 = Е31 = Ег2 = Е32 = Ег3 = Е33 = 10

Если ф = 2, q = 2 , ' = 1, имеем

р2,2 _ 1^2 1. ^2,2 _ 77 2 _ л, т?2,2 _ -г°2 _г-<

Е11 = Е21 = 1; Е12 = Е22 = 4' Е13 = Е23 = '.

Если ф = 2, q = 2 , / = 2, имеем Е21'2 =

— Е41 — 6; Е22, — Е42 — Е23 — Е43 — 8.

Из анализа диаграмм Ганта (рис. 2) видно, что минимальное общее время выполнения неоднородных распределенных процессов, конкурирующих за использование с копий структурированного программного ресурса в случае

s >

p , s = к p

_ c _ c _

, к > 1, определяется как

сумма длин составляющих диаграмм, то есть

Р

T" (p, n, s, c, 0) = T" j p, n, к = //т0=У max T

Y ф U1 < q<c q

Время T1HI p, n, к

c, 0 можно суще-

ственно сократить, если воспользоваться совмещением последовательн^1х диаграмм Ганта по оси времени справа налево. В результате совмещения получим

p, n, к

.с.8 = YT0-,

где 8ф = тт(8ф, 8ф), ф — 1, к -1 - длина отрезка

максимально возможного совмещения двух последовательных диаграмм Ганта по оси времени.

Здесь 8 ф - отрезок возможного совмещения

по оси времени, который представляет собой разность между моментом начала выполнения j-го блока первым процессом q-го подмножества процессов в (ф+ 1)-й группе блоков и моментом завершения выполнения ^го блока последним процессом q-го подмножества процессов в ф-й группе блоков, то есть

f

5 = min

ф 1<q<c

T0- T ф+ min

ф q jn

[ p 'c]

Y f

w=j +1

c(m-1)+q,(ф—1)1 1+w

H

w=1

j—i j ' °

w—1

f

= min

1<q<c

min

r¿

i<j

j—i

Tб — E ф + V t б

тф Ec(m—1)+q, j +Z '

ф = 1, к-1.

Значение 8ф представляет собой разность

между началом выполнения первого блока г-м процессом в (ф + 1)-й группе блоков и моментом завершения выполнения последнего блока г-м процессом в ф-й группе блоков, то есть

S" = min

ф 1<q<c

min

1<í<m

t б — eq^ + e^+c — /д,ф+2 Ф . Г P l г i i i

= min

1<q<c

min

1<í<m

c(i—1)+q,ф| — I+l

T8 - Eф + JCФ+1

ф =21,к —2.

Для многопроцессорных систем (рис. 2) получим

3 j-l

(

S, — min

1 1<q<2

T0— T1 + min

1 q 1< j <3

Z 4 q,w +Z t

q,3+w

—j+1

Л

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

= min

1< q < c

Tб— T + min

Z te Z '

Z l2+q,w, Z

2+q,w

1 2 +Z te Z t'

w—1 w—1

(rrb

— min

q,3+w

гттб 'Tri I ,б I гтгб 'Tri I ,б I

T1 T1 + '32 + '33, T1 T1 + '33 + 'l4,

гттб rp\ . ,б I гттб 'Tri I ,б I

T1 — T 2 + '42 + '43, T1 — T 2 + '43 + '24,

T0— T1 + 6 + te Л T° — T1 +1б +t0

■4 2 ^'24 ^'25 у

— min

T1 „31, T1 „32 + (14' T1 „33 + 'l4 + (15' T0_ „ _0- „ + ,e _0- „ + ,0 + ,0

V 1 Л e42 ^'24' "4 43 24 25

= min(6,5,3,5,5,6) = 3;

5," = min (min ГT0 _ Eq+ + E9:2 _ t9:2 ]) =

1 1<q<2\1<i<2 L 1 í3 í1 í1 J/

= min(minL _Eft + „u _C2, T0 _„931 +

+ „Ii2 _ tq;2 J) =

= min(TT_+ „112 _t^2, T"_+ „112 _t112,

T0 _ jr2,1 , p2,2 _ .2,2 T0 _ тр2,1 ,тр2,2 _ .2,2 \ _ T „13 + „11 'П , T1 „23 + „21 f21 ) =

= min(T0 _+ „121 _t04, T10 _„33 + „321 _t04,

T0_ „ + E2 _ t0 T0_ E1 + E2 _ t0 ) =

T1 „23 + „21 '24, T1 „43 + „41 l44)

= min (3,5,6,5) = 3.

Тогда 5= min(5j,5") = min(3,3) = 3. Следовательно, время выполнения TH (7,4,6,2,0) = = 21_3 = 18 (рис. 3).

16 '23 18 '43 t0 10 '26 '46

'13 18 '33 t б 10 '16 '36

t б '22 t б '42 10 '25 10 '45

tб '12 16 '32 10 ' 15 tб '35

t б '21 tб '41 tб '24 t б '44

t б 'il 18 '31 16 'l4 18 '34

..........

1B

Рис. 3. Совмещенные диаграммы Ганта при s — к

тс (P, n, s, c, б) к > 1

Fig. 3. Stacked Gantt charts at s = к

к > 1

В случае, когда s = к

+ г, к> 1:

1 < г <

, все множество из s блоков разбива-

ется на (к +1) групп по

блока(ов) в каж-

дой, за исключением последней, в которой будет только г блока(ов) программного ресурса. Тогда время выполнения п неоднородных распределенных конкурирующих процессов, использующих с копий структурированного на 5 блока(ов) программного ресурса в вычислительной системе с р процессорами в первом синхронном режиме, будет определяться по формулам:

/ Г -

Р

p, n, к

n s, c е) = T

к к-1

= ÊТф9 + Тк°+1 -Ê59 -5к = ф=1 ф=1

= Ê max Тф + max Т*+1 - // 5ф - 5к,

^1<q<c q 1 <д<с q ^ ф к

+ г, c, 9 =

ф=1

ф=1

где е +1 - время выполнения (к + 1)-й группы

гт!к + 1

из г блоков всеми п процессами, еч - время выполнения д-го подмножества из т процессов в (к+1)-й группе блоков, д = 1, с , а 5* - величина максимально допустимого совмещения по оси времени к-й и (к + 1)-й диаграмм.

и 5к определяются по

Значения Тк+1, Т+1

следующим формулам:

и

m-1

Тк+1 = Ê maxi

1 t—«i,-,,,-.

-Ê f

j=1

ci+q,k | — l+j

Ê9

j=1 c(i- 1)+q,k j

q =1, с ;

j=1 c(m-1)+q,k-^J+j (

Тк+1 = max

1<q<c

m-1

max

f 1<u<r

Ê t0

-Ê t '

j=1 c(i -1)+q,k| ^ l+j

Л

Ê t'

j=1 ci+q,k--+

■ s* = ^c8*,8;;).

Здесь

! с (m-1)+q,k | — l+j

= max Гк+1;

1<q<c

У

S, = min

к 1 <q<c

T9- T* + min

к q 1 <j<r

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[ P' c]

Ê te +

wÊm ^[^^к-Ц-Ц j+w

j-1 j

w=1 q

>

= min min

1<q<c 1< j<r

У V

T - Ек +

T Ec(m-1)+ q, j +,

j-1 + //// ' '

1 q,к |Jp l+w

8, = min

к 1 <q<c

min

1 <i<m

Т9 — р9,к . р9,к+1 _ +1 1к Е. Г p j+ Ei\ til

= min

1<q<c

тт

1<г<т

T9 - E*

c(i-1)+q

+ Ек+1 -19

+ Ec(i-1)+q,1 '

Ф-ц+^к [-J+1

+1 = E^D+q^j

ц=1

j

ê t

c(^-1)+q,(k +1)r+w

u-1 -Ê

c^+q,(k+1)r

+Ê 4

(i-1)+q,(k+1)r+w>

q = 1, c,

г = 1, т, ] = 1, г.

На рисунках 4 и 5 для распределенной вычислительной многопроцессорной системы с параметрами р = 6 , п = 4, 5 = 8, с = 2, " 3 1 4 2 1 4 2 1" 2 2 1 1 3 3 2 2 1 3 3 1 1 3 3 1 4 12 3 112 5

построены не-

совмещенные и совмещенные диаграммы Ганта. Найдем минимальное время выполнения процессов для данной многопроцессорной системы:

и и-1

TV ^ te

Ê '1,6+j Ê '3,6+j J=1 j=1

+Ê '

j=1

T = max

1 1 <u<2

= max [t97 = 2, + -1397 = 0 j + 4 = 6 ;

3,6+j

T = max

2 1<u<2

Ê<6+j -/-1'

4,6 + j

j=1

j=1

+ Ê '

j=1

4,6+j

i j27 = ^^ '27 + '28 '47 = 2j + 7 = 9;

rr9

T = max

3 1<q<2

тах

1<и<2

V

Ê ^qMj Ê'

.j=1

j=1

e

2+q,6+j

2+q,6+j

j=1 У

= max

max [197, '17 + Î188 - '397 ] + max _297, '27 + t^s - '47 j +

+1 +1

Л

1 +/9 +"'47 +'AS

= max ( 6,9) = 9. Если q = 1, i = 1, то Ej = E3 = //i^

i=1

w=1

j = 1,2, тогда E1;3 = E3 = 2; Eg = Е\г = 3. Если q = 1,i = 2,то

EH = E3j =Y

-Y t;

2^+1,6+w

ц=1

j

max

1<u< 2

2(ц-1)+1,6+w

+Y '

8

3,6+w

= max

Г18 te + te -t8] + Vt8 = 2+ Yt'

_'17, '17 + '18 '37 __ +Y'3,6+w 1 + Y -

8

3,6+w,

j = 1,2, тогда E13 = E331 = 5; E^3 = E332 = 6.

Если q = 2 , i = 1, то E2/ = E23j = Y 'I

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

8

2,6+w ,

j = 1,2, тогда Ef = E;31 = 2; E*3 = E^ = 4. Если q = 2 , i = 2, то

E= = E8f =Y

-U

2ц+ 2,6+ w

ц=1

w=1

max

1 < u < 2

Yt;

2(ц-1)+2,6+w

j

j

= max[^ + '18 -'37] + Yt386+w = 2 + /t886+w,

w =1 w=1

j = 1,2, тогда E;213 = EL = 4; EЦ3 = E?; = 9.

5' = min

1 1<q<2

T - T2 + min

1 q 1<j<2

Y t;

w=j+1

2+q,3+w

w=1

j-1 + /-1 f

q,6+w

= min

1<q<2

C3+w+Yf

0

q,6+w

T2 - T; + min

= 4;

118

,1 2+q,3+w ' ,w=2

82 = min (min ГT? - E% + Ef - /J3 ]) =

2 1<q<2\1<I<2 [ 2 13 11 11 J/

= min(min[ -Eiq32 + Ef -tf,

T2 - e-2 + Eqi3 - tqi3 ]) = 2.

Следовательно, 8 = min(82,8^) = 2 .

Тогда время выполнения n = 4 неоднородных распределенных конкурирующих процессов, использующих c = 2 копии структурированного на 5 = 8 блоков программного ресурса в многопроцессорной системе с p = 7 процессо-

рам и с учетом дополнительных системных расходов 0, будет определяться поформуле

ти (7,4,8,2,9) = £ Тф9 + T,9 - 8, - 52 = 25.

Заключение

Полученные результаты можно использовать, например, при исследовании асинхронного — второго синхронного режимов взаимодействия процессов, процессоров и блоков структурированного программного ресурса, при сравнительном анализе различных режимов распределенных вычислений, при математическом исследовании эффективности и оптимальности мультиконвейерной организации вычислений, при решении задач построения оптимальной компоновки блоков программного ресурса и нахождения оптимального числа процессоров, обеспечивающих директивное время выполнения заданных объемов вычислений.

Список литературы

1. Антонов А.С., Афанасьев И.В., Воеводин Вл.В. Высокопроизводительные вычислительные платформы: текущий статус и тенденция развития // Вычислительные методы и программирование. 2021. Т. 22. С. 135-177. doi: 10.26089/NumMet.v22r210.

2. Бурдонов И.Б., Евтушенко Н.В., Косачев А.С. Реализация распределенных и параллельных вычислений в сети SDN // Тр. ИСП РАН. 2022. Т. 34. С. 159-172. doi: 10.15514/ISPRAS-2022-34(3)-11.

3. Роби Р., Замора Дж. Параллельные и высокопроизводительные вычисления; [пер. с англ.]. М.: ДМК Пресс, 2021. 800 с.

4. Топорков В.В., Емельянов Д.М. Модели, методы и алгоритмы планирования в грид и облачных вычислениях // Вестн. МЭИ. 2018. № 6. С. 75-86. doi: 10.24160/1993-6982-2018-6-75-86.

5. Zaiets N., Shtepa V., Pavlov P., Elperin I., Hachkovska M. Development of a resource-process approach to increasing the efficiency of electrical equipment for food production. Eastern-European J. of Enterprise Technologies, 2019, vol. 5/8, no. 101, pp. 59-65. doi: 10.15587/1729-4061.2019.181375.

6. Каплун В.В., Штепа В.Н., Прокопеня О.Н. Ресурсно-процессная модель энергоменеджмента локального объекта с несколькими источниками энергии // Вестн. БрГТУ. Сер. Машиностроение. 2019. № 4. С. 86-91.

7. Pavlov Р.А. The optimality of software resources structuring through the pipeline distributed processing of competitive cooperative processes. IJMT, 2012, vol. 2, no. 1, pp. 5-10.

8. Коваленко Н.С., Павлов П.А., Овсец М.И. Задачи оптимизации числа процессоров и построения оптимальной компоновки распределенных систем // Вестн. БГУ. Сер. 1: Физика. Математика. Информатика. 2012. № 1. С. 119-126.

9. Kovalenko N.S., Pavlov Р.А., Ovseec M.I. Asynchronous distributed computations with a limited number of copies of a structured program resource. Cybernetics and systems analysis, 2012, vol. 48, no. 1, pp. 86-98. doi: 10.1007/s10559-012-9385-z.

10. Лазарев А.А. Теория расписаний. Методы и алгоритмы. М., 2019. 408 с.

Software & Systems doi: 10.15827/0236-235X.142.043-053 2024, 37(1), pp. 43-53

Synchronous distributed computing at continuous execution of blocks of a limited number of program resource copiess

Pavel A. Pavlov 1KI, Nikolay S. Kovalenko 2

1 Polessky State University, Pinsk, 225710, Republic of Belarus

2 Belarusian State University, Minsk, 220030, Republic of Belarus

For citation

Pavlov, P.A., Kovalenko, N.S. (2024) 'Synchronous distributed computing at continuous execution of blocks of a limited number of program resource copiess', Software & Systems, 37(1), pp. 43-53 (in Russ.). doi: 10.15827/0236-235X.142. 043-053

Article info

Received: 14.09.2023 After revision: 28.09.2023 Accepted: 07.11.2023

Abstract. When creating multiprocessor distributed computing systems, the problems of constructing and investigating mathematical models for organizing the interaction of processes competing for a software resource are of particular relevance. In this connection, distributed computing tasks related to obtaining mathematical relations, which can have both direct and inverse character, are of interest. When setting direct problems, the conditions are the values of multiprocessor system parameters, the solution is the minimum total time for making given volumes of calculations. The formulation of inverse problems is reduced to calculating multiprocessor system characteristics, searching for criteria of efficiency and optimality of organizing the execution of a set of distributed competing interacting processes. The apparatus of graph theory, linear Gantt diagrams, schedule theory, combinatorial optimization, matrix algebra, etc. is widely used when constructing and studying mathematical models and problems of optimal organization of distributed processes. This paper shows a constructed mathematical model of distributed computations, solves the problems of finding the minimum execution time of heterogeneous processes competing for using a limited number of program resource copies in a synchronous mode in cases of unlimited and limited parallelism in the number of processors of a multiprocessor system. It also uses the ideas of structuring a program resource into linearly ordered blocks with their further conveying by processes and processors of a multiprocessor system.

Keywords: structuring, pipelining, program resource, Gantt diagram, Bellman-Johnson functional, synchronous mode, unbounded (bounded) parallelism

References

1. Antonov, A.S., Afanasev, I.V., Voevodin, Vl.V. (2021) 'High-performance computing platforms: Current status and development trends', Numerical Methods and Programming, 22, pp. 135-177 (in Russ.). doi: 10.26089/NumMet.v22r210.

2. Burdonov, I.B., Evtushenko, N.V., Kossatchev, A.S. (2022) 'Implementation of distributed and parallel computing in the SDN network', Proc. of ISPRAS, 34, pp. 159-172 (in Russ.). doi: 10.15514/ISPRAS-2022-34(3)-11.

3. Robey, R., Zamora, Yu. (2021) Parallel and High Performance Computing, Manning Publ., 704 p. (Russ. ed.: (2021) Moscow, 800 p.).

4. Toporkov, V.V., Emelyanov, D.M. (2018) 'Scheduling models, methods and algorithms in grid and cloud computing', Bull. of MPEI, (6), pp. 75-86 (in Russ.). doi: 10.24160/1993-6982-2018-6-75-86.

5. Zaiets, N., Shtepa, V., Pavlov, P., Elperin, I., Hachkovska, M. (2019) 'Development of a resource-process approach to increasing the efficiency of electrical equipment for food production', Eastern-European J. of Enterprise Technologies, 5/8(101), pp. 59-65. doi: 10.15587/1729-4061.2019.181375.

6. Kaplun, V.V., Pavlov, P.A., Shtepa, V.M., Prokopenya, O.N. (2019) 'Resource-process model of local object energy management with several energy sources', Bul. Of BrSTU. Ser. Mechanical Engineering, (4), pp. 86-91 (in Russ.).

7. Pavlov, P.A. (2012) 'The optimality of software resources structuring through the pipeline distributed processing of competitive cooperative processes', IJMT, 2(1), pp. 5-10.

8. Kovalenko, N.S., Pavlov, P.A., Ovseec, M.I. (2012) 'The tasks of optimizing the number of processors and building an optimal layout of distributed systems', Bul. of BSU, (1), pp. 119-126 (in Russ.).

9. Kovalenko, N.S., Pavlov, P.A., Ovseec, M.I. (2012) 'Asynchronous distributed computations with a limited number of copies of a structured program resource', Cybernetics and Systems Analysis, 48(1), pp. 86-98. doi: 10.1007/s10559-012-9385-z.

10. Lazarev, A.A. (2019) Theory of Schedules. Methods and Algorithms, Moscow, 408 p. (in Russ.).

Авторы

Павлов Павел Алесандрович

к.ф.-м.н., доцент,

[email protected]

Коваленко Николай Семенович 2,

д.ф.-м.н., профессор, [email protected]

1 Полесский государственный университет, г. Пинск, 225710, Республика Беларусь

2 Белорусский государственный университет, г. Минск, 220030, Республика Беларусь

Authors Pavel A. Pavlov

Cand. of Sci. (Physics and Mathematics), Associate Professor, [email protected] Nikolay S. Kovalenko 2, Dr.Sc. (Physics and Mathematics), Professor, [email protected]

1 Polessky State University, Pinsk, 225710, Republic of Belarus 2 Belarusian State University, Minsk, 220030, Republic of Belarus

i Надоели баннеры? Вы всегда можете отключить рекламу.