Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги2 / монография 31

.pdf
Скачиваний:
0
Добавлен:
10.05.2024
Размер:
3.71 Mб
Скачать

Изменение частот прикладных процессов привели к соответствующим изменениям и в матрице приоритетов узлов. В таблице 3.27 представлена матрица NP с измененными значениями приоритетов узлов. Изменились значения приоритетов в следующих строках матрицы NP: 1,7,8,10.

Таблица3.27. Новые значения элементов матрицы NP приоритетов узлов сети (тест 2)

 

Узел

 

Реплики массивов данных

 

 

 

 

сети

 

1

2

 

3

 

4

 

5

 

6

 

1

 

764

609

 

476

 

383

 

618

 

785

 

 

171

225

 

282

 

186

 

615

 

208

 

2

 

 

 

 

 

 

3

 

316

529

 

912

 

336

 

232

 

242

 

4

 

666

1228

 

398

 

350

 

313

 

454

 

5

 

653

371

 

429

 

260

 

369

 

291

 

6

 

276

749

 

511

 

300

 

218

 

225

 

7

 

385

331

 

993

 

387

 

365

 

340

 

8

 

1005

682

 

1142

 

605

 

1228

 

763

 

 

1239

788

 

331

 

297

 

684

 

430

 

9

 

 

 

 

 

 

10

 

125

114

 

284

 

194

 

173

 

206

 

 

 

 

 

 

 

 

 

 

 

 

 

Изменения значений приоритетов узлов приводит к необходимости перераспределения реплик массивов данных для того, чтобы наилучшим образом адаптировать работу распределенной системы к новым условиям.

В итоге работы алгоритма при измененных значениях приоритетов узлов получены 12 различных распределений реплик массивов данных при различных исходных параметрах работы алгоритма.

Оптимальное распределение реплик с наименьшими затратами 344,445,103.00 на эксплуатацию системы получено при значении минимального приоритета узлов, равного 744 и при распределении узлах сети 6 массивов данных и 7 их реплик.

Матрица X с описанием параметров оптимального распределения, представлена в таблице 3.28. На рисунке 3.11 показана сеть с оптимальным размещением реплик массивов данных.

79

Таблица 3.28. Оптимальное распределение массивов данных и

 

 

 

 

их реплик (тест 2)

 

 

 

 

 

 

Узел

 

 

Оптимальное размещение

 

 

 

 

массивов данных и их реплик

 

 

сети

 

 

 

 

1

 

 

2

 

 

3

 

 

4

 

 

5

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

0

 

0

 

0

 

 

0

 

 

1

 

 

2

 

0

 

0

 

0

 

0

 

 

0

 

0

 

 

3

 

0

 

0

 

 

1

 

0

 

 

0

 

0

 

 

4

 

0

 

 

1

 

0

 

0

 

 

0

 

0

 

 

5

 

0

 

0

 

0

 

0

 

 

0

 

0

 

 

6

 

0

 

 

1

 

0

 

0

 

 

0

 

0

 

 

7

 

0

 

0

 

1

 

0

 

 

0

 

0

 

 

8

 

 

1

 

0

 

 

1

 

 

1

 

 

1

 

 

1

 

 

9

 

 

1

 

 

1

 

0

 

0

 

 

0

 

0

 

 

10

 

0

 

0

 

0

 

0

 

 

0

 

0

 

Рис. 3.11. Оптимальное размещение реплик и массивов данных (тест 2)

80

Миграция реплик массивов данных для теста 2

На основе данных матрицы X нового распределения реплик и аналогичной матрицы, полученной ранее на этапе 1 тестирования, выполнена миграция реплик. Данные по процессу миграции реплик приведены в таблице 3.29.

По каналам связи между узлами сети переслано 7 реплик. Величина общих затрат на миграцию реплик равна 556,464.00 единиц стоимости.

На этом же шаге алгоритма работает процедура удаления невостребованных реплик, размещенных в узлах сети. Реплики

удаляются из узлов,

приоритет которых (

, ) меньше

 

 

 

 

 

 

 

 

 

 

 

 

ограничения , который в данном случае равен 744 единиц.

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3.29. Данные по миграции реплик между узлами сети

 

 

 

 

(тест 2)

 

 

 

 

 

 

Реплика

 

Миграция

 

 

Затраты

 

 

 

 

 

 

из узла

 

 

в узел

 

 

на миграцию

 

 

 

 

1

 

9

 

1

 

134 890

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

9

 

8

 

34 440

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

4

 

6

 

48 780

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

4

 

9

 

135 500

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

8

 

3

 

59 048

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

8

 

