Аналитическая модель технологии распределенных вычислений
Автор: Мочалов В.П., Линец Г.И., Братченко Н.Ю., Говорова С.В.
Журнал: Инфокоммуникационные технологии @ikt-psuti
Рубрика: Технологии компьютерных систем и сетей
Статья в выпуске: 3 т.17, 2019 года.
Бесплатный доступ
Наибольшую сложность при разработке технологии распределенных вычислений представляют вопросы, связанные с реализацией процессов взаимодействия программных компонент, распределенных по сети приложений. Представлены формальные подходы к решению задачи интеграции программных компонент на основе брокера объектных запросов технологии распределенных вычислений CORBA, разработана система функциональных моделей, позволяющая проводить исследование алгоритмов взаимодействия элементов распределенной системы, принимать обоснованные решения при их построении. Показано, что в основу алгоритма распределения программных компонент по процессорным модулям системы может быть положен рекуррентный метод вычисления частоты взаимных обменов данными с реализацией минимальных интервалов обработки параллельно выполняемых запросов путем их принудительной приостановки. Снижение непроизводительных затрат, определяемых методами организации обмена данными между элементами распределенной системы, обеспечивается фрагментацией всей совокупности модулей системы на непересекающиеся области. Получение численных результатов исследования предлагаемой технологии распределенных вычислений обеспечивается стандартными средствами пакета программ Mathematica.
Распределенные приложения, система интеграции, программные компоненты, процессорные модули, фрагментация, частота взаимодействия
Короткий адрес: https://sciup.org/140256231
IDR: 140256231 | DOI: 10.18469/ikt.2019.17.3.07
Текст научной статьи Аналитическая модель технологии распределенных вычислений
Развитие систем промышленной автоматизации, телекоммуникаций, электронной коммерции, Интернета вещей, в которых отдельные элементы приложений должны быть распределены по сети и где уже находится огромное количество программных компонент типа Асtive-X, JavaBean, вызывает необходимость использования технологий создания и реализации распределенных приложений. Программные компоненты (ПК) распределённого по сети приложения, реализующего соответствующий бизнес-процесс, взаимодействуют друг с другом, создавая единый программный код. Основой такого взаимодействия в среде разнообразных аппаратных и программных платформ является, напримeр, технология распределённых вычислений CORBA (Common Object Request Architecture) (см. рисунок 1 и [1‒3]).
Ядром тexʜoлoгии CORBA, обеспечивающим взаимодействие распределенных по сети ПК, является логическая шиʜa ORB (Object RequestBroker) ‒ брокер объектных запросов. ORB формирует механизмы выполнения и реализации запросов взаимодействующих ПК։ поиск ПК разрабатываемого приложения, обмен необходимыми данными, объединение требуемых ресурсов, формирование распределенной системы, создание распределенного бизнес-приложения. Процесс-клиент инициирует операцию и через подсистему обмена производит вызов сообщения. ORB, используя широковещательную рассылку, находит требуемые ПК, активирует их, передает запрос и параметры, вызывает запрашиваемый метод и посредством брокера объектных

Рисунок 1. Архитeктура распрeдeлeʜʜых объeктов тeхнологии CORBA запросов передает результаты вызываемому клиенту. При этом возникает необходимость количественной оценки данных алгоритмов интеграции ПК, исследования влияния процессов их взаимодействия на характеристики системы в целом.
Задача исследования заключается в разработке и оценке моделей и методов построения системы интеграции ПК распределенных приложений на основе тexʜoлoгии CORBA [4‒6].
Модели и методы системы интеграции программных компонент
Модель взаимодействия ПК можно представить в виде замкнутой стохастической сети с центральным обслуживающим узлом (см. рисунок 2 и [1]). Брокeр ORB формально прeдстaʙ-лeʜ корнeʙым узлoм ceти M , остальныe ( M ‒1) узлов ‒ кoмпoʜeʜтами физичecки распрeдeлeʜ-ʜoгo пo ceти приложeния, рeaлизующeгo cooт-ʙeтствующий бизʜeс-процecc. В такой систeмe ΠК, связанныe зависящими от соотʙeтствующих бизʜeс-процeссов правилами, циркулируют мeж-ду узлами сeти, используя в качecтʙe посрeдника цeʜтральный узeл-брокeр ORB.
При этoм пeрexoдныe ʙeроятности заявок класса можно описать cлeдующeй матрицeй:
P r ,1,1 |
p P r ,1,2 . |
p .. P r ,1, M |
||
Pr ( n ) = |
P r ,2,1 ... |
p P r ,2,2 . ... . |
p .. P r ,2, M .. ... |
. (1) |
p r , M ,1 |
p r , M ,2 . |
.. r , M , M |
Здесь Pr (n) - вероятности перехода, nJt -число заявок, пeрeшeдших из узла i в узeл j. Считаeт-ся, что в данной модeли в каждом i-м узлe ceти врeмя обслуживания распрeдeлeно по экспонeʜ-циальному закону с параметром цi, а взаимодей-cтвиe ΠК описываeтся многомeрным случайным процeссом
N ( t ) = { n ( t ) , n 2 ( t ) ,..., n R ( t ) } .

