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

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

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

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

{ вычисляется первый корень } Ответ1 = (-Ь - Переменная1)/(2*a); { Вывод первого корня } Вывести (Ответ1); { вычисляется второй корень } Ответ2 = (-Ь + Переменная1)/(2*a); { Вывод второго корня } Вывести (Ответ2); Конец.

На втором шаге строится граф Gw (рис. 1), реализующий приведенный псевдокод.

Далее построенный граф процесса вычисления отражает последовательность выполнения действий алгоритма. У каждой операции есть входные и выходные данные, соответствующие передаче управления блоку и завершению его работы. Затем осуществляется переход от графа временной зависимости Gw к графу информационной зависимости Gd. При этом акцент смещается с потока управления на поток данных, что позволяет начать выполнение действия в любой момент после появления всех необходимых данных. Переход реализуется следующим алгоритмом: 1) определяются входные данные; 2) на первый слой графа помещаются операции, зависящие только от входных данных; 3) на каждый следующий слой помещаются операции, информационно зависящие от исходных данных и результов выполнения операций на предыдущих слоях.

Пример графа Gd, построенного по графу Gw, представлен на рисунке 2.

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

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

Литература

1. Каляев А.В., Левин И.И. Модульно-наращиваемые многопроцессорные системы со структурно-процедурной организацией вычислений. М.: Янус-К, 2003. 380 с.

2. Левин И.И. Методы и программно-аппаратные средства параллельных структурно-процедурных вычислений. Дисс. ... докт. техн. наук. Таганрог, 2004. 363 с.

3. Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman. Compilers Principles, Techniques, and Tools. 2006.

УДК 681.3.06

ОПТИМАЛЬНОСТЬ СТРУКТУРИРОВАНИЯ ПРОГРАММНЫХ РЕСУРСОВ ПРИ КОНВЕЙЕРНОЙ РАСПРЕДЕЛЕННОЙ ОБРАБОТКЕ

П.А. Павлов, к.ф.-м.н. (Полесский государственный университет, Беларусь, г. Пинск, р1п2535@Ш1 Ьу)

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

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

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

формации и т.д. [1]. С появлением и активным использованием масштабируемых систем многие проблемы параллельных вычислений приходится переосмыслить, по-новому взглянуть на принципы организации вычислений, на создание эффективного аппаратного, алгоритмического и программного обеспечения многопроцессорных систем (МС), на обеспечение однозначности результата выполнения программ, на эффективное пла-

нирование и распределение параллельных процессов [2]. В связи с этим особую актуальность приобретают задачи построения и исследования математических моделей параллельных распределенных процессов, основанных на принципах распараллеливания и конвейеризации.

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

Как и в [3], процесс рассмотрим как последовательность блоков (команд, процедур) Q1, Q2, ..., Qs, для выполнения которых используется множество процессоров (процессорных узлов, обрабатывающих устройств). При этом процесс называется распределенным, если все блоки или часть их обрабатываются разными процессорами. Для ускорения выполнения процессы могут обрабатываться параллельно, взаимодействуя путем обмена информацией. Такие процессы называются кооперативными, или взаимодействующими.

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

Математическая модель распределенной обработки конкурирующих процессов включает в себя р процессоров МС, п конкурирующих процессов, « блоков Q1, Q2, ..., Qs структурированного на блоки программного процесса, матрицу Тр=^] времен выполнения ^х блоков ьми конкурирующими процессами [3-5]. Указанные параметры изменяются в пределах р>2, п>2, в>2, 1 <1<п, К^. Будем предполагать, что все п процессов используют одну копию структурированного на блоки ПР, а на множестве блоков установлен линейный порядок их выполнения.

Введем в рассмотрение параметр т>0, характеризующий время (системные расходы), затрачиваемое МС на организацию параллельного выполнения блоков программного ресурса множеством распределенных конкурирующих процессов. В дальнейшем будем говорить, что вышеперечисленные объекты математической модели образуют систему распределенных конкурирующих процессов.

Определение 1. Система п распределенных конкурирующих процессов называется неодно-

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

Определение 2. Система п распределенных конкурирующих процессов называется однородной, если время выполнения ^го блока каждым