7

 

42 944

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

1

 

8

 

100 862

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ИТОГО

556 464

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ниже в таблице 3.30 приведена матрица NP приоритетов узлов, в которой фоном выделены приоритеты узлов, в которых размещены реплики. Единственным узлом, приоритет которого меньше или равен 744 единиц, является узел NP(8,4), приоритет которого равен

605единиц.

Но реплику из этого узла удалять нельзя, так как эта реплика

присутствует в сети в одном экземпляре и фактически является оригиналом массива данных 4.

81

Таблица 3.30. Матрица приоритетов узлов

Узел

 

Реплики массивов данных

 

сети

1

2

3

4

5

6

1

764

609

476

383

618

785

2

171

225

282

186

615

208

3

316

529

912

336

232

242

4

666

1228

398

350

313

454

5

653

371

429

260

369

291

6

276

749

511

300

218

225

7

385

331

993

387

365

340

8

1005

682

1142

605

1228

763

9

1239

788

331

297

684

430

10

125

114

284

194

173

206

 

 

 

 

 

 

 

3.6.Тест №3 алгоритма решения задачи оптимального размещения реплик

Цель третьего тестирования алгоритма заключается в анализе поведения алгоритма при изменении ограничений на максимальное количество массивов данных и их реплик, которое можно разместить в одном узле сети.

Так как согласно условиям задачи в распределенной системе используется = 6 различных массивов данных, то в каждом узле можно разместить не более 6 массивов данных и/или их реплик.

При работе алгоритма используется ограничение на количество массивов данных и/или их реплик, размещенных в одном k-м узле системы:

≤ ,

1 ≤ ≤

 

 

 

=1

 

 

В ходе тестирования алгоритм решения задачи выполнялся 5 раз. При этом лимит на количество реплик в узлах сети поочередно принимал одно из 5 значений множества {2,3,4,5,6}. Значение лимита было одинаково для всех K узлов сети. Для каждого

82

из 5 значений лимита алгоритм запускался по 12 раз при 12-ти разных значениях ограничений на приоритеты узлов. Множество значений минимального приоритета узлов выбиралось из множества

.

В качестве критерия оптимизации размещения реплик использовался минимум затрат на функционирование распределенной системы и минимум среднего времени ответа системы на запросы.

Таким образом, алгоритм запускался 60 раз при использовании стоимостного критерия оптимизации и столько же раз при поиске распределения, оптимального по критерию минимума среднего времени ответа на запрос.

Анализ результатов работы алгоритма

В результате тестирования было получено 5 оптимальных размещений реплик с соответствующими величинами затрат на эксплуатацию распределенной системы. Эти данные представлены в таблице 3.31.

Таблица 3.31. Результат тестирования алгоритма при разных значениях лимита на количество реплик в узлах сети

Ограничение

Количество

Затраты на

размещенных

на количество

функционирование

массивов

реплик в узле

системы

и реплик

 

 

 

 

 

2

10

383 593 126

3

11

376 123 616

4

12

371 440 105

5

12

371 440 105

6

12

371 440 105

Значение лимита на количество реплик в узле, равное 1, не использовалось, поскольку такое значение лимита фактически уже использовалось при первоначальном размещении оригиналов массивов данных, которое было выполнено при тестировании 1.

83

На рисунке 3.12 показан график зависимости количества размещенных в узлах сети реплик массивов данных от значения ограничения на максимальное количество реплик, которое можно разместить в узлах сети.

15

 

 

 

 

10

 

 

 

 

5

 

 

 

 

0

 

 

 

 

1

2

3

4

5

Ограничение на количество реплик в узле

Количество

размещенных массивов и реплик

Рис. 3.12. Зависимость количества размещенных реплик от ограничения на их максимальное количество

Рисунок 3.13, показанный ниже представляет график зависимости оптимальной величины затрат на функционирование системы от значения ограничения на максимальное количество реплик, которое можно разместить в узлах сети.

84

500000000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

400000000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ограничение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

300000000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на количество

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

реплик в узле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

200000000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Затраты на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100000000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

функциониров

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ание системы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

 

3

 

4

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3.13. Зависимость затрат на функционирование системы от ограничения на максимальное количество размещенных в узлах

реплик

В результате выполнения теста 3 также было получено 5 оптимальных размещений реплик с соответствующими величинами среднего времени ответа системы на запросы к данным. Данные с анализом результатов тестирования представлены в таблице 3.41 и на графике рисунка 3.14.

Таблица 3.41. Результат тестирования алгоритма при разных значениях лимита на количество реплик в узлах сети

Ограничение на

