Программная реализация моделей оптимального распределения информационных ресурсов

Программная реализация моделей оптимального распределения

информационных ресурсов

В. К. Михайлов, Айеш Ахмед НафеаАйеш (Ирак), А. Н. Скоба Южно-Российский государственный политехнический университет (НПИ) им.

М. И. Платова, Новочеркасск

Аннотация: В данной статье описаны этапы программной реализации задачи вычисления среднего времени реакции распределённой системы обработки информации (СОИ) на запросы пользователей и алгоритма оптимального распределения информационных отношений по узлам распределённой СОИ, реализованной на базе архитектуры «файл-сервер» и двухуровневой архитектуры «клиент-сервер» с учетом и без учета влияния блокировок. Описана процедура конструирования исходных данных для моделирования: элементов матрицы начального распределения информационных ресурсов (отношений) по узлам распределённой СОИ, элементов матрицы информационной взаимосвязи запросов пользователей распределённой СОИ и самих информационных ресурсов, элементов матрицы вероятностей формирования пользователями информационных запросов. Разработана и программно реализована процедура, позволяющая существенно упростить вычисление нормализующей константы, а соответственно, и среднего времени реакции системы на запросы пользователей. Приведены результаты численных экспериментов. Ключевые слова: распределённая система обработки информации, архитектура «файл-сервер», двухуровневая архитектура «клиент-сервер», нелинейная комбинаторная оптимизация, генератор равновероятного выбора, метод Жордана-Гаусса, нормализующая констата, среднее время реакции системы, блокировка отношения.

Ранее, в работах [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

]Ц

,

где

х1к = 1

1, если Я е ик,

0 - в противном случае,

п _

причём ^ х]к = 1, у = 1,1.

к=1

В общем виде задача оптимального распределения информационных

ресурсов по критерию минимума среднего времени реакции системы на

запросы пользователей была сведена к задаче [4]:

Т = Т(и, Я, X, Л, V, Q, ¥¥, УИ, в, Ри, В) ^ тт^ при ограничении

У"

¿—¡к=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

где п = (п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 лб

П =

а)

—>

Г1 п2 ИЗ п4 П5 Пб

п =

б)

Рис.1. Зависимость Т от размерности решаемых задач для архитектуры «файл-сервер»: а - с учетом блокировок; б - без учета блокировок

0,140,12 0,10,080,06 0,04 0,02 0

А т

,05

,06

04

п1 п2 пЗ п4 п5 пб

п =

а)

0,1 ц

0,08 0,96 0,04

0,020

А т

м

04

ее

,05

п1 п2 пЗ п4 п5 пб

п =

б)

Рис. 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.