ьм процессом равно, то есть ^=1|, I = 1,п , j = М .

Будем считать, что взаимодействие процессов, процессоров и блоков подчинено следующим условиям [3-5]:

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

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

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

4) распределение блоков программного ресурса по процессорам для каждого из процессов осуществляется циклически по правилу: блок с номером ]=кр+^ j = , I = 1,р , к>0, распределяется на процессор с номером I

Кроме того, введем дополнительные условия, которые определяют режимы взаимодействия процессов, процессоров и блоков:

5) отсутствуют простои процессоров при условии готовности блоков, а также невыполнение блоков при наличии процессоров;

6) для каждого из п процессов момент завершения выполнения ^го блока на Ьм процессоре совпадает с моментом начала выполнения следующего (¡+1)-го блока на 0+1)-м процессоре,

1 = 1,р —1, ] = 1,8 — 1;

7) для каждого из блоков момент завершения его выполнения 1-м процессом совпадает с моментом начала его выполнения (1+1)-м процессом на том же процессоре, I = 1,п — 1.

Условия 1-5 определяют асинхронный режим взаимодействия процессоров, процессов и блоков, который предполагает отсутствие простоев процессоров при условии готовности блоков, а также невыполнение блоков при наличии процессоров.

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

Второй синхронный режим, определяемый условиями 1-4, 7, обеспечивает непрерывное выполнение каждого блока всеми процессами.

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

шения для вычисления значений минимального общего времени выполнения неоднородных распределенных конкурирующих процессов в случаях неограниченного (в<р) и ограниченного (в>р) параллелизма по числу процессоров МС.

Рассмотрим однородную систему распределенных конкурирующих процессов. Пусть ^, tТ, - длительности выполнения каждо-

го блока Qj, ] = l,s, ПР с учетом параметра т>0. При в<р для вычисления минимального общего времени в асинхронном режиме Т^С (Р,п,*>, т) и

первом синхронном режиме Т^, (Р,п,в, т) будем

иметь

TT(p,n, s, т) = Ztj + (n- 1)maxtj. r j=l J ISjSs J

Рассмотрим случай, когда в=кр, к>1. Введем следующие обозначения: = ^тг_1)р + +т - время выполнения ^го блока 1-й группы всеми п процессами, ] = 1,р , I = 1.к ; Т, = V 1Тг + (п- 1)тах1Тг

- общее время выполнения 1-й группы блоков всеми п процессами на р процессорах, I = 1,к ;

Е' = £ С' + (п — 1)тах^г - время завершения „=1 и* <р

выполнения [(1-1)р+]]-го блока программного ресурса всеми п процессами на ^м процессоре,

\ = , I = 1к .

Общее время выполнения п конкурирующих распределенных однородных процессов в случае в=кр, к>1, определяется как сумма длин составляющих диаграмм Ганта с учетом максимально допустимого совмещения по оси времени, то есть

k k-1

TT-C<1>(P'n' s = kp, т) = ZTI - Zтт{ф, ф}.

1=1 i=i

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

Ф; = min

j-i

T + Z t- El

w =1

min

ijp

p j-1 , , Z tw 1 + Z tw 1+1

w =j+1 w=1

q>" = (n - l)min I maxtT i ,maxtT i+1 I, 1 L i^J^P j 1J j j

l = l.k-1.

В случае в=кр+г, к>1, 1<г<р, минимальное общее время в рассматриваемых режимах определяется по формуле

T^1' (p,n,s = kp + r, т) =