Среднее время

количество

ответа системы

реплик в узле

на запросы

 

 

2

2 784

3

2 178

4

1 944

5

1 943

6

1 773

85

3000

 

 

 

 

2000

 

 

 

Ограничение

 

 

 

 

на

1000

 

 

 

количество

 

 

 

 

реплик в узле

0

 

 

 

 

1

2

3

4

5

Рис. 3.14. Зависимость величины минимального среднего времени ответа на запрос от ограничения на максимальное

количество размещенных в узлах реплик

3.7.Анализ эффективности эвристического алгоритма оптимального адаптивного размещения реплик

Задача определения вычислительной сложности эвристических алгоритмов с приемлемой точностью чрезвычайно сложна. Причина заключается в том, что количество операций, выполняемых эвристическим алгоритмом, сильно варьируется в зависимости от значений входных параметров его работы.

В данном параграфе эвристический алгоритм находил распределение реплик для фрагмента компьютерной сети, имеющего K = 10 узлов в сети, P = 6 прикладных процессов обработки запросов, которые выполняются в этих узлах сети, генерируя при этом запросы к репликам массивов данных. Распределенная система использует M = 6 различных массивов данных, каждый из которых может иметь несколько реплик, размещенных в разных узлах сети.

Если предположить, что в каждом узле сети можно разместить не более 3 реплик массивов, то при заданных параметрах вычислительная сложность задачи (при поиске ее оптимального решения методом полного перебора), т.е. теоретическое общее количество W вариантов размещения реплик, которые необходимо будет рассмотреть при поиске оптимального решения задачи, будет равно:

= ( 61 + 62 + 63) = (6 + 15 + 20) = 41

86

= ( )10 = (41)10 = 13 422 659 310 152 401 ≈ 13 1015

Здесь количество вариантов размещения реплик для любого из K узлов сети.

Это огромное количество – более 13-ти квадриллионов вариантов. Именно поэтому для решения сформулированной задачи используется эвристический алгоритм.

Для оценки эффективности эвристического алгоритма использовался метод динамического анализа. С этой целью в текст программы добавлялись операторы языка программирования, которые производили подсчет числа шагов нескольких основных фрагментов программы - циклов работы алгоритма: первоначальное распределение реплик, распределение дополнительных реплик, миграция реплик и цикл удаления невостребованных реплик.

Алгоритм запускается 12 раз с различными значениями ограничения на минимальное значение приоритета узлов. В результате каждого запуска алгоритма генерируется распределение реплик, которым соответствуют разные значения затрат на функционирование системы. Оптимальным распределением считается то распределение, которому соответствуем минимальное значение этих затрат.

В каждом запуске алгоритма выполнялось по 240 циклов. Соответственно за 12 запусков алгоритма было выполнено 2 880 циклов.

Таким образом, предложенный эвристический алгоритм обладает небольшой вычислительной сложностью.

Краткие выводы

На основе описания эвристического алгоритма адаптивного размещения реплик и по результатам его тестирования можно сделать следующие выводы. Для разных состояний распределенной системы, имеющих значимые отличия в параметрах работы, один и тот же эвристический алгоритм перераспределения реплик массивов данных, работающий в разные моменты времени, может находить разные оптимальные решения с различной величиной среднего

87

времени обработки запросов и с разной величиной затрат на функционирование системы.

Это очевидно объясняется тем, что один и тот же алгоритм выполняется при различных исходных параметрах распределенной системы, которые динамично меняются с течением времени. Разница в значениях исходных параметров приводит к тому, что при разных параметрах в алгоритме будут задействованы разные выходные результаты.

Предложенный в работе эвристический алгоритм обладает высокой производительностью и малой вычислительной сложностью.

В данной главе представлена формальная модель динамичной распределенной системы, использующей массивы данных и их реплики. Динамичность распределенной системы означает, что ряд параметров распределенной системы изменчивы и со временем меняют свои значения. В рамках этой модели сформулирована задача поиска оптимального перераспределения реплик массивов данных с тем, что бы достигалось минимально возможные затраты на функционирование распределенной системы или минимальное среднее время обработки запросов. Учитываются затраты на хранение массивов данных и их реплик, затраты на передачу запросов по каналам связи и затраты на обработку запросов в узлах сети. В силу большой вычислительной сложности сформулированной задачи для ее решения предложен эвристический алгоритм, работа которого проиллюстрирована на примерах. Показана эффективность предложенного алгоритма при решении задачи большой вычислительной сложности.

Данный алгоритм реализован на языке C++ в среде MS Visual Studio 2019.

88

Соседние файлы в папке книги2