Проблемы информатики. 2014- И® 3
37
ВРЕМЯ РЕАЛИЗАЦИИ АСИНХРОННЫХ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ ПРИ МАКРОКОНВЕЙЕРНОЙ СОСРЕДОТОЧЕННОЙ ОБРАБОТКЕ
П. А. Павлов
Полесский государственный университет, 225710, Пинск, Республика Беларусь
УДК 681.3.06
Предлагаются математическая модель эффективной организации вычислений неоднородными процессами в многопроцессорных системах и комплексах макроконвейерного типа, а также решение задач определения времени реализации асинхронных процессов в системах макроконвейерного типа с одним каналом обмена и при ограниченном их числе.
Ключевые слова: асинхронный режим, параллельная обработка, макроконвейерные вычисления, канал обмена, конкурирующий процесс, программный ресурс, неоднородная система, масштабируемость, структурирование, конвейеризация.
The mathematical model of the effective organization of calculations by non-uniform processes in the multiprocessor systems and complexes of macroconvevor type, the solution of problems of definition of time of realization of asynchronous processes in systems of macroconvevor type with one channel of an exchange is offered and at their limited number.
Key words: asynchronous mode, parallel processing, macroconvevor calculations, the exchange channel, competing process, program resource, non-uniform system, scalability, structuring, konveverization.
Введение. Одной из наиболее перспективных концепций параллельной обработки [1] для решения широкого класса задач является концепция макроконвейерной организации вычислений над структурами данных [2]. Интерес к этой концепции постоянно растет в связи с широким использованием локальных и глобальных сетей, облачных вычислений, вычислительных многопроцессорных систем (МС) и комплексов, сетевого аппаратного и прикладного программного обеспечения и т. д. Основная идея заключается в том, что при распараллеливании и распределении вычислений между процессорами (процессорными узлами) каждому отдельному процессору на очередном шаге дается такое задание, которое позволяет ему длительное время работать автономно без взаимодействия с другими процессорами. Уменьшение числа и объемов обмена сообщениями, которыми обмениваются параллельно работающие узлы, как правило, приводит к уменьшению общего времени решения поставленной задачи, являющегося главным критерием качества распараллеливания вычислений.
Одним из важнейших требований к современным макроконвейерным вычислительным системам (МВС) и вычислительным комплексам (ВК) является их масштабируемость (scalability) [3]. Следует отметить, что увеличение производительности систем макроконвейерного типа может быть достигнуто не только за счет увеличения количества аппаратных и программных ресурсов, но и с помощью распределения процессов вычислений с использованием принципов структурирования (декомпозиции) и конвейеризации [4].
Все это заставляет задуматься над новыми принципами и методами эффективного планирования параллельных вычислительных процессов и распределения ресурсов в системах макроконвейерного типа, созданием эффективного алгоритмического и программного обеспечения, обеспечением однозначности результата выполнения программ, построением и исследованием математических моделей и т, д,
В работе строится математическая модель эффективной организации вычислений неоднородными процессами в многопроцессорных системах макроконвейерного типа, а также решаются задачи определения времени реализации асинхронных параллельных процессов в системах макроконвейерного типа с одним каналом обмена и при ограниченном их числе. Результаты работы могут быть использованы при проектировании и создании как самих многопроцессорных систем макроконвейерного типа, так и системного и прикладного программного обеспечения для них,
1. Метод структурирования программных ресурсов и макроконвейерная обработка. Конструктивными элементами для построения математических моделей систем макроконвейерных вычислений являются понятия процесса и программного ресурса [5],
Процесс будем рассматривать как последовательность блоков (команд, процедур) Фъ ¿¡?2> ••■) Для выполнения которых используется множество процессоров (обрабатывающих устройств, интеллектуальных клиентов). Для ускорения выполнения процессы могут обрабатываться параллельно, взаимодействуя путем обмена информацией. Такие процессы называются кооперативными или взаимодействующими процессами.
Понятие ресурса используется для обозначения любых объектов вычислительной системы, которые могут быть использованы процессами для своего выполнения. Реентерабельные (многократно используемые) ресурсы характеризуются возможностью одновременного использования несколькими вычислительными процессами. Для параллельных систем характерной является ситуация, когда одну и ту же последовательность блоков или ее часть необходимо процессорам выполнять многократно, такую последовательность будем называть программным ресурсом (РК), а множество соответствующих процессов — конкурирующими.
Структурирование — это основной способ уменьшения сложности больших программ, систем и т, д,, который предполагает разбиение сложной системы на части с последующей организацией линейного или частичного порядка выполнения на множестве этих частей [6].
Принципы структурирования программ и алгоритмов приобретают особенно фундаментальный характер в области параллельного программирования. Именно структурирование позволяет наиболее эффективно решать многие проблемы параллельных вычислений на различных этапах моделирования и проектирования как самих МС и ВК, так и алгоритмического, программного прикладного и системного обеспечения для них.
Пусть РЕ — программный ресурс, п ^ 2 — число конкурирующих процессов. Общее время выполнения всех процессов, использующих РЕ, можно существенно сократить, если воспользоваться структурированием программного ресурса на блоки С^г, (^2, ■■■, (¿в с последующей конвейеризацией как блоков по процессам, так и процессов по процессорам макроконвейерной многопроцессорной вычислительной системы. Как правило, структурирование программного ресурса на блоки осуществляется исходя из физического смысла задачи на этапах создания математической модели и алгоритмов ее решения или путем анализа готовой последовательной программы с целью ее декомпозиции. Количество блоков зависит от количества процессов и процессоров, каналов передачи данных, длительно-
сти выполнения программы, используемой в качестве программного ресурса, системных расходов и других параметров.
Один из возможных механизмов взаимодействия процессов, процессоров и блоков в системах макроконвейерного типа следующий. Блоки, процессы и процессоры нумеруются в порядке (1, 2,..., в), (1, 2,..., п) и (1, 2, ...,р) соответственно. Причем из физических соображений на множестве блоков установлен линейный порядок их выполнения. Предполагается, что все п процессов используют одну копию структурированного программного ресурса, В дальнейшем под процессом будем понимать выполнение блоков РЕ в порядке (1, 2,..., й). Операционная система или специально выделенный организующий процесс предоставляет блоки (¿1,(^2, ■••, структурированного программного ресурса каждому из процессов в порядке (1, 2,..., п). При этом в случае сосредоточенной обработки происходит монополизация процессора г-м процессом, г = 1,п, а в случае распределенной обработки блоки одного и того же процесса выполняются на разных процессорах. Очевидно, что при наличии в сетевой многопроцессорной системе р процессоров возможно совмещенное во времени выполнение процессов.
Несомненно, организация параллельных вычислений по методу структурирования позволяет получать существенный выигрыш по времени. Так как в результате удачного распараллеливания РЕ на блоки ввода-вывода и счета появляется возможность совмещенного выполнения блоков, исключается один из самых времяемких этапов повторной загрузки программных ресурсов с внешних носителей, эффективно решается проблема создания параллельно используемых программ большого объема.
Остановимся на взаимосвязях макроконвейерного способа организации вычислений над структурами данных с основными положениями метода структурирования программных ресурсов,
Макроконвейерная технология вычислений над структурами данных предполагает декомпозицию структуры данных на большие информационно-слабозависимые подструктуры, Причем должен соблюдаться основной принцип макроконвейерной технологии обработки данных, который предполагает работу с достаточно крупными подструктурами, способными занимать процессор длительное время. Работа процессоров при этом организуется таким образом, чтобы обмен данными между ними занимал небольшое время по сравнению со временем вычислений.
Пусть РЕ — программный ресурс, который может быть использован двумя и более конкурирующих процессами, т, е, п ^ 2, р > 2 — число процессоров МВС, причем память может быть как общей для всех процессоров, так и распределенной по процессорам. Возможны следующие варианты организации вычислений,
1, Каждому г-му процессу, г = 1, п. представляется отдельная копия программного ресурса РЕ, При такой стратегии, в случае р ^ п, все п процессов могут выполняться одновременно при условии, что в МС достаточно памяти для размещения п копий программного ресурса (в случае МС с общей памятью) или память каждого процессора МС вмещает отдельную копию программного ресурса (в случае МС с распределенной памятью), Если же р < п, то возможна организация циклического выполнения п процессов группами по р.
2, Программный ресурс РЕ может быть структурирован на блоки С?2> ••■) Фв- Вычисления в этом случае можно организовать в соответствии с методами структурирования и конвейеризации.
Заметим, что вторая стратегия является наиболее предпочтительной при организации вычислений в МС конвейерного и макроконвейерного типов с целью эффективного использования основных вычислительных ресурсов. Вычисления при этом организуются по всем блокам программного ресурса, выполнение которых составляет вычислительный процесс, Макроконвейерноеть вычислений в этом случае достигается за счет одновременного выполнения множества конкурирующих процессов, совмещаемых во времени. Основной принцип макроконвейерной организации вычислений обеспечивается за счет структурирования программного ресурса на достаточно крупные по времени выполнения блоки, способные занимать процессор длительное время. Время межпроцессорного обмена данными при этом значительно меньше времени вычислений.
Отметим, что макроконвейерные вычисления имеют принципиальные отличия от микроконвейерных вычислений, где вычисления по типу конвейера выполняются для отдельных арифметических, логических и других операций путем сегментирования этих операций на более мелкие. При макроконвейеризации достигается ускорение в основном векторных операций, а при макроконвейеризации ускорение достигается как за счет микроконвейеризации путем зацепления однотипных операций над векторами, так и за счет совмещения выполнения макроструктур в рамках различных вычислительных процессов, 2. Математическая модель макроконвейерной организации асинхронных конкурирующих процессоров. Пусть МС характеризуется следующими параметрами: п, п ^ 2 — число процессов, одновременно протекающих в многопроцессорной системе; р, р ^ 2 число процессоров, каждый из которых имеет собственную локальную память; k,k ^ 1 — число каналов, через которые каждый из процессоров имеет доступ к внешней памяти, общей для всех процессоров.
Предположим, что в МВС выполняется п процессов, каждый из которых состоит из s блоков обмена и s блоков счета, s ^ 1, Времена обмена и счета для каждого из процессов представлены в виде матриц t и Т размерности п х s, в которых i-e строки соответствуют г-му процессу, г = 1,п:
¿11 ¿12 • • ¿ls 'ти Т12 • .. Ти
¿21 ¿22 • • ¿2 s ,Т = Т21 Т22 ■ .. T2s
¿ni ¿n2 • • tns Тп i ТП2 ■ т • • -1 ns
Систему п сосредоточенных конкурирующих процессов будем считать неоднородной, если времена обмена и счета блоков (¿2, ■■■, (^э программного ресурса зависят от скорости каналов и объемов обрабатываемых данных и/или их структуры, т.е. разные для разных процессов.
Взаимодействие процессов с каналами и процессорами характеризуется следующими условиями:
1) к выполнению одновременно готово р процессов из щ
2) в каждый момент времени к процессов из п, одновременно протекающих в МС, выполняются синхронно (без ожиданий), остальные в очереди ждут освобождения каналов;
3) во время обмена каждый процесс монополизирует один и тот же канал, во время счета — процессор;
4) очередной j-й блок счета на каждом процессоре выполняется только после завершения соответствующего ^'-го блока обмена, а каждый (] + 1)-й блок обмена выполняется после завершения ^-го блока счета;
Ра
»...... ■ ••• ?•' ----• ••• *.....
21
Т г
-*21 2 у
ГИ . 'У
Г
Чу
'21
Е
Ш
Рис. 1. Несовмещенная диаграмма Ганта с одним каналом обмена
5) процессы считаются равпоприоритетпыми, а режим работы каналов является циклическим.
Условия 1-5 определяют асинхронный режим взаимодействия процессов, каналов и процессоров, который допускает как простои каналов из-за занятости процессоров, так и простои процессоров из-за занятости каналов обмена.
В этих предположениях рассмотрим решение задач получения математических соотношений дня вычисления минимального общего времени выполнения множества конкурирующих процессов в МВС,
3. Время реализации асинхронных процессов в системах макроконвейерного типа с одним каналом обмена. Обозначим через Тп{к) общее время выполнения всех п процессов, которые используют к каналов обмена.
Заметим, что при р ^ к ^ п в рамках принятой модели макрокопвейерпых вычислений Тп{к) составит величину:
в
Тп{к) = Тп{п) = тах У7*у + Тг]).
1<г<п ' ' 5=1
Если окажется, что р > к > п, то к — п каналов будут не задействованы, а р — п процессоров будут простаивать.
Пусть имеется только один канал, т.е. к = 1. Предположим, что п ^ р. На рис.1 приведена несовмещенная диаграмма Ганта, отображающая взаимодействие п процессов (помер процесса изображен справа в прямоугольнике) с одним каналом и р процессорами. Причем каждый процесс состоит из 2з блоков, в ^ 1, которые периодически повторяются в порядке „обмен, счет". При этом осуществляется конвейеризация каждого из блоков счета но всем п процессорам, па которых все п блоков счета могут выполняться одновременно.
Из анализа несовмещенной диаграммы следует, что общее время Тп{1) выполнения п процессов, использующих один капан обмена, можно существенно сократить, если вое-
Рис. 2. Совмещенная диаграмма Ганта с одним каналом обмена
пользоваться совмещением соседних диаграмм Ганта, начиная со второй, справа налево па максимально возможную величину, не нарушающим условий 1-5 взаимодействия процессов с каналами и процессорами (рис, 2),
Дня корректного совмещения соседних диаграмм можно либо составить расписание вЪ^ моментов старта .у-го блока обмена, ] — 1,8, для г-го процесса, г — 1,п, либо определить времена вынужденных простоев капана из-за ожидания ввода информации, г = 1,п, 3 = 1,5-1 (рис.2).
Анализируя две соседние несовмещенные диаграммы Ганта (рис, 1), соответствующие )-му и 0+1)-му блокам обмена и счета, с временами ¿у, Т^ и ¿¿¿+1, Ту+1 соответственно, г — 1, п, ] — 1, в — 1, видно, что моменты начала выполнения первого блока обмена дня каждого процесса определяются из соотношений:
вЬи = 0, вЬ21 = вЬп +£ц, 5&31 = ^21 +¿21, • • • , вЬц = 1,1 +¿¿-1,1, . . • , вЬп! = вЪп-1,1 +¿„-1,1! для второго блока обмена:
¿>^12 = тах(вЬц + ¿п + Гц; зЬп1 + гп1), зЪ22 = таф^ + ¿21 + Т2\; вЪ^ + ¿12),...,
вЬ»2 = тах(в&а + Ьц + Тц\ + ¿¿-1,2), • • •, = тах(вЬП1 + ¿пх + Тп1; х,2 + ¿п-1,2);
для третьего блока обмена:
вЬ^ = тафЬ^ + ¿12 + Т12, 8Ъп2 + ¿п2), зЬ23 = тафЬ22 + ¿22 + Т22, вЬ13 + ¿13),...,
вЬгз = тах(вЬй + ¿й + Тй; ^¿-1,3 + ¿¿-1,3), • • •, зЬпз = тах^Ь^ + ¿п2 + Тп2, зЬп_1,3 + ¿„-1,3);
для ;)-го блока обмена, j = А, в — 1:
вЬц = тах^Ь^--! +¿1,^-1 +Т1,^_1; вб^^-Ип..?-!), вЬц = тах(в62^-1+¿2,^-1+Г2,^_1; вЬ^+гц),
..., вЬу = тах(вЬ^-_1 + + яЬ»-^- + ¿¿-1,^), • • •, вЪщ = тах(в6п^_1 + + Гп^-ь ЙЬП-!^ +
для в-го блока обмена:
зЪ1з = тах^Ь^-! + £м_1 + 71,5-1; 5&п,я_ 1 + £п>5_1), в&2я =
= тах(аЬ2,в-1 + £2,з-1 + Т2,а-1; вЬх. + £ь),...,
вЬы = тах(5^]в_1 + ¿¿)в_1 + Т^а-1] 1)в + ..., вЬ,
тах(5бп,5_1 + + Г„)в_1; вЬ„_11в + £п-м)-
Таким образом, имеет место теорема.
Теорема 1. Общее время выполнения п (п ^ 2) процессов р (р ^ 2) процессорами, конкурирующими за использование одного канала обмена в случае достаточного числа процессоров (п ^ р), определяется, по формуле:
где зЬц — моменты старта ]-го блока обмена для 1-го процесса, определяемые из соотношений:
вбп = 0, вЬц = вЬг-хд + , ябу = тах(з&1,^_1 + + Т^-+ £„.¿-1), (2)
= тах(яЬ^-_1 + £^_1 + вЪ^^ + £¿-1^), г = 2, п,3 = 2, е.
Рассмотрим интерпретацию формул (1) и (2) на примере 1,
Пример 1. Нужно определить время выполнения трех процессов (п = 3) в многопроцессорной системе с тремя процессорами (р = 3) и одним каналом обмена (к = 1), Каждый процесс состоит из четырех блоков обмена и четырех блоков счета (5 = 4), времена которых заданы следующими матрицами:
Для нахождения 7з(1) воспользуемся формулой (1), Предварительно найдем моменты старта .7-го блока обмена, ] = 1,4, для г-го процесса, г = 1,3, по формулам (2):
зЬц = О,
Тп( 1) = тах (зЬм + £»8 + Т^),
1 < г ^ п
(1)
3 2 2 1 = 2 3 2 3 , ТзХ4 = 3 2 3 2
4 9 6 3 6 9 9 5 8 10 2 2
5^12 = тах(вЬц + £ц + Гц; зЬ31 + £31) = тах(0 + 3 + 4; 5 + 3) = 8, 8Ь13 = тах(йг)12 + £12 + Т12; вЬ32 + £32) = тах(8 + 2 + 9; 16 + 2) = 19, зЪг* = таах(зЬ13 + £13 + Т13; зЪ33 + £33) = тах(19 + 2 + 6; 28 + 3) = 31,
зЬ21 = яЬц + £ц = 0 + 3 = 3, зЬ22 = тах(зЬ21 + £21 + Т21] зЬ12 + г12) = тах(3 + 2 + 6; 8 + 2) = 11,
Р»
8 2
6 3
2 д21 9
10
9 2
3 2 2 2
3 5
ш
42
г,«
Рис.3. Совмещенная диаграмма Ганта (3 процесса. 3 процессора. 1 канал. 4 блока обмена и счета)
вЬ2з = тах(вЬ22 + ¿22 + Т22; вЬ13 + Ь13) = тах(11 + 3 + 9; 19 + 2) = 23, зЪы = тафЪ23 + ¿23 + Т23; зЬц + ¿и) = тах(23 + 2 + 9; 31 + 2) = 34,
вбз! = в621 + ¿21 = 3 + 2 = 5, йЬ32 = тах(вЬз1 + ¿31 + Т31; вЬ22 + ¿22) = тах(5 + 3 + 8; 11 + 3) = 16, вЬзз = тафЬ32 + ¿32 + Г32; зЬ22 + ¿22) = тах(16 + 2 + 10; 23 + 2) = 28, 5б34 = тафЬзз + ¿33 + Т33; 4 + ¿24) = тах(28 + 3 + 2; 34 + 3) = 37.
Тогда
Т3(1) = тах(31 + 1 + 3 ;34 + 3 + 5;37 + 2 + 2) = 42.
Таким образом, общее время выполнения 3 процессов на 3 процессорах, использующих 1 канал обмена, будет равно 42, что совпадает со временем выполнения процессов на совмещенной диаграмме Ганта (рис.3).
Дня определения общего времени выполнения процессов в МВС с помощью времен вынужденных простоев канала справедлива следующая теорема.
Теорема 2. Общее время выполнения п (п ^ 2) процессов р (р ^ 2) процессорами, конкурирующими за использование одного капала обмена в случае п ^ р. определяется, по формуле:
п в п я—1
г=1 ]=1 г=1 у=1
где — времена вынужденных простоев капала из-за, ожидания, ввода, информации для, г-го процесса, па, ;)-,м, шаге вычислений, а, 5 — время, от конца, ввода, каналом последней порции информации ^ до окончания, счета, всеми процессорами, определяемые из соотношений:
{п 1—1 1
0; Т^ - (й\г-1 + *гз) ~ + ¿м-ы) > ,^ = 1, я - 1, г = 1, п, (4)
г=г+1 г=1 )
ö = шах { Tis ~ V" {Sr,s-1 + trs) f • (5)
1 < I < n t—s
к r=l+1 )
Доказательство.
Справедливость формул (4) проверяется методом математической индукции:
in = max jo; Tn - tPi J , 521 = max |o; T2i - t^ - № 1 + tl2) J '
{n 2 ( ti— 1 4
0; T3i - tri - Jj(ü-i + trt) f , • • • Ai = max < 0; Tni - + tr2) > ,
r=4 r=1 J I r=l J
612 = max < 0; T12 - + tr2 ) L ¿22 = max < 0; T22 - + tr2) - (ii2 + ti3) > ,
r=2 ) К r=3
632 = max ^ 0; T32 - ¿(iri + tr2) - + tr3) 6n2 =
= max < 0; Tn2 - + tr3)
r=4 r=1
n-1
r=1
¿1,8-i = max |o; Ti, s_i - a-2 + tr, s-i) |, S2,8-i =
= max jo; T2i s_i - s-2 + tr, s-i) - (¿1, e-i + tis) J ,
in 2 1
<53, s_i = max < 0; T3] s_i - s-2 + tr, s_i) - ^(ü-, s_i + trs) >,...,
I r=4 k=l J
0п, s-i = max jo; Tn, s_i - a-i + Ц s) j •
Первый процессор заканчивает работу после ввода последней порции информации через время, определяемое соотношением max ^0; Tis — +trs)^, второй — через
max < 0; T2s — s-i + trs) f, ■ ■ ■, последний — через Tns. Следовательно, 5 равно мак-
I r=3 ' J
снмальному из этих чисел, что доказывает справедливость формулы (5),
Отметим, что в случае п — р. и формулах (1) (5) индекс п заменяется на индекс р.
Пример 2. По данным примера 1 определить Тз(1), Для этого воспользуемся формулой
(3), предварительно найдя времена вынужденного простоя канала öij, j = 1,3, г = 1,3, и
время S по формулам (4) и (5) (рис, 3):
¿11 = тах{0; 4 - 2 - 3} = 0, S2 i = тах{0; 6-3-0 -2} = 1,
831 = тах {0; 8 - 0 - 2 - 1 - 3} = 2, ¿1 2 = тах{0; 9-1-3-2 - 2} = 1,52 2 = тах{0; 9-2-2-1-2} = 2,
53 2 = тах{0; 10 - 1 - 2 - 2 - 2} = 3, ii3 = тах{0; 6 - 2 - 2 - 3 - 3} = 0,623 = тах{0; 9-3-3-0-1} = 2,
833 = тах{0; 2-0-1-2-3} = О, S = тах{3 - 2- 3- 0-2; 5-0 -2; 2} = 3.
Имеем:
3 4 3 3
гз(1) = ЕЕ^+ЕЕ^+0 = 28+ 11 +3 = 42-
i=l j=1 г=1 j=1
Следовательно, 7з(1) = 42, что совпадает с временем выполнения процессов в примере 1 и на совмещенной диаграмме Ганта (рис.3).
4. Время реализации асинхронных процессов при ограниченном числе каналов обмена. Из физических и практических соображений наибольший интерес в рамках концепции макроконвейерных вычислений представляет случай ограниченного числа каналов, т. е. когда k « п, п = krn. т > 1, что означает, что число процессов кратно числу каналов, которые конкурируют за их использование. Будем считать, что число процессоров достаточно для выполнения п процессов, т. е. р ^ п. Рассмотрим следующий способ взаимодействия процессов, каналов и процессоров.
Каждый д-й канал, д = 1, к. обслуживает очередные т процессов, которые выполняются на т процессорах. В таблице показано распределение процессов по каналам и процессорам, а на рис. 4 — их взаимодействие.
Так как каждый д-й канал, д = 1,к, обслуживает группу из т процессов, то, согласно формулам (3) (5), время Т^(1), затраченное на выполнение каждой группы из m процессов m процессорами каждым каналом, составит:
^(1) = ЕГ=1 E;=i Uj + ЕГ=1 Ей % + где
{т г—1 ^
0; Ту - Е ißrj-1 + trj) - + ^rj+i) > ,j = 1,8-1,i = l,m
r=i+1 r=1 )
¿1 = max \ Tis - E (^.a-i + tra) f ;
l^t^m I — I
L r=l+l J
ТД(!) = Eim+1 Ej=i Uj + E?rm+i Ej=! <% + ¿2, вде
{2m i-1
0; Tij - + Uj) - E ^ + U,j+1) > ,
r=i+1 r=m+1 )
j = 1, s — 1, г = m + 1, 2m,
2т
S2 = max < Tis ~ У] (¿r,e-i +
r=i+l
^m(l) — Et=(i-l)m+l 1 hj + Si=(fe-l)m+l 1 ^j + ГДе
= 0, ijj = max <
i-1
0; Tij - E (^-i + trj) - E ^ + ^¿+1)
r=(k—l)m+l
r=i+1
j = 1, s — 1, г = (к — l)m + 1, n,
ök = max \ Tis ~ У] (¿r,e-i + ) > •
Справедливы следующие теоремы.
Теорема 3. Общее время выполнения р процессорами (р ^ 2), п = тк, (т > 1) процессов, которые конкурируют за использование к каналов (k ^ 1); в случае достаточного числа процессоров п) определяется, из соотношения:
Тп(к) = max Т® (1) = max <
gm s
gm s—1
E + E
¿=(g—l)m+l j=1 i=(g-l)m+l j=l
(6)
где для, g = 1, fc:
iio = 0,8ij = max < 0; T^- - ^ (¿Vj-i + trj) - E^' + ^j+i) f >
gm
¿-1
r=i+l
r=l
j = l,s-l,i = (g- 1 )тп + 1 ,gm,
5g = max
(g—l)m+l^l^gm
gm
Tis - E
,s— 1 ~b trs)
r=z+i
(7)
Теорема 4. Общее врем,я, выполнения р процессорами (р ^ 2), п — тк, (т > 1) процессов в макроконвейерной вычислительной системе с к каналами обмена (к ^ 1) в случае р^ п определяется, из соотношения:
Тп(к) = max 1) = max ( max (sbis + tis + Tis) ) ,
1 1 \(g—l)m+l ^ г < gm J
(8)
где вЬц — моменты, начала, выполнения ;)-го блока, обмена для 1-го процесса,, определяемые по формулам,:
зЬ(9-1)т+1,1 = 0, вЬц = 5^-1,1 + £¿-1,1) 8Ь(д-1)т+1Л = П1ах(вЬ(в_1)т+1^_1 + £(3-1)ш+1,7-1 + Т(д-1)т+1Л-1, 1 + £тд^-1), (9)
sbij = max(sbj,j_i + + s^-ij + i<-ij)>i = (9 ~ 1)™ + 2, gm,j = 2,s,g = l, k.
Таблица
Распределение процессов по каналам и процессорам
Номер канала Времена обмена Номер процессора Времена счета
1 ¿11 ¿12 ¿21 ¿22 ¿1в ¿2я 1 2 Гц Г12 ?21 Г22 Ти Т2з
2 ¿т.1 ¿т2 ¿т+1,1 ¿т+1,2 • • ¿т+2,1 ¿т+2,2 • • ¿та ¿т+1,я • ¿т+2,в т т + 1 т + 2 ГШ1 Гш2 . . . Гт+1,1 Гт+1,2 . . Гт+2,1 Тт+2,2 • • Тщв
¿2т, 1 ¿2т,2 ¿2т,в 2т Г2т,1 Т2т,2 ■ ?2т,8
Чя- V 1)т+1,1 1)т+2,1 ¿(д-1)т+1,2 ¿(д-1)т+2,2 • • ■ ¿(д—1)т+1,з • • • ¿(р—1)т+2,в - 1)т + 1 (5 - 1)т + 2 1)т+1,1 1)т-Ы,2 1)т+2,1 Г(5_1)т+2>2 • ■ ■ Т(д-1)т+1,з ■ ■ ■ Т(д-1)т+2,з
¿дт 1 ¿дт, 2 ¿дт,в дт Тдт ,1 Тдгп,2 ■ ■ ■ тдтг3
к ¿(А;-1)т+1,1 ¿(£—1)771+2,1 ¿(/с—1)т+1,2 ¿(/с—1)т+2,2 • • • ¿(А;—1)т+1,в • • • ¿(/с—1)т+2,в (к-1)т + 1 (к - 1)т + 2 Т{к-Т(к- 1)т+1,1 ^(А:—1)гга-|-1,2 1)т+2,1 Т^к_^т+272 ■ ■ • Т(к-1)тп+1,8
¿п1 ¿п2 ¿гав п Тп 1 Тп 2 Тпз
Рис. 4. Способ взаимодействия процессов, каналов и процессоров
Доказательство теоремы следует из того факта, что каждый д-й капан, д = 1, к. согласно формулам (1) (2), обслуживает группу из т процессов т процессорами за время 1), определяемое по формулам:
= max (sbls + tls + Tia), где
1 < г < m
sbu = 0, sbi 1 = sbi- 1Д + ii-1,1, sbij = max(sbij_i + tltj-i + Tld_i, sbmSij_i + tmgd-1),
sbij = maxisbij-x + titj-i + Ty-i; sbi_i,., + U-ij), г = 2, m, j = 2, s; ТД( 1) = max (s&is + £is + Tis), где
m+1 < г ^ 2m
Sbm+1,1 = 0, = sbj-1,1 + £¿-1,1, = max(sbm+ij_i + ¿m+lj-l + ^m+lj-i; + i2mj-l),
sbij = max(s6ij_i + ii,j_i + Tij-i] sbi-ij + ii-ij), г = m + 2,2m, j = 2, s;...; T* (1) = max (sbis + tis + Tis), где
(fc—l)m+l < i < n
Sb(k-l)m+l,l = 0, Sbi 1 = + ¿¿-1,1,
S&(fc-l)m+lj — max(sb(fe-l)m+l,j-l + ¿(fc-l)m+l,j-l + T(k-l)m+l,j-l] sbmjfc,j-l + ¿mfe.j-l),
зЬу = тах(в&^-_1 + + 1; яЬ»-^- + £¿-1^), г = (к - 1)т + 2, п,] = 2, е.
Следовательно, общее время Тп(к) будет равно тах 1),
Пример 3. Пусть п = р = 9, к = 3, й = 5, а времена обмена и счета заданы матрицами:
3 3 2 1 3
2 4 5 3 1
3 2 14 2 5 6 3 2 3 2 4 3 2 3 2 3 4 3 2
2 3 2 1 2
4 5 3 2 2
3 12 4 2
) Тдж5 —
4 5 3 3 5
3 4 6 4 3
4 4 4 6 3
5 7 4 2 3
2 2 3 4 4
3 5 4 4 5
3 4 2 4 2
6 4 4 3 7
4 4 3 5 3
Тоща каждый из трех каналов будет обслуживать группу из трех процессов, т, е, гп = 3, а) используя формулы (6) и (7) и считая д = 1,2,3, определяем:
¿п = тах(0; 4 - 2 - 3) = 0, ¿21 = тах(0; 3-3-0-3) = 0,
¿31 = тах(0; 4-0-3-0 -4) = 0, ¿12 = тах(0; 5 - 0 - 4 - 0 - 2) = 0,¿22 = тах(0; 4-0-2-0 -2) = 0,
¿32 = тах(0; 4-0-2-0 -5) = 0, ¿13 = тах(0; 3 - 0 - 5 - 0 - 1) = 0, ¿23 = тах(0; 6-0-1-0-1) = 4,
¿зз = тах(0; 4-0-1-4 - 3) = 0, ¿и = тах(0; 3 - 4 - 3 - 0 - 4) = 0, ¿24 = тах(0; 4-0-4-0-3) = 0, ¿34 = тах(0; 6-0-3-0-1) = 2, ¿1 = тах(5 — 0 — 1 — 3 — 2;3 — 2 — 2;3) = 3,
3 5
3 4
= + + ^ = 39 + 6 + 3 = 48;
г=1 3=1 г=1 з=1
¿41 = тах(0; 5 - 2 - 2) = 1, ¿51 = тах(0; 2-2-1-6) = 0, ¿61 = тах(0; 4-1-6-0 -4) = 0, ¿42 = тах(0; 7 - 0 - 4 - 0 - 3) = 0, ¿52 = тах(0; 2-0-3-0-3) = 0,
¿62 = тах(0; 5-0-3-0-3) = 0, ¿43 = тах(0; 4 - 0 - 3 - 0 - 4) = 0, ¿53 = тах(0; 3-0-4-0 -2) = 0,
¿63 = тах(0; 4-0-2-0 -2) = 0, ¿44 = тах(0; 2 - 0 - 2 - 0 - 3) = 0, ¿54 = тах(0; 4-0-3-0-3) = 0, ¿64 = тах(0; 4-0-3-0-3) = 0,
¿2 = тах(3 - 0- 3- 0-2; 4-0 -2; 5) = 5,
6 5 6 4
Т1(1) = £Е^ + ЕЕ<% + ^ = 47 + 1 + 5 = 53;
¿=4 ^'=1 ¿=4 ]=1
¿71 = тах(0; 3 - 4 - 3) = 0, ¿8Х = тах(0; 6-3-0-3) = 0, ¿91 = тах(0; 4-0-3-0 -5) = 0, ¿72 = тах(0; 4 - 0 - 5 - 0 - 1) = 0, ¿82 = тах(0; 4-0-1-0 -2) = 1,
¿92 = тах(0; 4-0-2-1- 3) = 0, ¿73 = тах(0; 2 - 1 - 3 - 0 - 2) = 0, ¿83 = тах(0; 4-0-2-0 - 1) = 1,
¿эз = тах(0; 3-0-1-1-2) = 0, ¿74 = тах(0; 2 - 1 - 2 - 0 - 4) = 0, ¿84 = тах(0; 3-0-2-0 -4) = 0, ¿94 = тах(0; 5-0-2-0 -2) = 1, ¿з = тах(2 - 0 - 2 - 1 - 2; 7 - 1 - 2; 3) = 4,
9 5 9 4
Тз3(1) = ЕЕ^ + ЕЕ^ + ^ = 38 + 3 + 4 = 45;
¿=7 ]=1 ¿=7 з=Х
б) пусть д = 1, тогда с учетом (9) j = 2,5, г = 2,3, По этим формулам находим моменты начала выполнения блоков обмена для 1, 2 и 3 процессов, обслуживаемых первым каналом:
вЬп = 0, 1 = 3, вЬ31 = 5, вЬ12 = 8, 2 = И, вЬзг = 15, з^з = 17, з = 19, -§Ь3з = 24,
5^14 = 25, 5&24 = 30, вЬз4 = 33, 5^15 = 37, вЬ25 = 40, йбзб = 43.
Используя (8), определяем минимальное общее время выполнения процессов первым каналом:
Тд(1) = тах(37 + 3 + 5; 40 + 1 + 3; 43 + 2 + 3) = 48.
Аналогично, для д = 2. ] = 2, 5. г = 5,6, Тогда для 4, 5 и 6 процессов, обслуживаемых вторым каналом, моменты начала выполнения блоков обмена равны:
в&41 = 0, вЬы = 5, вЬб1 = 7,вЪ^ = 10, й&бг = 16, вббг = 20, вЪ^ = 23, зЬ53 = 26, зЬ6з = 29,
в&44 = 33, вЬ54 = 35, зЬ64 = 37,вЬ^ = 40, зЬ55 = 43, вЬеь = 46.
Тогда Т|( 1) = шах(40 + 3 + 3; 43 + 3 + 4; 46 + 2 + 5) = 53.
Для третьего канала д — 3, ^ — 2,5, г — 8,9, тогда имеем:
вЬп = 0, вЬ81 = 2, вЬ91 = 6, вЬ72 = 9, вЬ82 = 12, вЬдг = 17, 3 = 18, вЬ83 = 21, вЬд3 = 24, вЬи = 26, вЬ84 = 28, вЬд4 = 30, 5 = 34, вЬ85 = 36, вбдб = 39,
ад
Рис. 5. Совмещенная диаграмма Ганта (9 процессов. 9 процессоров. 3 канала)
Т|(1) = тах(34 + 2 + 2; 36 + 2 + 7; 39 + 2 + 3) = 45.
Таким образом, общее время выполнения 9 процессов на 9 процессорах, использующих 3 капала обмена, составит:
Г9(3) = max Т|( 1) = max^l); Г|(1); Т33( 1)) = тах(48; 53; 45) = 53 (рис. 5).
Заключение. В заключении отметим, что построенная модель организации мак-рокопвейерпых вычислений над структурами данных при ограниченном число каналов обмена и разработанные аналитические методы расчета общего времени выполнения множества неоднородных конкурирующих процессов являются основой дня постановки и решения ряда важных практических задач по расчету оптимальной балансировки числа процессоров и каналов, оптимизации числа блоков счета и обмена, минимизации общего времени выполнения процессов и др.
Список литературы
1. Воеводин В. В., Воеводин Вл. В. Параллельные вычисления. СПб.: БХВ Петербург, 2002.
2. Коваленко Н. С., Павлов П. А. Модель сосредоточенной обработки неоднородных процессов в системах макроконвейернох'о тина /7 Вестник Белорусского х'осударствсннох'о университета. 2013. № 3. С. 93 100.
3. Топорков В. В. Модели распределенных вычислений. М: Физматлит, 2004.
4. Павлов П. А., Коваленко Н.С. Математическое моделирование параллельных процессов. Gcrmany: Lambert Aeademie Publishing, 2011.
5. Коваленко H. С., Павлов П. А. Алгоритм построения оптимальной комххоновки одинаково распределенных систем /7 Программирование. 2012. № 3. С. 3 10.
6. Павлов П. А. Оптимальность структурирования программных ресурсов при конвейерной распределенной обработке /7 Программные продукты и системы. 2010. № 3. С. 76 82.
Павлов Павел, Александрович, канд. физ.-лшт. наук, доцент Полесского государственного университета,; тел. (875) 699-12-68: e-mail: [email protected];
Дата, поступления, 29.03.20Ц