k k-1 = Z T; + Tk+1 - Z min {ф1 , ф" } - min {Фк, фк Ь

где Tk+1 = Z+ (n^jj

j=I J

T,k+1

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

разность

цессами; фк = min

1<j<r

p j-1 , , Z Ck + z Ck+1

=j+1 =1

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

Фк = (п — 1)1шп |тах^г ,тах^г+1 ^ - разность

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

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

процесса на том же процессоре, i = 1,п — 1, то минимальное общее время Т, (р,п^, т) выполнения

п однородных процессов на р процессорах определяется по формулам

TO (P'n's, т)=z tj+(n -1) j=1

при s<p,

tj + z max{tj- - tj ,0}

j=2

T,20(p,n,s,T) <

k k-1 , „ ZT - zmin{v,, V;}

1=1 i =1 при s = kp,k > 1; k

Z T, + Tk+1 -

i=1

k-1 , „ , ,, -Z min{Vi, Vi} - min{^k, Vk}

1=1

при s = kp + r,k > 1,1 <r <p.

Значения T, , , Tk +1, , ^ вычисляются по формулам

T = Zj + (n -1) j=1J

tpT 1 + Z max{ji - tj 1,0}

T l ¿1, l

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

j=2

общее время выполнения 1-х р блоков программного ресурса всеми п процессами на р процессорах, I = 1,к ;

• ^ и - отрезки возможного совмещения двух последовательных диаграмм по оси времени:

; =1

;=1

p

p

и = тт{Т, + Ег+1 - п^г+1 - Е!},

1^<Р ! ^ ^ >

= (п- 1)1тп{^г+1 }, I = 1,к -1,

Е = £С 1 +(п-1) ^1 + £ тах£ --С 1,0}

Ч =1

£

ч =2

] = 1,р , I = 1,к - время завершения выполнения [(/-1)р+]]-го блока программного ресурса всеми п процессами на ]-м процессоре;

Тк+1 = Е^1 + (п -1) ¡=1 J

+ Е тах^ ¡-к41 -

Т,к +1

¡=2

-1Тк+1,0}

- время выполнения (к+1)-х г блоков

для всех п процессов;

• т^^, ^} - величина максимального совмещения по оси времени к-й и (к+1)-й диаграмм:

шк = тт{Т. + Ек +1 - п^к+1 - Ек}, к l<j<^ ] ] j

ф = (п -1)тт{^к+1 Дртк}.

Анализ режимов организации распределенных конкурирующих процессов. Определенный теоретический и практический интерес представляет задача сравнительного анализа соотношений для определения минимального общего времени выполнения множества распределенных конкурирующих процессов. Проведем такой анализ для класса однородных систем с учетом дополнительных системных расходов т>0.

Рассмотрим однородную систему распределенных конкурирующих процессов с временем выполнения блоков структурированного на блоки программного процесса ^, 1Т, ..., . Обозначим

s

через ТТ = 2 ^ суммарное время выполнения j=l

программного ресурса каждым из процессов с учетом накладных (системных) расходов и назовем набор параметров (^, ^, ..., ^, Трт) данной системы характеристическим. Пусть

р=|ф дт ,...,11 )|т; = £ ^ =tj + т > 0 ]=ГТ^^^

есть множество всех допустимых характеристических наборов систем однородных конкурирующих процессов. Выделим из множества р подмножество характеристических наборов вида

н(г;) = л; ,...ДТ ) е

ер| < <... < I т >1 т+1 >... > , I=17^}-

Тогда для введенного подмножества характеристических наборов справедлива теорема 1.

Теорема 1. Пусть 8 е Н(Трт) - характеристический набор любой однородной системы с пара-

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

Доказательство. Пусть ^ = тах^. Тогда для

' !<}<* j

асинхронного и первого синхронного режима с непрерывным переходом по блокам для любого характеристического допустимого набора однородной системы, в том числе и для любого характеристического набора 8еН(Трт) при 2<в<р, имеют место равенства

та (Р'П,«, т)=т1. (р,п,8, т)=т+(п - 1»?,

s _

где ТТ = 2Ч, =11 , * = ^. j=1

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

(Р,п,з, т) = +(п-1)

j=1'

^ + Хтях{^-1 - tj ,0}

j=2

Покажем, что для любого характеристического набора 8еН(Трт) выполняется равенство

s

+ £ тах^?— — 1 Т ,0} = , тем самым будет дока-j=2

зана теорема.

Учитывая, что ^ = тах^, для всех номеров ' j

I

\<1 имеет место равенство £ тах^^ — ^ ,0} = 0, а

j=2

s

для ]>/ имеет место £ тах{^_ — tТ, 0} = tТ — ^.

1=1+1 1 1

