Программная реализация моделей оптимального распределения
информационных ресурсов
В. К. Михайлов, Айеш Ахмед НафеаАйеш (Ирак), А. Н. Скоба Южно-Российский государственный политехнический университет (НПИ) им.
М. И. Платова, Новочеркасск
Аннотация: В данной статье описаны этапы программной реализации задачи вычисления среднего времени реакции распределённой системы обработки информации (СОИ) на запросы пользователей и алгоритма оптимального распределения информационных отношений по узлам распределённой СОИ, реализованной на базе архитектуры «файл-сервер» и двухуровневой архитектуры «клиент-сервер» с учетом и без учета влияния блокировок. Описана процедура конструирования исходных данных для моделирования: элементов матрицы начального распределения информационных ресурсов (отношений) по узлам распределённой СОИ, элементов матрицы информационной взаимосвязи запросов пользователей распределённой СОИ и самих информационных ресурсов, элементов матрицы вероятностей формирования пользователями информационных запросов. Разработана и программно реализована процедура, позволяющая существенно упростить вычисление нормализующей константы, а соответственно, и среднего времени реакции системы на запросы пользователей. Приведены результаты численных экспериментов. Ключевые слова: распределённая система обработки информации, архитектура «файл-сервер», двухуровневая архитектура «клиент-сервер», нелинейная комбинаторная оптимизация, генератор равновероятного выбора, метод Жордана-Гаусса, нормализующая констата, среднее время реакции системы, блокировка отношения.
Ранее, в работах [1-3], были представлены разработанные авторами математические модели функционирования распределенных систем обработки информации (СОИ) на базе архитектуры «файл-сервер» и двухуровневой архитектуры «клиент-сервер» без учета и с учетом влияния блокировок для решения задач оптимального распределения информационных ресурсов.
В качестве исходных данных для моделирования были выбраны: множество узлов сети - и={и],.,из,.,ип}; множество пользователей -Л={Л],...,Л5,...,Лп}; множество отношений - К={К],...,К]-,...,КС}}; множество интенсивностей формирования запросов - А=(Х],...,Х3,...,Хп}; множество запросов на чтение - 0={0],.--,0ь.--,0д}; множество объёмов отношений -У={У],.,У],.,Уа}; скорость считывания в узлах - УУ={УУ],..., УУ3,..., УУп};
и
скорость записи в узлах - ¥В={¥В1,...,¥В<1,...,¥Вп}; скорость передачи данных по каналу связи - в; постоянная задержка при передаче данных по каналу связи - в0; постоянная задержка при обработке в узле - а0; производительность процессора П2-го узла - Ри2, (2 = 1,п); матрица вероятностей формирования запросов пользователями -
I
А&
|, (я = 1, п, / = 1, д), где элемент /з/ представляет собой
вероятность того, что я-й пользователь сформировал 1-й запрос; матрица
объёмов считываемой информации В = Ь&Я = Ьу , (/ = 1, д, у = 1, 1), где Ь у-
объём считываемой информации по 1-му запросу на чтение из у-го
отношения; 8(В) = ||^(ьед ) = 8^|, (/ = 1, д, у = 1, 1), где
[1, если / - й запрос обращается к у - му отношению, 8Г = 1
1 [0, такого отношения нет,
1 _
причём ^8у = 1,/ = 1, д; матрица распределения отношений по узлам
1=1
распределённой
СОИ-
X =
х
ЯЛк
X
]Ц
,(7 = 1,1, к = 1, п)
где
х1к = 1
1, если Я■ е ик,
0 - в противном случае,
п _
причём ^ х]к = 1, у = 1,1.
к=1
В общем виде задача оптимального распределения информационных
ресурсов по критерию минимума среднего времени реакции системы на
запросы пользователей была сведена к задаче [4]:
Т = Т(и, Я, X, Л, V, Q, ¥¥, УИ, в, Ри, В) ^ тт^ при ограничении
У"
¿—¡к=1
(1)
Ху^ =1, ] = 1, <1.
Как показал проведенный анализ, задача (1) является задачей нелинейной комбинаторной оптимизации с булевыми переменными. Ввиду того, что функция Т имеет сложный вид, а так же, ввиду отсутствия в настоящее время алгоритмов решения такого класса задач (кроме как метод полного перебора) [5], для решения задачи (1) был применен разработанный авторами эвристический алгоритм, подробное описание которого представлено в работе [4].
Таким образом, программная реализация задачи (1) включала в себя следующие этапы: процесс конструирования исходных данных; конструирование элементов матриц переходных вероятностей ЦР^(г)У, где (/, к = 1,2 п + 1; г = 1, п); процесс вычисления интенсивностей обслуживания в узлах сети , (б = 1,2п+1, г = 1 ,п); решение систем
2 п+1 ___
линейных алгебраических уравнений вида егг = ^ еР (г), я = 1,2п +1, г = 1, п ;
1=1
вычисление величины Т; реализацию эвристического алгоритма.
В процессе формирования исходных данных, было необходимо сформировать матрицу начального распределения информационных отношений по узлам распределённой СОИ - X = \\х]к ||,где(/ = 1, й; к = 1 ,п); матрицу 6(В) = \\S(bQlRj)|| = \\бц\\, где (/ = 1, с?; I = 1, (?), описывающую информационную связь между запросами и отношениями; матрицу F = У/^сЛ = \\fsi\l, где (5 = 1 ,п; I = - вероятностей формирования
запросов пользователями.
Конструирование элементов данных матриц было проведено с использованием программно реализованного «генератора равновероятного выбора», работающего по следующему алгоритму. Задаются числа: п (число узлов распределенной СОИ), q (число информационных запросов), й (количество информационных отношений, подлежащих распределению по узлам распределённой СОИ). Далее, интервал (0,1) разбивается на п
и
подинтервалов, равной длины, при этом, каждому подинтервалу будет соответствовать конкретный узел распределенной СОИ, запрос или информационный фрагмент. С помощью стандартных процедур, генерируются случайные числа, равномерно распределенные на интервале (0,1). Очередное случайное число представляется в виде: {1 = где (С)-
операция определения дробной части от произведения чисел А е [1111110; 4444445] и {0 = 0,19091994. Определяется номер подинтервала, в который попадает полученное число ^, которые и определяют соответствующие элементы матриц X, 6(В), F. После этого, генерируется следующее случайное число = (^1) и т.д. В общем случае
Ь = {^У-1}.
Расчет элементов матриц переходных вероятностей (5)||,(/,к =
1,27- + 1,5 = 1,71) и интенсивностей обслуживания в узлах сети , (5 =
1,2п + 1, г = 1,7-) был произведён по формулам, приведенным в работах [13]. Система линейных алгебраических уравнений вида
2п+1 ---
ег = ^ е]ГР]6- (г), £ = 1,2« +1, г = 1, п была решена методом Жордана-Гаусса,
1=1
что позволило определить точное значение всех переменных.
Как было показано в работах [6-10], расчёт величины Т сводится по существу к расчёту нормализующей константы 0(М1,^,Ып), для вычисление которой был использован рекуррентный метод Бузена [11], который сводит расчёт нормализующей константы к итерационной процедуре вида:
^ («)= О^ (П)+±хтгОт (п - 1г), (2)
г=1
где п = (п1,...,пг),п{ = 0,1;хтг = ,(т = 1,2« +1;г = 1,«). Предполагается также, что
№тг
От (п)= 1, если все п1 = 0, ( = 1, п) и От (п - 1г )= 0, если хотя бы одна из координат вектора п - 1г < 0. Значение нормализующей константы
и
G(Ni,...,Nn) получается по формуле (2) при m = 2п + 1 и n = (N1,...,Nn), где Nt = 1,(i = 1,n).Используемая прцедура расчёта величины G(Ni,...,Nn) имеет трудоёмкость порядка ~0(тп22п ). Авторами была разработана и программно реализована оригинальная процедура вычисления величины Gm(fi), связанная с переходом к представлению векторов п и п—1г в десятичной системе счисления, благодаря чему отпала необходимость, при выполнении операции поиска значений Gm-1(n) и Gm (п-1г) в массиве, сравнивать эти вектора до достижения соответствия между их разрядами. Предложенная процедура свелась к стандартному обращению к элементу массива по его индексу. В связи с этим произошло снижение трудоёмкости до ~0(т2п), и как следствие, снижение общего времени работы алгоритма нахождения нормализующей константы. Так, например, для n=20 и d=30, q=40 нормализующая константа G = 2.79 5 42 * 1044 была найдена за t « 180 секунд, а при поиске значений в массиве по их векторам - процедура вычисления могла занимать несколько десятков часов.
Программная реализация задачи (1) была проведена на языке С#, платформе .NET Framework 4.6.1, и компьютере на базе процессора фирмы Intel, с тактовой частотой 1,8 ГГц, объемом оперативной памяти 8 ГБ, при численных значениях исходных данных, приведённых в работе [4].
С использованием разработанного программного продукта был проведён ряд численных экспериментов, результаты которых могут быть использованы разработчиками при выборе рациональной организации вычислительного процесса на базе распределённой СОИ.
На рисунках 1-2 приведены графики зависимости Т от размерности решаемых задач оптимального распределения информационных отношений
по узлам распределённой СОИ - щ = (n х q х d), i = 1,(3, где щ =
И Инженерный вестник Дона, №2 (2018) ivdon.ru/ru/magazine/arcliive/n2y2018/4888
1,«
2,16
1,ВЯ
1,1?
2,16
,37
(5 х 10 х 10), п- = (7 х 30 х 20), Щ = (9 х 50 х 30), т-- = (11 х 70 х 40), = (13 х 90 х 50), 7— = (15 х 100 х 60).
(сек) д лГ(сек)
0,6-е,4-0,2г> 0
3
2,521,5 10Л в
,60
м
п1 п2 пЗ п4 п5 лб
П = (ГС X <7 X С?)
а)
—>
Г1 п2 ИЗ п4 П5 Пб
п = (nxq Х(1)
б)
Рис.1. Зависимость Т от размерности решаемых задач для архитектуры «файл-сервер»: а - с учетом блокировок; б - без учета блокировок
0,140,12 0,10,080,06 0,04 0,02 0
А т (сек)
,05
,06
04
п1 п2 пЗ п4 п5 пб
п = (п X <? X <£)
а)
0,1 ц
0,08 0,96 0,04
0,020
А т (сек)
м
04
ее
,05
п1 п2 пЗ п4 п5 пб
п = (тг X <7 X с/)
б)
Рис. 2. Зависимость Т от размерности решаемых задач для двухуровневой архитектуры «клиент-сервер»: а - с учетом блокировок; б - без учета
блокировок
Вид графиков показывает, что учёт блокировок для распределенной СОИ, реализованных на базе двухуровневой архитектуры «клиент-сервер», при заданных параметрах системы, не оказывает существенного влияния на реактивность системы (рис. 2), однако, при использовании архитектуры «файл-сервер», влияние блокировок на величину Т становится более
и
значительным (рис. 1) и её необходимо учитывать при проектировании реальных распределенных СОИ.
На рисунках 3-4 представлены графики зависимости величины Т от скорости считывания в узлах ¥¥ (КБ/сек) при различных размерностях задач 71[ и при фиксированной скорости передачи данных по каналу 0=5000 (КБ/сек).
>А
а Т (сек)
_ ч-н- —
.......
ем 33 7В4 № Ев 933 9вС ев 1вв 333
21,51> 0
Т (сек)
1 I I 1
-1=5
п=7 1=9
4=10^=10; Ч=ЭМ=20; .. _;о=50:с1=30; п=11:ч=70:(МО; п=13;ч=Э0;с1=Э0; п=15;с=1С|0;<)=60;
Б5(ЗвВ тзевв
УУ (КБ/сек)
твеве звеее гаеев 1®ззвэ
бэяее 75 вн 35333 ЭбввЯ
УУ (КБ/сек)
а) б) Рис.3. Зависимость Т от скорости считывания в узлах для архитектуры «файл-сервер»: а - с учетом блокировок; б - без учета блокировок
^ д7£ек)
1А т (сек)
п=5Ч=10^=10; п=7;ч=30;сН20: п=9;ч=Э0;с1=30; ;и=70;(1=4С;
5:41=100^=60:
имод 70000 веевв июни азеззз
взеве 75333 В5330 9ЯИв
езззз тмев везвз взззз 1 авосе
55333 75333 35333 95333
УУ (КБ/сек)
УУ (КБ/сек)
а) б)
Рис.4. Зависимость Т от скорости считывания в узлах для двухуровневой архитектуры «клиент-сервер»: а - с учетом блокировок; б - без учета
блокировок
Анализ графиков данных зависимостей показывает, что использование двухуровневой архитектуры «клиент-сервер» приводит к значительно более быстрому уменьшению величины Т при увеличении скорости считывания в
N Инженерный вестник Дона, №2 (2018) ivdon.ru/ru/magazine/arcliive/n2y2018/4888
узлах ¥¥ 6 [6 * 104; 1 * 105] (КБ/сек) (рис. 4), как в моделях с учетом влияния блокировок, так и без, по сравнению с архитектурой «файл-сервер» (рис. 3), которая демонстрирует на графиках практически статическую зависимость Т от скорости считывания УУ в том же диапазоне её изменения.
На рисунках 5-6 представлены графики зависимости величины Т от скорости передачи данных по каналу в при различных размерностях задач щ.
5 ее
А Т (сек)
400-
3 00-
2 ее
100-
- п=5:ч =10 (1=10 п=7:ч=30^=20 п=Э;ч=50;()=30; п=11:ч=70;сМ0; п=13;ч=90;(1=Э0; п=15;ч=100;()=60;
I_I
25е^
200-
А Т (сек)
150
100-
50-
- п=5;ч=10;(1=10; п=7:Ч=30^=20: п=Э;ч=50;()=30; п=11:ч=70;сЫ0; п=13;ч=ЭВД*50; п=15:д=100:<]=б0:
7000 9000
в (КБ/сек)
1000 3000 5000 7000 9000 ~ 1000 3000 5000
в (КБ/сек)
а) б)
Рис.5. Зависимость Т от скорости передачи данных по каналу в для архитектуры «файл-сервер»: а - с учетом блокировок; б - без учета
блокировок
0,2^ 0,150,10,05-
дТ (сек)
0
■ п=б;с|=10^=10; п=7;ч=30^=20; п=Э;с|=50;с1=30; п=11;ч=Л1?М0; п=13;ч=90;{1=50; п=15;ч=100^=е0;
А т (сек)
1еее 3000 5000 7000 9000
в (КБ/сек)
а)
1000 3000 5000 7000 9000
6 (КБ/сек)
б)
Рис.6. Зависимость Т от скорости передачи данных по каналу в для двухуровневой архитектуры «клиент-сервер»: а - с учетом блокировок; б -
без учета блокировок
и
Анализ графиков указанных зависимостей показал, что наиболее сильное изменение (уменьшение) величины Т для распределенных СОИ, реализованных на базе архитектуры «файл-сервер» происходит при в 6 [1000; 3000] КБ/сек, как с учетом, так и без учета влияния блокировок (рис. 5), а для распределенных СОИ, реализованных на базе двухуровневой архитектуры «клиент-сервер» - при в 6 [1000; 2000] КБ/сек. При этом, дальнейшее увеличение величины в (исследовался диапазон изменения в 6 [1000; 10000] КБ/сек) не приводит к значительным изменениям величины Т.
На рисунках 7-8 представлены графики зависимости величины Т от производительности узлов РП распределенной СОИ для различных размерностей задач.
А Г С^к) . „а Т (сек)
2,5' 21,510,50
+
—
1,7*10* 2,1*10' 2.4*10' 2.8*10* 3,2*10*
Ри (операций в сек)
а)
1А' 1,210,8 0,6 0,40,2> 0
---
п=5;ц=10;(1=10;
п=9;ч=ЕО;()=30; п=11;иНШМ0:
п=15;ч=100^=60;
1,7*10* 2,1*12.4*10' 2,8*10* 3,2*10''
Ри (операций в сек) б)
Рис.7. Зависимость Т от производительности узлов РП для архитектуры «файл-сервер»: а - с учетом блокировок; б - без учета блокировок
Рис.8. Зависимость Г от производительности узлов PU для двухуровневой архитектуры «клиент-сервер»: а - с учетом блокировок; б - без учета
блокировок
Анализ графиков данных зависимостей показал, что изменение величины PU 6 [1,7 * 109;3,5 * 109] операций в секунду практически не оказывает влияния на динамику изменения величины Г для различных размерностей задач, как для архитектуры «файл-сервер», так и для двухуровневой архитектуры «клиент-сервер». Данный факт можно объяснить достаточно «значительными» значениями величины PU, по сравнению с остальными значениями параметров распределенной СОИ: скорости передачи данных по каналу в; скорости считывания в узлах VV; скорости записи в узлах VD.
Литература
1. Скоба А.Н., Состина Е.В. Математическая модель оптимального размещения распределённой базы данных по узлам ЛВС на базе файл-серверной архитектуры. // Инженерный вестник Дона. 2015. №2. URL: ivdon.ru/ru/magazine/archive/n2y2015/2881.
2. Скоба А.Н., Логанчук М.Л. Математическая модель функционирования распределённой информационной системы на базе архитектуры «файл-сервер» с учётом влияния блокировок // Инженерный вестник Дона. 2015. №3. URL: ivdon.ru/ru/magazine/archive/n3y2015/3276.
3. Скоба А.Н., Состина Е.В. Математическая модель оптимального размещения распределенной базы данных по узлам ЛВС на базе двухуровневой клиент-серверной архитектуры. // Инженерный вестник Дона. 2015. № 2. URL: ivdon.ru/ru/ magazine/archive/n2y2015/2882.
4. Скоба А.Н., Айеш Ахмед Нафеа Айеш (Ирак), Михайлов В.К. Эвристический алгоритм решения задачи оптимального размещения
информационных ресурсов // Инженерный вестник Дона. 2018. №1. URL: ivdon.ru/ru/magazine/archive/n1y2018/4744
5. Клейнрок Л. Вычислительные системы с очередями : Пер. с англ.-М.Мир,1979.-600с.
6. Вишневский В.М. Теоретические основы проектирования компьютерных сетей.- М.: Техносфера, 2003.- 512 с.
7. Жожикашвили В.А., Вишневский В.М. Сети массового обслуживания. Теория и применение к сетям ЭВМ.-М. : Радио и связь, 1988.-192с.
8. Герасимов А.И. Теория и практическое применение стохастических сетей.-М.: Радио и связь.,1994.-175с.
9. AntunesC.H. etal. AMultiple Objective Routing Algorithm for Integrated Communication Network // Proc. ITC-16.-1999.V.3b.-PP.1291-1300.
10.Chakka R., Harrison P.G. A Markov modulated multi-server queue with negative customers - The MM CPP/GE/c/LG-queue // ActaInformatika/-2001.-v.37.-pp.785-799.
11.Круглый З.Л. Алгоритмы расчёта моделей структур вычислительных систем с различными классами заданий // Управляющие системы и машины. 1989. №4. С.22-24.
References
1. SkobaA.N., SostinaE.V. Inzenernyj vestnik Dona (Rus), 2015, № 2. URL: ivdon.ru/ru/magazine/archive/n2y2015/2881.
2. Skoba A.N., Loganchuk M.L. Inzenernyj vestnik Dona (Rus), 2015. №3. URL: ivdon.ru/ru/magazine/archive/n3y2015/3276.
3. Skoba A.N., Sostina E.V. Inzenernyj vestnik Dona (Rus), 2015. № 2. URL: ivdon.ru/ru/ magazine/archive/n2y2015/2882.
4. Skoba A.N., Ayyesh Akhmed Nafea Ayyesh (Iraq), Mikhaylov V.K. Inzenernyjvestnik Dona (Rus), 2018. №1. URL: ivdon.ru/ru/magazine/archive/n1y2018/4744.
5. Kleynrok L. Vychislitel'nye sistemy s ocheredyami [Queueing Systems]: Per. s angl.M.Mir, 1979. 600p.
6. Vishnevskiy V.M. Teoreticheskie osnovy proektirovaniya komp'yuternykh setey [Theoretical foundations of computer network design]. M.:Tekhnosfera, 2003.512p.
7. Zhozhikashvili V.A., Vishnevskiy V.M. Seti massovogo obsluzhivaniya. Teoriya i primenenie k setyam EVM [Queueing networks. Theory and its network application].M.: Radio isvyaz', 1988.192p.
8. Gerasimov A.I. Teoriya i prakticheskoe primenenie stokhasticheskikh setey [Theory and practical application of stochasticnetworks].M.: Radio isvyaz',1994.175p.
9. Antunes C. H. et al. A Multiple Objective Routine Algorithm for Integrated Communication Network. Proc ITC-16. 1999. V. 3b. pp. 1291-1300.
10. Chakka R., Harrison P. G. A Markov modulated multi-server queue with negative customers - The MM CPP/GE/c/L G-queue. Actalnformatica, 2001, V.37.pp.785-799.
11. Kruglyj Z.L. Upravljajushhie sistemy i mashiny. 1980. №4. pp.22-24.