РПЗ Агаян (954314), страница 9
Текст из файла (страница 9)
Данная задача нахождения оптимального варианта является комбинаторной задачей распределения, однако учитывая аддитивный характер оценочной функции ее можно рашить не только методом полного перебора (что практически крайне затруднительно), но также методом динамического программирования, например методом ветвей и границ:
минимизировать S=f(x) при условиях x (- G, где G - полное (конечное) множество вариантов.
Решение задачи
Составляем таблицу 28 , в которой указываем все возможные варианты: размещения баз данных по узлам сети. В каждую клетку этой таблицы записываем число, которое определяет суммарное количество всех запросов от всех процессов всех узлов к данной БД, при условии, что эта БД находится в данном узле..
Таблица 28. Суммарное количество обращений к БД при возможных вариантах их размещения по узлам сети
Узел | БД1 | БД2 | БД3 | БД4 | БД5 | БД6 | БД7 | БД8 | БД9 | БД10 |
У2 | 472 | 1720 | 3084 | 208 | 615 | 800 | 1680 | 550 | 208 | 1241 |
У3 | 311 | 2040 | 3041 | 130 | 554 | 645 | 1260 | 675 | 197 | 870 |
У4 | 358 | 1630 | 2777 | 156 | 557 | 680 | 1320 | 475 | 196 | 958 |
У5 | 433 | 2280 | 3254 | 208 | 597 | 920 | 1160 | 675 | 220 | 1007 |
У6 | 342 | 1960 | 3236 | 130 | 638 | 725 | 1680 | 475 | 218 | 1059 |
У7 | 444 | 1770 | 2828 | 208 | 544 | 830 | 1300 | 525 | 191 | 1070 |
Min обр к БД | 311 | 1630 | 2777 | 130 | 544 | 645 | 1160 | 475 | 191 | 870 |
Max обр к БД | 472 | 2280 | 3254 | 208 | 638 | 920 | 1680 | 675 | 220 | 1241 |
Используем правило: «Базу данных помещаем в тот узел, где она максимально используется, т.е. суммарное количество обращений к ней со стороны других узлов минимально» Поэтому в каждом столбце, соответствующем одной конкретной БД, отыскиваем наименьшее значение. Это и будет соответствовать оптимальному варианту размещения этой БД, поскольку .чем меньше это значение, тем меньше суммарное количество обращений от всех процессов всех других узлов к данной БД.
Полученные результаты, показывающие оптимальные варианты размещения БД по узлам сети, записываем в таблицу 29
Таблица 29. Оптимальные варианты размещении БД по узлам сети
БД1 | БД2 | БД3 | БД4 | БД5 | БД6 | БД7 | БД8 | БД9 | БД10 | Оценка варианта | |
Вар.1 | У3 | У4 | У4 | У3 | У3 | У3 | У5 | У4 | У7 | У3 | 8733 |
Вар.2 | У3 | У4 | У4 | У3 | У3 | У3 | У5 | У6 | У7 | У3 | 8733 |
Число обращений | 311 | 1630 | 2777 | 130 | 544 | 645 | 1160 | 475 | 191 | 870 |
Итак, получили, что в каждом из всех оптимальных вариантов размещения БД по узлам сети, суммарное количество обращений ко всем БД, т.е. суммарные затраты, составляют 8733
.
-
Распределение баз данных по узлам сети с учетом репликаций
Необходимо определить вариант рационального размещения предметных баз данных в распределенной информационной системе для случая, когда каждая база данных может иметь произвольное число репликаций (копий), размещаемых на любых узлах (размещается только в одном узле сети главная репликация мастер-репликация). Обрабатывающие процессы (приложения) не являются распределенными. При этом считать, что если некоторый процесс обращается за данными к базе, находящейся в другом узле, сетевые затраты на одно обращение составляют “t” секунд, независимо от местонахождения узла в сети и дисциплины обслуживания. Если процесс обращается к базе данных, находящейся в том же узле, где выполняется процесс, то считать, что “t = 0”.
На создание и поддержку репликаций средние приведенные затраты назначаем согласно следующей формуле:
где N значение из таблицы 25;
k значение коэффициента из таблицы 26;
N2 исходное значение затрат на создание и поддержку репликаций БД, соответствующее варианту задания.
Рассчитанные значения N2 приведены в таблице 30
Таблица 30. Исходные данные для варианта с репликациями
Узел | Коэф k | Коэф 0,3/k | БД1 | БД2 | БД3 | БД4 | БД5 | БД6 | БД7 | БД8 | БД9 | БД10 |
У2 | 0,5 | 0,600 | 240 | 180 | 150 | |||||||
1,2 | 0,250 | 75 | 38 | 25 | ||||||||
0,96 | 0,313 | 75 | 28 | 13 | ||||||||
У3 | 1,3 | 0,231 | 23 | 14 | 35 | 32 | ||||||
1,05 | 0,286 | 9 | 86 | 23 | 114 | 6 | 51 | |||||
0,8 | 0,375 | 113 | 56 | 38 | ||||||||
0,7 | 0,429 | 103 | 39 | 17 | ||||||||
У4 | 0,87 | 0,345 | 34 | 21 | 52 | 48 | ||||||
0,8 | 0,375 | 150 | 113 | 94 | ||||||||
0,9 | 0,333 | 10 | 100 | 27 | 133 | 7 | 60 | |||||
1,1 | 0,273 | 82 | 41 | 27 | ||||||||
0,8 | 0,375 | 90 | 34 | 15 | ||||||||
У5 | 1,3 | 0,231 | 7 | 69 | 18 | 92 | 5 | 42 | ||||
У6 | 1,3 | 0,231 | 23 | 14 | 35 | 32 | ||||||
0,8 | 0,375 | 150 | 113 | 94 | ||||||||
0,7 | 0,429 | 103 | 39 | 17 | ||||||||
У7 | 0,6 | 0,500 | 200 | 150 | 125 | |||||||
0,95 | 0,316 | 9 | 95 | 25 | 126 | 6 | 57 | |||||
0,9 | 0,333 | 100 | 50 | 33 | ||||||||
0,9 | 0,333 | 80 | 30 | 13 |
Сгруппируем данные по процессам одного узлам, отнесенные к одной и той же БД так, чтобы в каждой клетке новой таблицы 31 было число, равное приведенным затратам на создание и поддержку репликации БД при помещении ее в этот узел
Таблица 31. Затраты на создание и поддержку репликации БД при помещении ее в соответствующий узел
Узел | БД1 | БД2 | БД3 | БД4 | БД5 | БД6 | БД7 | БД8 | БД9 | БД10 |
У2 | - | 315 | 293 | - | 28 | 25 | - | 150 | 13 | - |
У3 | 32 | 113 | 245 | 14 | 62 | 73 | 114 | - | 23 | 83 |
У4 | 44 | 232 | 344 | 21 | 61 | 79 | 133 | 94 | 22 | 108 |
У5 | 7 | - | 69 | - | 18 | - | 92 | - | 5 | 42 |
У6 | 23 | 150 | 216 | 14 | 39 | 35 | - | 94 | 17 | 32 |
У7 | 9 | 300 | 375 | - | 55 | 33 | 126 | 125 | 19 | 57 |
Таким образом, получены исходные данные для варианта с репликациями,