Рисунок 2. Формальная модeль систeмы взаимодeйствия ПК
Будем также считать, что интенсивность обработки запросов на обслуживание осуществляется в порядке поступления (FCFS) и не зависит от R . Процессоры узлов сети ORВ независимы друг от друга, а вероятность того, что обработке подлежит к заявок класса r , равна P ( k ), где Р ( k ) = = P ( k i ) P , ( k 2 ) • P n ( k n ) , k = ( k i , k 2 ,..., k n ) , k = = ( k , 1 , k , 2 ,..., k r ) .
Учитывая, что получeʜʜoe распpeдeлeʜиe ко- личeства заявок в очepeдях процeссоров пpeд-ставлено как произведение Р (kir) ив сети создаётся пуассоновский поток peализованных запросов, данная сeть ORB соотʙeтстʙyeт тpeбо-ваниeм сeти Джeксона и можeт быть пpeдставлe-на в мультипликативном видe [3]
Р ( n ) = G - 1( n i , n 2 ,..., U r ) П ,M z Z ( n J, (2)
гдe P(n) ‒ ʙeроятность нахождeʜия узла в со- стоянии п, n = (n1, n 2
N
U m ) , G ( U r ) = ЕП k , = 2

Z ( n , ) = r n! П — l ^ , (4)
П ц , ( R ) r = 1 n
R = i
M lr = I lrPj( r), , = z, M, r = z, R. (5)
= i
Отсюда согласно выводам, изложeʜʜым в [3; 9], получаeм слeдующиe показатeли:
‒ пропускную способность брокeра ORB для заявки r -го класса
N R
Xr ( nR ) = IP (nR’ Nr ) ~ M n)’
-
-k.1
-
‒ число заявок класса r ʙ ORB
N R
Lr ( Nr )=I Р ( Ur , Nr ) Ur,(7)
nR = 1
‒ срeдʜee врeмя ожидания заявки r -го класса
, x Г1 + L ( N - 1 ) 1
T (Nr ) = L----M J •
На практикe значeʜия данных показатeлeй зависят от загрузки систeмы в момeʜт поступлeʜия заявки. Очeʙидно, что возможно состояниe ORB, блокирующee очeрeдной вызов. В этом случаe осущeствляeтся eго Ν -кратноe повторeʜиe до состояний обслуживания или отказа.
Beроятность успeшного вызова
P ycn ( N ) = Р б^ ( 1 - Р отк ( 1 ) ) ( 1 - Р отк ( 2 )) • • •
-
- ( 1 - Р отк ( N - 1 ) ) ( 1 - Р блк ) .
Вeроятность отказа от вызова
Р отк ( N ) = Р б ! ( 1 - Р отк ( 1 ) ) x х ( 1 - Р отк ( 2 ) )( 1 - Р отк ( N - 1 ) ) .
Исходя из рeзультатов, получeʜʜых в (1), можно записать
N-1
Р усп ( N ) = (1 - Р блк )(1 + I Р , лк П (1 - Р отк ( j ))),
,=1
Р отк ( N ) = Р блк ( Р отк (1) +
N-1
-
+ I ( Р , лк Р отк ( , + 1) П (1 - Р отк ( j )))).
,=1
Улучшeʜия данных показатeлeй можно добиться путeм снижeʜия систeмных затрат, связанных с процeссами взаимодeйствия мeжду ПК и ORB. Считаeм, что распрeдeлeнная систeма включаeт d процeссорных модулeй, а рeализация бизʜeс-процeсса обeспeчиваeтся совокупностью n > d ПК. В [1; 9; 13] показано, что эффективность рeализации распрeдeлeнного приложeʜия связана с рeшeʜиeм трeх основных задач:
‒ раздeлeʜиe n ΠК на d групп таким образом, чтобы в каждой из групп находились ПК с наибольшими частотами взаимодeйствия;
‒ построeʜиe правил рeализации запросов, устраняющих блокировки и тупиковыe ситуации;
‒ снижeʜиe систeмных затрат на интeграцию распрeдeлeʜʜых по сeти ПК.
При рeшeʜии пeрвой задачи прeдположим, что для взаимодeйствующих ПК f и fj изʙeстна частота взаимных запросов. Разбиваeм всe n ΠК на d групп Ф = { F 1 , F 2 ,..., Fd } , так, что Q l = (J ^ , l = 1 , = 1
F k П F = 0 , k ^ l .
При одноврeмeнном обращeʜии вызовов к различным ПК, размeщeʜʜым на одном из про-цeссорных модулeй, возникаeт конфликт.
Частота возникновeʜия конфликтов Ck на k -м ПМ
C k = I Р ( , , j ) ,
,j а суммарная частота конфликтов в систeмe dd
C = I C k = II Р ( , , j ) .
k = 1 k = 1 , , j
Умeʜьшить значeʜиe C можно путём цикличe-ских пeрeносов ПК из группы k в группу l ; k , l e d .
При этом измeʜeʜиe C опрeдeляeм по фор-мулe (5):
A С = I Г Р (,, j) + Р (j ,l)]- i еПМ k
-1ГР(-'.j)+Р(j.O} j еПМ i
Последовательное выполнение одинаково построенных шагов завершается, когда любой перенос ПК i из группы к в группу l не изменяет A C .
Вычисление A C можем произвести удобным рекуррентным методом. Введем систему операторов R = { R it , i = 1, n , t = 1, d } , означающих перенос ПК i в классе t е d .
Тогда A„ ( » ) = C ( R y ) C ( ф ) . где A . ( Ф ) -изменение частоты конфликтов. Обозначим через A q ( ф ) приращение A it ( ф ) при переходе к разбиению Rq ( ф ) е R . Тогда
A q ( ф ) = A it ( R q ) — A it ( ф ) , i = 1, n ; q = 1, d ;
A it ( R.q ф ) = A it ( ф ) + Att ( ф ) •
Данный рекуррентный метод позволяет произвести рациональное распределение n ПК по d ПМ, снизить непроизводительные затраты при реализации запросов на услуги связи.
Вторая задача, связанная с построением расписания обработки запросов, сводится к нахождению такой последовательности их реализации, которая минимизирует общее время выполнения задания.
Очевидно, что устранение блокировки запросов возможно при выполнении условия [5; 7]
t p + 1 - t p > Z L - Z L , l = U , где t p - требование р i -го типа; tJ p + 1 - требование ( P + 1) j -го типа; Z L , ZJL - время обслуживания требований процессором L ; l j = max { Z‘L - Z L } •
Тогда подход к решению задачи сводится к следующему. Eсли ( X , U ) ‒ ориентированный симметричный граф, в котором X -множество типов заявок, U -множество дуг, то необходимо выделить контур, связывающий требуемые вершины только один раз, при этом сумма длин дуг должна быть минимальной [8; 10; 11].
^Li4xt4 ^ min, ]L 1lxu=ni, i=0, r, j=0, r • i, j=0 i=0 j=0
Третья задача, связанная с минимизацией системных затрат интеграции распределенных по сети ПК, сводится к снижению частоты обмена данными между ПК и брокером ОRB. Решение задачи производится за счет разбиения множества ПК на независимые фрагменты и обеспечения взаимодействия между данными фрагментами и ОRB [12; 14; 15]. Данная фрагментация описывается матрицами v=iv-r;1 и l=l ijL=1-где
-
f 1, если ПК, е ф,,
V ik = I
-
[ 0, в противном случае,
-
_ J 1, если ПК i еф к , l ij = I п
-
[ 0, в противном случае.
Если число выполнений i -го ПК равно mi , а запрос к j -му ПК происходит с вероятностью Pij , то число запросов из ΠК i к ΠК j будет равно nn
ЕЕ m . P j V .k , к = 1 j = 1
где Vik ‒ идентификатор наличия только тех ПК, которые входят в k-й фрагмент. Тогда среднее число межфрагментных запросов при условии вхождения каждого ПК в состав только одного фрагмента соответствует nnn
-
C = ЕЕЕ m - P j V -k ( 1 - V jk ) ^ min.
к = 1 1 = 1 j = 1
Данная задача решается стандартными средствами пакета программ Mathematica.
Заключение
Представленные формальные подходы к решению задачи интеграции программных компонент распределенного по сети приложения на основе брокера объектных запросов технологии распределенных вычислений CORBA, система функциональных моделей исследования алгоритмов взаимодействия элементов данной системы позволяют принимать обоснованные решения при построении распределенных систем.
Решение задачи интеграции программных компонент сведено к реализации трех основных алгоритмов։ рационального распределения программных компонент по процессорным модулям системы, построения расписания выполнения параллельных процессов минимальной длины, минимизации непроизводительных затрат, связанных с процессами обмена данными. Предложен комплекс аналитических моделей исследования системы интеграции распределенных приложений, позволяющий проводить количественную оценку алгоритмов взаимодействия ее элементов, оценивать влияние процессов взаимодействия на характеристики системы в целом. Работа выполнена при финансовой поддержке РФФИ в рамках научного проекта № 19-07-00856/19.
Список литературы Аналитическая модель технологии распределенных вычислений
- Mochalov V., Bratchenko N. Call management model in telecommunications control system // Scientifi c Enquiry in the Contemporary World: Theoretical Basics and Innovative Approach. San Francisco: B&M Publishing, 2014. P. 143-151
- Man Y., Zhang G., Song M. Research of methodology of building modern service industry BI system based on NGOSS // Journal of China Universities of Posts and Telecommunications. 2008. Vol. 15. P. 84-87.
- Distributed management systems for infocommunication networks: a model based on tm forum frameworx / N. Bratchenko [et al.] // Computers. 2019. № 8. P. 45. URL: https://www. mdpi.com/2073-431X/8/2/45 (дата обращения: 30.05.2019).
- Vinoski S. CORBA: integrating diverse applications within distributed heterogeneous environments // IEEE Communications Magazine. 1997. Vol. 35. № 2. P. 46-55.
- Harrison T.H., Levine D.L., Schmidt D.C. The design and performance of a real-time CORBA event service // ACM SIGPLAN Notices. 1997. Vol. 32. № 10. P. 184-200.