книги2 / монография 31
.pdf
Первый тест заключался в проверке необходимости передислокации реплик при заданном начальном их распределении и значениях параметров системы на момент запуска алгоритма.
Во втором и третьем тесте предполагалось внесение изменений в параметры системы и производился анализ необходимости внесения соответствующих изменений (передислокации реплик) в распределение реплик в зависимости от изменений в параметрах. Во втором тесте были изменены частоты выполнения прикладных процессов в нескольких узлах системы. В третьем тесте были внесены изменения ограничений на максимальное количество массивов данных и их реплик, размещенных в одном узле сети. Ниже представлены результаты проведенных тестов.
3.3.2.Тестирование эвристического алгоритма размещения реплик массивов данных
Тестирование алгоритма проводилось на примере распределенной системы, работающей в компьютерной сети из 10 узлов. Топология сети представлена взвешенным графом = ( , Г), показанном на рисунке (3.2). Дуги графа раскрашены весами –
средним временем передачи сообщения (единицы данных) |
||||
|
|
|
̅̅̅̅̅ |
|
между парами смежных узлов графа , |
|
( , = |
||
1, ). |
||||
|
|
|
|
|
Рис. 3.2. Топология компьютерной сети
49
Исходные данные задачи для тестирования
Рассматривается распределенная система, имеющая параметры: K = 10 – число узлов в сети, P = 6 – количество прикладных процессов обработки запросов, которые выполняются в узлах сети, генерируя при этом запросы к репликам массивов данных. M = 6 – количество различных массивов данных, каждый из которых может иметь несколько реплик, размещенных в разных узлах сети.
Задано ограничение = 6 на максимально возможное число реплик, размещенное в каждом из узлов системы.
Для упрощения модели, но без потери ее общности, мы не будем различать оригиналы массивов и их реплики, в случае если в этом нет необходимости. Поэтому, если в тексте будут упоминаться N реплик, то это значит, что речь идет об одном оригинале массива данных и (N-1) его реплик.
Ниже в нескольких таблицах представлены значения параметров, характеризующих работу распределенной системы на момент работы алгоритма.
В таблице 3.1 представлены значения элементов следующих кортежей параметров, используемых в предложенной модели:
-кортеж со средним временем обработки информационных запросов в узлах сети,
-кортеж со средним временем обработки в узлах сети запросов на модификацию данных реплик,
-кортеж S со средней стоимостью использования ресурсов узлов сети за единицу времени обработки информационных запросов,
-кортеж S со средней стоимостью использования ресурсов узлов сети за единицу времени обработки запросов на модификацию данных,
-кортеж Dsc со стоимостью хранения единицы данных в узлах
сети.
50
Таблица 3.1. Значения элементов кортежей параметров
|
Кортеж |
|
|
|
|
|
|
|
|
|
Узлы сети |
|
|
|
|
|
|
||||
|
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
Te |
130 |
150 |
140 |
150 |
140 |
130 |
120 |
150 |
140 |
120 |
||||||||||
|
Tu |
261 |
281 |
272 |
283 |
274 |
285 |
256 |
279 |
309 |
249 |
||||||||||
|
Se |
426 |
336 |
335 |
447 |
338 |
338 |
449 |
349 |
356 |
366 |
||||||||||
|
Su |
1055 |
946 |
967 |
838 |
946 |
855 |
977 |
1275 |
1368 |
1476 |
||||||||||
|
510 |
620 |
815 |
922 |
720 |
610 |
814 |
915 |
612 |
514 |
|||||||||||
|
Dsc |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Значения размеров (объемов) передаваемых по каналам связи сети запросов и ответов на них приведены в таблице 3.2.
-Evol – средний размер информационного запроса,
-Erepvol – средний размер ответа на информационный запрос,
-Uvol - средний размер запроса на модификацию данных,
-Urepvol – средний размер ответа на запрос на модификацию данных.
Таблица 3.2. Размеры запросов и ответов на них
Информационные |
Запросы на модификацию |
||
запросы и ответы |
данных и ответы на них |
||
Evol |
Erepvol |
Uvol |
Urepvol |
20 |
650 |
15 |
50 |
Кортеж AV с размерами массивов данных и их реплик представлены в таблице 3.3.
Таблица 3.3. Размеры массивов данных и их реплик
Массив |
1 |
2 |
3 |
4 |
5 |
6 |
Av(m) |
1435 |
1355 |
1342 |
1470 |
1346 |
1363 |
|
|
|
51 |
|
|
|
В таблице 3.4 представлены значения элементов матрицы , равные среднему времени передачи сообщений между смежными узлами графа.
Таблица 3.4. Среднее время передачи данных по каналам связи |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
между смежными узлами |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Узел сети |
1 |
|
2 |
|
3 |
4 |
|
5 |
6 |
7 |
|
8 |
9 |
|
10 |
|
|
1 |
0 |
|
15 |
|
15 |
0 |
|
0 |
0 |
0 |
|
0 |
0 |
|
0 |
|
|
2 |
15 |
|
0 |
|
15 |
0 |
|
14 |
0 |
0 |
|
0 |
0 |
|
0 |
|
|
3 |
15 |
|
15 |
|
0 |
17 |
|
20 |
17 |
0 |
|
22 |
0 |
|
0 |
|
|
4 |
21 |
|
0 |
|
17 |
0 |
|
0 |
18 |
0 |
|
0 |
0 |
|
0 |
|
|
5 |
0 |
|
14 |
|
20 |
0 |
|
0 |
0 |
0 |
|
14 |
18 |
|
0 |
|
|
6 |
0 |
|
0 |
|
17 |
18 |
|
0 |
0 |
12 |
|
20 |
0 |
|
0 |
|
|
7 |
0 |
|
0 |
|
0 |
0 |
|
0 |
12 |
0 |
|
16 |
0 |
|
12 |
|
|
8 |
0 |
|
0 |
|
22 |
0 |
|
14 |
20 |
16 |
|
0 |
12 |
|
17 |
|
|
9 |
0 |
|
0 |
|
0 |
0 |
|
18 |
0 |
0 |
|
12 |
0 |
|
14 |
|
|
10 |
0 |
|
0 |
|
0 |
0 |
|
0 |
0 |
12 |
|
17 |
14 |
|
0 |
|
До начала процесса распределения реплик на основе данных |
|||||||||||||||||
матрицы с |
весами |
дуг |
графа |
заполняется |
матрица |
= |
|||||||||||
̅̅̅̅̅̅ среднего времени передачи единицы данных по
{ }, , = 1,
кратчайшим путям между парами узлов графа. Матрица DTC представлена в таблице 3.5.
52
Таблица 3.5. Среднее время передачи единицы данных по кратчайшим путям между узлами распределенной системы
|
Узел |
|
|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
сети |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
0 |
15 |
|
15 |
|
32 |
29 |
|
32 |
|
44 |
37 |
|
47 |
|
54 |
||||||||||||||
|
2 |
|
15 |
0 |
|
15 |
|
32 |
14 |
|
32 |
|
44 |
28 |
|
32 |
|
45 |
||||||||||||||
|
3 |
|
15 |
15 |
|
0 |
|
17 |
20 |
|
17 |
|
29 |
22 |
|
34 |
|
39 |
||||||||||||||
|
4 |
|
21 |
32 |
|
17 |
|
0 |
37 |
|
18 |
|
30 |
38 |
|
50 |
|
42 |
||||||||||||||
|
|
29 |
14 |
|
20 |
|
37 |
0 |
|
34 |
|
30 |
14 |
|
18 |
|
31 |
|||||||||||||||
|
5 |
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
32 |
32 |
|
17 |
|
18 |
34 |
|
0 |
|
12 |
20 |
|
32 |
|
24 |
|||||||||||||||
|
6 |
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
44 |
44 |
|
29 |
|
30 |
30 |
|
12 |
|
0 |
16 |
|
26 |
|
12 |
|||||||||||||||
|
7 |
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
37 |
28 |
|
22 |
|
38 |
14 |
|
20 |
|
16 |
0 |
|
12 |
|
17 |
|||||||||||||||
|
8 |
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
47 |
32 |
|
34 |
|
50 |
18 |
|
32 |
|
26 |
12 |
|
0 |
|
14 |
|||||||||||||||
|
9 |
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
10 |
|
54 |
45 |
|
39 |
|
42 |
31 |
|
24 |
|
12 |
17 |
|
14 |
|
0 |
||||||||||||||
После того, как определены кратчайшие пути между парами узлов графа и сформирована матрица DTC, производится расчет элементов матрицы SPC. Элемент SPC(i,j) матрицы равен стоимости передачи сообщения единичной длины по кратчайшему пути между узлами i и j.
Для упрощения алгоритма принято допущение, что стоимость передачи единицы данных пропорциональна времени передачи единицы данных. Коэффициент пропорциональности TTC (Time_To_Cost) задается в качестве параметра задачи. В данном примере он равен 2. , т.е.:
( , ) = ( , ) = ( , ) 2
Матрица SPC стоимости передачи сообщения единичной длины по кратчайшим путям графа представлена в таблице 3.6.
53
Таблица 3.6. Стоимость передачи сообщения единичной длины по кратчайшему пути между узлами распределенной системы
Узел сети |
1 |
2 |
|
3 |
|
4 |
5 |
|
6 |
7 |
|
8 |
|
9 |
10 |
|
1 |
0 |
30 |
|
30 |
|
42 |
58 |
|
64 |
88 |
|
74 |
|
94 |
108 |
|
2 |
30 |
0 |
|
30 |
|
64 |
28 |
|
64 |
88 |
|
56 |
|
64 |
90 |
|
3 |
30 |
30 |
|
0 |
|
34 |
40 |
|
34 |
58 |
|
44 |
|
68 |
78 |
|
4 |
42 |
64 |
|
34 |
|
0 |
74 |
|
36 |
60 |
|
76 |
|
100 |
84 |
|
5 |
58 |
28 |
|
40 |
|
74 |
0 |
|
68 |
60 |
|
28 |
|
36 |
62 |
|
|
64 |
64 |
|
34 |
|
36 |
68 |
|
0 |
24 |
|
40 |
|
64 |
48 |
|
6 |
|
|
|
|
|
|
||||||||||
7 |
88 |
88 |
|
58 |
|
60 |
60 |
|
24 |
0 |
|
32 |
|
52 |
24 |
|
8 |
74 |
56 |
|
44 |
|
76 |
28 |
|
40 |
32 |
|
0 |
|
24 |
34 |
|
9 |
94 |
64 |
|
68 |
|
100 |
36 |
|
64 |
52 |
|
24 |
|
0 |
28 |
|
10 |
108 |
90 |
|
78 |
|
84 |
62 |
|
48 |
24 |
|
34 |
|
28 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Частоты выполнения прикладных процессов в узлах сети показаны в таблице 3.7.
Таблица 3.7. Частоты PF выполнения прикладных процессов
Процессы
|
Узел |
|
|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
сети |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
3 |
|
4 |
|
4 |
|
12 |
|
1 |
2 |
|
|||||||
|
2 |
|
2 |
|
2 |
|
13 |
|
2 |
|
2 |
1 |
|
|||||||
|
3 |
|
11 |
|
2 |
|
1 |
|
1 |
|
9 |
2 |
|
|||||||
|
4 |
|
2 |
|
3 |
|
1 |
|
4 |
|
23 |
8 |
|
|||||||
|
5 |
|
4 |
|
2 |
|
2 |
|
2 |
|
5 |
12 |
|
|||||||
|
6 |
|
5 |
|
3 |
|
2 |
|
1 |
|
14 |
1 |
|
|||||||
|
7 |
|
3 |
|
3 |
|
10 |
|
3 |
|
4 |
4 |
|
|||||||
|
8 |
|
2 |
|
5 |
|
8 |
|
5 |
|
7 |
5 |
|
|||||||
|
9 |
|
1 |
|
1 |
|
5 |
|
2 |
|
12 |
24 |
|
|||||||
|
10 |
|
7 |
|
3 |
|
6 |
|
3 |
|
8 |
7 |
|
|||||||
|
|
|
|
|
|
|
|
|
54 |
|
|
|
|
|
|
|
|
|||
Частоты генерации прикладными процессами информационных запросов и запросов на модификацию массивов данных представлены в таблицах 3.8 и 3.9 соответственно.
Таблица 3.8. Частоты генерации информационных запросов
|
Процесс |
|
Массивы данных |
||||||||||
|
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
|
|
|
|
|
|
|
|
||||||
|
1 |
9 |
3 |
26 |
4 |
7 |
4 |
||||||
|
2 |
1 |
2 |
3 |
14 |
2 |
2 |
||||||
|
3 |
2 |
3 |
3 |
2 |
23 |
3 |
||||||
|
4 |
3 |
1 |
2 |
1 |
2 |
23 |
||||||
|
5 |
2 |
25 |
3 |
2 |
1 |
2 |
||||||
|
6 |
25 |
2 |
2 |
3 |
4 |
2 |
||||||
|
Итого |
42 |
36 |
39 |
26 |
39 |
36 |
||||||
Таблица 3.9. Частоты запросов на модификацию данных
|
Процесс |
|
Массивы данных |
||||||||
|
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
|
|
|
|
|
|
|
|||||
|
1 |
1 |
2 |
48 |
13 |
3 |
|||||
|
2 |
3 |
2 |
3 |
24 |
4 |
|||||
|
3 |
3 |
4 |
4 |
2 |
19 |
|||||
|
4 |
3 |
5 |
4 |
2 |
5 |
|||||
|
5 |
9 |
24 |
4 |
4 |
2 |
|||||
|
6 |
19 |
4 |
3 |
3 |
13 |
|||||
|
Итого |
38 |
41 |
66 |
48 |
46 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
На основе таблиц PQE и PQU для каждого узла сети подсчитывается общее количество генерируемых всеми процессами этого узла информационных запросов и запросов на модификацию данных в репликах. Результаты вычисления сохраняются в таблице
55
NQE и таблице NQU для информационных запросов и запросов на модификацию данных соответственно. Данные таблиц NQE и NQU приведены ниже.
Таблица 3.10. Таблица NQE частот генерации в узлах сити информационных запросов к массивам данных
Массив |
|
|
|
|
Узлы сети |
|
|
|
|
||
данных |
1 |
2 |
3 |
4 |
5 |
6 |
|
7 |
8 |
9 |
10 |
1 |
127 |
81 |
174 |
281 |
358 |
108 |
|
167 |
193 |
650 |
278 |
2 |
70 |
103 |
270 |
610 |
173 |
380 |
|
156 |
230 |
370 |
262 |
3 |
133 |
109 |
328 |
157 |
159 |
191 |
|
143 |
132 |
132 |
253 |
4 |
96 |
71 |
99 |
126 |
96 |
98 |
|
97 |
128 |
126 |
122 |
5 |
154 |
327 |
123 |
106 |
135 |
107 |
|
283 |
245 |
236 |
235 |
6 |
314 |
103 |
96 |
171 |
106 |
85 |
|
133 |
181 |
139 |
151 |
Таблица 3.11. Таблица NQU частот генерации в узлах сети запросов на модификацию массивов данных
|
Массив |
|
|
|
|
Узлы сети |
|
|
|
|
||
|
данных |
1 |
2 |
3 |
4 |
5 |
6 |
|
7 |
8 |
9 |
10 |
|
1 |
110 |
90 |
142 |
385 |
295 |
168 |
|
163 |
214 |
589 |
248 |
|
2 |
122 |
122 |
259 |
618 |
198 |
369 |
|
179 |
259 |
418 |
279 |
|
3 |
230 |
173 |
584 |
241 |
270 |
320 |
|
233 |
206 |
199 |
434 |
|
4 |
177 |
115 |
237 |
224 |
164 |
202 |
|
165 |
215 |
171 |
234 |
|
5 |
189 |
288 |
109 |
207 |
234 |
111 |
|
286 |
282 |
448 |
269 |
|
6 |
322 |
105 |
146 |
283 |
185 |
140 |
|
161 |
226 |
291 |
214 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Величина затрат RSC на хранение реплик массивов данных в узлах сети за единичный интервал времени определяется по формуле (3.2) на основе данных кортежа DSC и кортежа AV. Данные затраты представлены в таблице 3.12.
56
Таблица 3.12. Затраты RSC на хранение реплик в узлах сети
Узел |
|
|
Массив данных |
|
|
||
сети |
|
|
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
||
|
|||||||
1 |
731 850 |
691 050 |
684 420 |
749 700 |
686 460 |
695 130 |
|
2 |
889 700 |
840 100 |
832 040 |
911 400 |
834 520 |
845 060 |
|
3 |
1 169 525 |
1 104 325 |
1 093 730 |
1 198 050 |
1 096 990 |
1 110 845 |
|
4 |
1 323 070 |
1 249 310 |
1 237 324 |
1 355 340 |
1 241 012 |
1 256 686 |
|
5 |
1 033 200 |
975 600 |
966 240 |
1 058 400 |
969 120 |
981 360 |
|
6 |
875 350 |
826 550 |
818 620 |
896 700 |
821 060 |
831 430 |
|
|
1 168 090 |
1 102 970 |
1 092 388 |
1 196 580 |
1 095 644 |
1 109 482 |
|
7 |
|||||||
8 |
1 313 025 |
1 239 825 |
1 227 930 |
1 345 050 |
1 231 590 |
1 247 145 |
|
9 |
878 220 |
829 260 |
821 304 |
899 640 |
823 752 |
834 156 |
|
|
737 590 |
696 470 |
689 788 |
755 580 |
691 844 |
700 582 |
|
10 |
|||||||
3.3.3.Описание работы алгоритма при тестировании
Рассмотрим работу эвристического алгоритма по шагам, описанным выше.
Шаг 1. Заполнение матрицы NP значениями приоритета узлов
На основе данных таблиц NQE и NQU подсчитываются значения «приоритетов» ( , ) узлов. Приоритет ( , ) узла по отношению к массиву данных это количество всех запросов, генерируемых в единицу времени в узле к реплике массива вне зависимости от места размещения этой реплики.
Элементы матрицы (таблицы) ( |
, ) приоритетов узлов равны |
|
|
|
|
сумме соответствующих элементов таблиц NQE и NQU: |
|
|
|
̅̅̅̅̅ |
̅̅̅̅̅̅ |
( , ) = (, ) + (, ), = 1, , = 1, |
||
Значения матрицы NP с |
приоритетами узлов |
для |
рассматриваемого примера представлены в таблице 3.13. 57
Таблица 3.13. Матрица NP приоритетов узлов сети по отношению к используемым в системе массивам данных
|
Узел |
|
|
Реплики массивов данных |
|
|
|
|||||||||||||
|
сети |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
1 |
|
237 |
|
192 |
|
363 |
|
273 |
343 |
|
636 |
||||||||
|
2 |
|
|
171 |
|
225 |
|
282 |
|
186 |
615 |
|
208 |
|||||||
|
3 |
|
316 |
|
529 |
|
912 |
|
336 |
232 |
|
242 |
||||||||
|
4 |
|
666 |
|
1 228 |
398 |
|
350 |
313 |
|
454 |
|||||||||
|
5 |
|
653 |
|
371 |
|
429 |
|
260 |
369 |
|
291 |
||||||||
|
6 |
|
276 |
|
749 |
|
511 |
|
300 |
218 |
|
225 |
||||||||
|
7 |
|
330 |
|
335 |
|
376 |
|
262 |
569 |
|
294 |
||||||||
|
8 |
|
407 |
|
489 |
|
338 |
|
343 |
527 |
|
407 |
||||||||
|
9 |
|
|
1 239 |
|
788 |
|
331 |
|
297 |
684 |
|
430 |
|||||||
|
10 |
|
526 |
|
541 |
|
687 |
|
356 |
504 |
|
365 |
||||||||
Шаг 2. Вычисление величины шага изменения значений ограничения на приоритет узлов сети
На данном шаге алгоритма в матрице NP находятся элементы с
минимальным |
и максимальным |
|
значением приоритета |
|
|
|
|
узлов сети. |
|
|
|
Значение Nc (количество последовательных изменений значения |
|||
ограничения |
на приоритеты |
узлов), заданное при |
|
|
|
|
|
формулировке задачи и равно 12. Это значение Nc устанавливается заранее при постановке задачи.
Для матрицы NP, представленной в таблице 4.22, такими
элементами являются: |
|
= 171 и |
= 1239 |
|
|
|
|
(соответствующие ячейки таблицы выделены серым фоном). Тогда
значение |
|
шага изменения ограничения будет равно: |
||||
|
|
|
|
|
|
|
|
= ( |
− |
)⁄ = |
(1239 − 171) |
= 89 |
|
|
||||||
|
|
|
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
|