Следовательно, ^Т + £ тах^Т^ — ^ ,0} = ^ +1Т — j=2

—= ^, что и требовалось доказать.

Теорема 2. Для любой однородной распределенной системы с параметрами р, п, в и накладными расходами т>0, допустимый характеристический набор которой 8ё Н(Трт), при 2<в<р вы-

полняются соотношения г2

ро^>">"> "" -"-ро

т2о (р>п>*> т) > та: (Р,П,8, т)=тро (Р,Пт). (2)

Доказательство. Условие теоремы 2 равно-

сильно неравенству ^ + £ тах{^_ — ^, 0} —

j=2

—тах^Г > 0. Доказательство последнего проведем индукцией по числу блоков в, в >2.

При в=2 множество всех допустимых характеристических наборов однородных систем конку-

г

г

рирующих процессов ß = (tj ,tТ) будет принадлежать классу Н(Т) •

При s=3 справедливость неравенства (2) для 8 g H(TpT) легко установить непосредственной проверкой.

Пусть неравенство (2) выполняется при s=i, то i

есть tT + V max{tT, — tT ,0} — max tT > 0. Покажем, i J= J-1 J 1J J

что оно справедливо при s=i+1.

Действительно, при s=i+1 имеем i+1

tT+, + V max{tт, -1т ,0} - maxtт = i+1 J J 1 j+1 J

i

= tT+1 + Zmaxj -tj,0} +max{tT-tj+ ,0}-maxt*.

j=2 J i

Рассмотрим два случая.

1) Максимальное значение tT, 1<j<i+1, равно

i

tT+1, тогда t;+ + Zmax{t j-! - tj ,0} +max{tT - t^, 0} -

j=2

i

-tT+1 = Z max{j - tT, 0} + max{tT -1T+,0} > 0.

j=2

Здесь второе слагаемое равно нулю, так как > tT, а первое слагаемое больше нуля, в противном случае 8 е Н(Трт), что противоречит условию теоремы 2.

2) Значение max tT находится в промежутке

1<j<i+1 J

i

1<j<i. В этом случае имеем: tT+j +Zmax{tT_1 —tT,0} +

j=2

+max{tT - tT+ ,0} - max tT = tT+, - tT + tT + V 1 1+1 7 1<j<i+1 j 1+111

i

+Z maxjtj-! -1J ,0} - max tT + max{tT - tj+, ,0}.

j=2

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

Здесь tT + V max{t T. -1T ,0} - maxt T > 0 по j=2 isjsi+i J

индукционному предположению и в силу того,

что max tT = maxtT. Покажем, что tT+1 — tT + 1<j<i+1 J 1<j<i J *

+max{tT — tT+1,0} > 0. Действительно, для tT = tT+1 равенство нулю очевидно.

4+1 4 +

При ^ > получаем

+тах{^ - ^ ,0} = ^ - tT + ^ -^ = 0, а при ^ < ^ имеем ^ - ^ + тах{^ -1Т+1,0} = = — ^ > 0, что и требовалось доказать.

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

Определение 3. Однородную распределенную систему конкурирующих процессов назовем рав-

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

Т1 = Т 2 = = = Т .

В теореме 1 доказано, что для однородных систем конкурирующих процессов минимальное общее время с учетом накладных расходов т>0 для всех трех базовых режимов, указанных ранее, в случае в<р вычисляется по формуле

(3)

тао (p>n>s> т)=т;+(n- 1)С*,

где т=§11, ъ=11+т, 1=и, ^ = щ«^.

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

T(p,n,s, т) = (n + s-1)tт,

(4)

где ^=Г78+т, Г^.

Определение 4. Однородную систему распределенных конкурирующих процессов будем называть эффективной при фиксированных р, п>2, если выполняется соотношение Ат = пТ — —Т(р,п, s, т) > 0 , где пГ - время выполнения п

s

процессов в последовательном режиме; Г = £ t •.

¡=1 •

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

Теорема 3. Для любой эффективной однородной системы конкурирующих процессов при в<р и т>0 существует более эффективная равномерная однородная распределенная система.

