книги2 / монография 31
.pdfТаблица 4.11. Кортеж NQ(k) с количеством запросов, генерируемых в узлах системы
Номер узла системы |
0 |
1 |
2 |
3 |
4 |
5 |
Количество |
|
|
|
|
|
|
генерируемых |
2 186 |
1 414 |
2 837 |
2 243 |
2 735 |
2 121 |
в узле запросов |
|
|
|
|
|
|
Аналогично рассчитываются значения матрицы NQM(k,m) (таблица 4.12), которые содержат количество всех запросов, генерируемых в узлах системы к каждому фрагменту таблиц, используемых в системе.
Таблица 4.12. Матрица NQM(k,m) с количеством запросов, генерируемых к фрагментам таблиц
|
Узел |
|
|
Фрагменты таблиц |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
F1 |
|
|
F2 |
|
|
F3 |
|
|
F4 |
|
|
F5 |
|
|
F6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
N1 |
|
369 |
|
338 |
|
376 |
|
231 |
|
615 |
|
257 |
|
||||||
|
N2 |
|
230 |
|
176 |
|
369 |
|
191 |
|
214 |
|
234 |
|
||||||
|
N3 |
|
297 |
|
279 |
|
495 |
|
635 |
|
305 |
|
826 |
|
||||||
|
N4 |
|
223 |
|
203 |
|
950 |
|
314 |
|
225 |
|
328 |
|
||||||
|
N5 |
|
752 |
|
423 |
|
272 |
|
252 |
|
674 |
|
362 |
|
||||||
|
N6 |
|
258 |
|
670 |
|
305 |
|
182 |
|
219 |
|
487 |
|
||||||
|
Итого |
|
2 129 |
|
2 089 |
2 767 |
1 805 |
2 252 |
|
2 494 |
||||||||||
Шаг 1. На этом шаге алгоритма вычисляем значения элементов кортежа FQ(m), каждый из которых содержит общее количество запросов (информационных и на модификацию данных) к фрагментам данных, генерируемых процессами, выполняемыми во всех узлах системы. Значения элементов кортежа FQ рассчитываются на основе матриц PF, PQE и PQU. Кортеж FQ представлен в таблице, расположенной ниже.
129
Таблица 4.13. Кортеж FQ с общим количеством запросов к фрагментам
|
Фрагмент |
|
|
F1 |
|
|
F2 |
|
|
F3 |
|
|
F4 |
|
|
F5 |
|
|
F6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Частота запросов |
|
2 129 |
2 089 |
2 767 |
1 805 |
|
2 252 |
2 494 |
|||||||||||
|
к фрагменту |
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Шаг 2. В соответствии с описанием алгоритма на шаге 2 производится заполнение элементов кортежа FDS номерами фрагментов, отсортированных в порядке убывания количества запросов к этим фрагментам. Элементы FDS заполняются на основе данных кортежа FQ.
Заполняем элементы кортежа FDS таким образом:
В первый элемент кортежа FDS записываем номер фрагмента из FQ с наибольшим количеством генерируемых к нему запросов.
Во второй элемент записываем номер фрагмента, количество запросов к которому равно или меньше количества запросов у предыдущего фрагмента.
Процесс заканчивается после просмотра последнего элемента кортежа FQ.
В итоге кортеж FDS содержит номера фрагментов, отсортированные в порядке убывания количества запросов к этим фрагментам. В этом порядке фрагменты и будут размещаться в узлах системы. В нашем примере кортеж FDS заполняется следующим образом:
Таблица 4.14. Кортеж FDS с номерами фрагментов, упорядоченных для последующего размещения в узлах
|
Номер |
|
|
F2 |
|
|
F5 |
|
|
F4 |
|
|
F6 |
|
|
F1 |
|
|
F3 |
|
|
фрагмента |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Всего запросов |
|
2 767 |
2 494 |
2 252 |
2 129 |
|
2 089 |
1 805 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Шаг 3. Вычисляем веса для всех фрагментов и заполняем матрицу FW полученными значениями. Вычисление весов
130
происходит в цикле по всем узлам и по всем фрагментам в соответствии с алгоритмом. Результат представлен в таблице 4.15.
Таблица 4.15. Матрица FW с весами фрагментов
Узел |
|
|
Фрагмент |
|
|
|
Nk |
F1 |
F6 |
F2 |
F4 |
F5 |
F3 |
N1 |
134 583 |
187 558 |
140 490 |
96 875 |
199 595 |
103 591 |
N2 |
75 660 |
92 920 |
140 555 |
83 154 |
75 300 |
93 459 |
N3 |
109 818 |
156 172 |
186 711 |
251 430 |
108 905 |
307 183 |
N4 |
66 071 |
99 936 |
393 638 |
135 896 |
70 413 |
127 983 |
N5 |
286 610 |
217 938 |
112 720 |
93 772 |
234 693 |
159 182 |
N6 |
117 946 |
354 778 |
126 760 |
72 948 |
72 358 |
201 676 |
Шаг 4. Последовательно, в цикле по отсортированным номерам фрагментов из кортежа FDS распределяем эти фрагменты по узлам системы.
В итоге работы алгоритма получено следующее перераспределение фрагментов по узлам системы:
Таблица 4.16. Новое распределение фрагментов по узлам системы №2
Nk |
F1 |
F2 |
F3 |
F4 |
F5 |
F6 |
N1 |
0 |
0 |
0 |
0 |
0 |
0 |
N2 |
0 |
0 |
0 |
0 |
0 |
0 |
N3 |
0 |
0 |
0 |
1 |
0 |
1 |
N4 |
0 |
0 |
1 |
0 |
0 |
0 |
N5 |
1 |
0 |
0 |
0 |
1 |
0 |
N6 |
0 |
1 |
0 |
0 |
0 |
0 |
Всего |
1 |
1 |
1 |
1 |
1 |
1 |
131
Рис. 4.3. Распределение №2 фрагментов по узлам системы
В результате работы алгоритма получено новое распределение фрагментов, при котором распределенная система имеет следующие значения основных характеристик работы системы:
Сумма затрат на функционирование системы равна 10 443единиц.
Среднее время обработки запроса в системе равно 3 единицам.
Последняя строка в таблице 4.16 показывает, что полученное решение задачи удовлетворяет условию задачи, согласно которому один фрагмент должен быть размещен в системы в одном экземпляре, без использования дополнительных реплик.
Если сравнить значения характеристик системы при первоначальном распределении и новом распределении, полученном в результате перераспределения фрагментов, то получим следующие итоги, представленные в таблице 4.17.
132
Таблица 4.17. Характеристики распределенной системы
|
Затраты на |
Среднее время |
Распределение |
функционирование |
обработки |
|
системы |
запроса |
Первоначальное |
29 324 |
9 |
После перераспределения |
10 443 |
3 |
|
|
|
фрагментов |
|
|
|
|
|
Ухудшение / Улучшение |
- 18 881 |
- 6 |
|
|
|
характеристики |
|
|
|
|
|
Таким образом, в результате перераспределения фрагментов получено существенное улучшение показателей работы распределенной системы.
4.8.Пример № 2 решения задачи оптимального размещения фрагментов таблиц
Поскольку в рассматриваемой модели предполагается, что распределенная система работает в условиях динамично меняющейся внешней среды, то со временем ряд параметров работы системы может измениться. В этом случае, как правило, возникает необходимость поиска нового распределения фрагментов, в наибольшей степени соответствующего новым условиям работы системы. С этой целью выполняется перераспределение (миграция) всех или только некоторых фрагментов таблиц в другие узлы системы для того, чтобы наилучшим (оптимальным) образом адаптировать систему к изменившимся условиям ее работы.
Предположим, что через некоторое время после последнего распределения фрагментов в системе произошли изменения в распределении интенсивности работы прикладных процессов в узлах системы. Эти изменения (новые значения) выделены цветом фона в соответствующих элементах матрицы PF(k,p) частот выполнения процессов в узлах системы. Матрица PF(k,p) с новыми значениями элементов показана в таблице 4.18 (левая колонка – a). Матрица
133
PF(k,p) с предыдущими значениями элементов показана в правой колонке – b.
Таблица 4.18(a,b). Матрица PF(k,p) частот выполнения процессов в узлах системы (Пример №2)
Таблица 4.18.а.
Узел |
|
|
|
|
|
|
Процесс |
|
|
|
|
|
|
|||
|
Nk |
|
|
|
P1 |
|
P2 |
P3 |
P4 |
|
P5 |
|
|
P6 |
||
|
N1 |
|
|
3 |
2 |
11 |
2 |
|
4 |
|
5 |
|||||
|
N2 |
|
|
4 |
2 |
2 |
3 |
|
2 |
|
3 |
|||||
|
N3 |
|
|
4 |
13 |
1 |
15 |
|
2 |
|
2 |
|||||
|
N4 |
|
|
12 |
2 |
1 |
4 |
|
2 |
|
1 |
|||||
|
N5 |
|
|
22 |
2 |
9 |
3 |
|
5 |
|
4 |
|||||
|
N6 |
|
|
24 |
1 |
2 |
8 |
|
2 |
|
1 |
|||||
|
|
|
|
|
|
|
Таблица 4.18.b. |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Узел |
|
|
|
|
Процесс |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nk |
|
P1 |
|
P2 |
P3 |
P4 |
|
P5 |
|
P6 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
N1 |
|
3 |
|
2 |
11 |
2 |
|
4 |
|
5 |
|
||||
|
N2 |
|
4 |
|
2 |
2 |
3 |
|
2 |
|
3 |
|
||||
|
N3 |
|
4 |
|
13 |
1 |
15 |
|
2 |
|
2 |
|
||||
|
N4 |
|
12 |
|
2 |
1 |
4 |
|
2 |
|
1 |
|
||||
|
N5 |
|
1 |
|
2 |
9 |
3 |
|
5 |
|
14 |
|
||||
|
N6 |
|
2 |
|
1 |
2 |
8 |
|
12 |
|
1 |
|
||||
Очевидно, что такие изменения в параметрах системы окажут значительно влияние на результаты работы алгоритма динамического распределения фрагментов в узлах системы.
134
Рассмотрим результаты работы алгоритма с учетом произошедших изменений в параметрах частот выполнения прикладных процессов в узлах системы.
Вкачестве начального распределения фрагментов для алгоритма
вэтом случае, естественно, будет использоваться распределение, полученное ранее в результате работы алгоритма в примере №1.А именно:
Таблица 4.19. Начальное распределение фрагментов (пример №2)
Nk |
F1 |
F2 |
F3 |
F4 |
F5 |
F6 |
N1 |
0 |
0 |
0 |
0 |
0 |
0 |
N2 |
0 |
0 |
0 |
0 |
0 |
0 |
N3 |
0 |
0 |
0 |
1 |
0 |
1 |
N4 |
0 |
0 |
1 |
0 |
0 |
0 |
N5 |
1 |
0 |
0 |
0 |
1 |
0 |
N6 |
0 |
1 |
0 |
0 |
0 |
0 |
Всего |
1 |
1 |
1 |
1 |
1 |
1 |
Поскольку параметры матрицы PF(k,p) частот выполнения процессов в узлах системы изменились, то соответствующие изменения произойдут и в следующих матрицах, значения в которых зависят от матрицы PF(k,p) и которые влияют на результат работы алгоритма:
Таблица 4.20. Кортеж NQ(k) с количеством запросов, генерируемых в узлах системы
|
Номер узла |
|
|
0 |
|
|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
системы |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Количество |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
генерируемых |
|
2 186 |
|
1 414 |
|
2 837 |
|
|
3 456 |
|
|
4 490 |
|
|
4 041 |
|
|||
|
в узле запросов |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135
Соответственно будут изменены значения матрицы NQM(k,m) с количеством всех запросов, генерируемых в узлах системы к отдельным фрагментам таблиц.
Таблица 4.21. Матрица NQM(k,m) с количеством запросов, генерируемых к фрагментам таблиц
|
Узел |
|
|
|
|
|
Фрагменты таблиц |
|
|
|
||||||||||
|
|
|
F1 |
|
|
F2 |
|
|
F3 |
|
|
F4 |
|
|
F5 |
|
|
F6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
N1 |
|
369 |
|
338 |
|
376 |
|
231 |
|
615 |
|
257 |
|
||||||
|
N2 |
|
230 |
|
176 |
|
369 |
|
191 |
|
214 |
|
234 |
|
||||||
|
N3 |
|
297 |
|
279 |
|
495 |
|
635 |
|
305 |
|
826 |
|
||||||
|
N4 |
|
|
1 209 |
|
|
312 |
|
|
552 |
|
|
339 |
|
|
563 |
|
|
481 |
|
|
N5 |
|
|
522 |
|
|
468 |
|
|
1 776 |
|
|
549 |
|
|
714 |
|
|
461 |
|
|
N6 |
|
|
368 |
|
|
290 |
|
|
1 863 |
|
|
496 |
|
|
409 |
|
|
615 |
|
|
Итого |
|
|
2 995 |
|
|
1 863 |
|
|
5 431 |
|
|
2 441 |
|
|
2 820 |
|
|
2 874 |
|
На шаге 1 вычисляются новые значения элементов кортежа
FQ(m).
Таблица 4.22. Кортеж FQ с общим количеством запросов к фрагментам
Фрагмент |
|
F1 |
|
|
F2 |
|
|
F3 |
|
|
F4 |
|
|
F5 |
|
|
F6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Частота |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
запросов |
2 |
|
1 |
|
5 |
|
2 |
|
2 |
|
2 |
|
||||||
к фрагменту |
995 |
|
863 |
|
431 |
|
441 |
|
820 |
|
874 |
|
||||||
На шаге 2 на основе данных кортежа FQ производится заполнение элементов кортежа FDS номерами фрагментов, отсортированных в порядке убывания количества запросов к фрагментам.
136
Таблица 4.23. Кортеж FDS с номерами фрагментов, упорядоченных для последующего размещения в узлах
Номер |
|
|
|
|
|
|
фрагмента |
F3 |
F1 |
F6 |
F5 |
F4 |
F2 |
Всего запросов |
5 431 |
2 995 |
2 874 |
2 820 |
2 441 |
1 863 |
На шаге 3 вычисляются значения элементов матрицы FW с весами всех фрагментов для всех узлов системы.
Таблица 4.24. Матрица FW с весами фрагментов
Узел |
|
|
Фрагмент |
|
|
|
Nk |
F1 |
F6 |
F2 |
F4 |
F5 |
F3 |
N1 |
49 543 |
37 572 |
71 632 |
33 635 |
83 975 |
35 187 |
N2 |
26 480 |
21 343 |
65 744 |
28 538 |
27 124 |
31 509 |
N3 |
35 529 |
31 868 |
87 171 |
85 890 |
40 780 |
96 663 |
N4 |
121 960 |
38 480 |
89 432 |
48 065 |
74 058 |
71 307 |
N5 |
43 424 |
50 247 |
307 216 |
89 968 |
67 708 |
64 807 |
N6 |
33 746 |
25 910 |
361 308 |
82 513 |
45 418 |
82 842 |
На шаге 4 производится перераспределение фрагментов по узлам системы в соответствии с изменившимися параметрами функционирования распределенной системы. Перераспределение фрагментов производится последовательно, одного фрагмента за другим, в цикле по отсортированным номерам фрагментов, которые берутся из кортежа FDS (строка «Номер фрагмента»).
В итоге в результате перераспределения фрагментов, получаем новое распределение, представленное в таблице ниже:
137
Таблица 4.25. Новое распределение фрагментов по узлам системы №3
Nk |
F1 |
F2 |
F3 |
F4 |
F5 |
F6 |
N1 |
0 |
0 |
0 |
0 |
1 |
0 |
N2 |
0 |
0 |
0 |
0 |
0 |
0 |
N3 |
0 |
0 |
0 |
0 |
0 |
1 |
N4 |
1 |
0 |
0 |
0 |
0 |
0 |
N5 |
0 |
1 |
0 |
1 |
0 |
0 |
N6 |
0 |
0 |
1 |
0 |
0 |
0 |
Всего |
1 |
1 |
1 |
1 |
1 |
1 |
Рис. 4.4. Распределение №3 фрагментов по узлам системы
Если сравнить значения характеристик системы при первом перераспределении фрагментов, полученном в примере №1, и значения характеристик системы при новом распределении, то получим следующие итоги сравнения:
138