Доказательство. Рассмотрим любую эффективную однородную распределенную конвейерную систему. Согласно определению 4 условие ее эффективности с учетом (3) записывается в виде следующего неравенства: Лт (8 < р) = (П-1)(Т - с*) - (П + 8 -1)т> 0, (5)

s

где Г = ^, ^ = шах^ . j=1 1 11 1

Для любой равномерной однородной распределенной системы с учетом (4) имеем, что

Ат(8 <р) = (п-1)(Т -1)-(п + 8-1)т> 0 , (6)

где t = Т .

Чтобы убедиться в справедливости теоремы 3,

достаточно доказать выполнение неравенства Лт > >ЛТ для введенных эффективных систем. Подставив в левую и правую части последнего неравенства из (5) и (6) вместо Лт ф < р) и Лт(8<р) соответствующие величины и проведя несложные преобразования, приходим к равносильному неравенству Г - С,* < («-1)1.

Докажем справедливость последнего неравенства. Рассмотрим равномерную однородную распределенную систему, в которой t = maxt. = t^.

lijis j

Пусть для определенности tM„ = tг, тогда справедлива цепочка соотношений

l-1 s

ts - tm* = z t j + z t j < (s - i)tm,x = (s - i)t, j=i j j=i+i j

что и доказывает теорему.

Следующее утверждение устанавливает достаточное условие эффективности однородной системы в случае неограниченного параллелизма.

Теорема 4. Однородная система конкурирующих процессов с параметрами p, n, s, т, удовлетворяющая соотношениям 3<s<p, s=n^3, ns>2(n+s-1) и 0<т<mint., является эффектив-

1<j<s j

ной.

Доказательство. Согласно (5) условие эффективности равносильно неравенству

Ts -t!

>-

n + s-1 n -1

(7)

Следовательно, для доказательства теоремы 4 достаточно убедиться в справедливости неравенства (7). Непосредственная проверка показывает,

что следствием соотношений 0<т<тт^ = ^.

1<1< ■> тт

является цепочка неравенств Т - ^ (в -

Т-Ьпах > > s-1, (8)

т т

так как в силу выбора т выполняется неравенство

с,/т> 1.

Из ш>2(п+8-1) следует справедливость неравенства

s-1 >

n + s-1 n-1

(9)

Проверка показывает, что неравенство (7) является следствием неравенств (8) и (9). Таким образом, теорема 4 доказана.

Сформулируем и докажем критерий существования эффективной однородной системы распределенных конкурирующих процессов при достаточном числе процессоров в зависимости от величины накладных расходов т.

Теорема 5. Для существования эффективного структурирования программного ресурса при заданных параметрах 3<8<р, Т8, т>0 необходимо и достаточно, чтобы выполнялись следующие условия:

Ф(1 + л/п), если л/П —целое,

т<

inax{q>(l + [л/п]), ф(2 + [л/п])},

(10)

если

л/п —

не целое,

(n — 1)Tn (x -1)

где ф(х) =-, [x] - наибольшее це-

x(n + х — 1)

лое, не превосходящее x.

Доказательство. Согласно (6) условие эффективности любой однородной распределенной системы конкурирующих процессов равносильно неравенству

(n -1)Ts (s -1) s(n + s -1) '

(11)

Введем в рассмотрение функцию

Ф(х) =

(n -1)Ts (x -1) x(n + x-1)

Нетрудно проверить, что она достигает своего максимума в точке x = 1 + л/п при x>0. Выбрав в качестве эффективного структурирование на s блоков, при котором s = x = 1 + n/п , если Я -целое, или s = х е {1 + [л/п], 2 + [л/п]} , если \/п -не целое, докажем необходимость.

Достаточность следует из (11), поскольку ф(х) достигает наибольшего значения при x = 1 + л/п , если \/п - целое, или х е {1 + [Vn],2 + [л/п]}, если

у/П - не целое.

Замечание. При p=s=2 структурирование программного ресурса будет эффективным, если вы-

полняется

n-1

Ts 2(n -1)

Оптимальность одинаково распределенных систем конкурирующих процессов.

Определение 5. Эффективная одинаково распределенная система называется оптимальной, если величина ÀE достигает наибольшего значения.

Ранее показано, что оптимальную однородную распределенную систему достаточно искать среди эффективных однородных распределенных систем. Более того, в силу теоремы 3 оптимальную однородную распределенную систему следует искать среди равномерных однородных распределенных систем. Тогда с учетом (6) имеем

Дт (s) = (n - 1)Ts (1 — 1 / s) - (n + s - 1)T .

Введем функцию действительного аргумента x вида

Лт (x) = (n - 1)Ts

1

- (x + s - 1)t, x > 1.

Решение задачи об оптимальности равномерного структурирования программного ресурса на в блоков для достаточного числа процессоров для всех трех базовых режимов следует из теоремы 6.

Теорема 6. Для того чтобы эффективное структурирование программного ресурса на в блоков при в<р было оптимальным при заданных в>2, Т8, т>0, необходимо и достаточно, чтобы оно было равномерным и число блоков во равнялось одному

из чисел

(n - 1)Ts

(n -1)T

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

+1

о

[2,р],

т

т

1

x

T

T

в котором функция Лт (х) достигает наибольшего значения. Здесь [х] означает наибольшее целое, не превосходящее х.

Доказатель ство.

Необходимость. Рассмотрим введенную функцию

Лт (x) = (n - 1)Ts

1

- (x + s - 1)т, x > 1.

Согласно определению 5 однородная распределенная система будет оптимальной в той точке

х, где функция Лт (х) достигает своего наибольшего значения. Покажем, что функция Лт (х) достигает своего наибольшего значения в точке

(n-l)T (n -1)T

-. Действительно, At(x) =--—

x =,

2Т (п-1) Л „ Л

-т, Ат (х) =---- < 0, так как п>2, х>0.

х3

Следовательно, функция Лт (х) достигает максимума в точке, где первая ее производная обращается в нуль Лт (х) = 0, то есть

x* = l(n-1)Ts

Целочисленными точками, в которых достигается наибольшее значение функции Лт(х), будут во=[х*] или «о=[х*]+1. Следовательно, в качестве So можно выбрать одно из чисел

(n - 1)T s

(n - 1)Ts

+1, в которых функ-

ция Лт (х) принимает наибольшее значение.

Если же окажется, что ни одна из точек

(n - 1)T s

(n - 1)Ts

+1, в которых функ-

ция At (x) принимает наибольшее значение, не принадлежит [2, p], то в качестве оптимального структурирования по числу блоков выбираем so=p.

В силу отрицательности второй производной исследуемая функция выпукла. Следовательно, точка максимума всегда существует, а значит, существует и эффективная однородная распределенная система конкурирующих процессов в случае, когда s^M.

Достаточность следует из свойств выпуклости функции At (x) при s<p на отрезке [2, р].

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

Литература

1. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб: БХВ-Петербург, 2002. 608 с.

2. Топорков В.В. Модели распределенных вычислений. М.: Физматлит, 2004. 320 с.

3. Иванников В.П., Коваленко Н.С., Метельский В.М. О минимальном времени реализации распределенных конкурирующих процессов в синхронных режимах // Программирование. 2000. № 5. С. 44-52.

4. Kapitonova Yu.V., Kovalenko N.S., Pavlov P.A. Optimali-ty of systems of identically distributed competing processes // Cybernetics and Systems Analysis. New York: Springer, 2006, pp. 793-799.

5. Павлов П.А. Анализ режимов организации одинаково распределенных конкурирующих процессов // Вест. БГУ. Сер. 1: Физматинформ. 2006. № 1. С. 116-120.

1

x

Т

x

Т

т

т

т

т

УДК 519.6

ТЕХНОЛОГИЯ СОЗДАНИЯ АДАПТИРУЕМЫХ СИСТЕМ ОБРАБОТКИ ИНФОРМАЦИИ

А.В. Чередниченко (Московский государственный университет леса, [email protected])

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

Ключевые слова: обработка информации, технология, адаптируемая система, паттерн/шаблон, масштабируемость, алгоритмы.

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

легко адаптируемого к различным внешним компонентам, обслуживающим потребности вычисли-

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