Научная статья на тему 'Оптимальное размещение центров хранения и обработки информации по критерию максимума интенсивности запросов'

Оптимальное размещение центров хранения и обработки информации по критерию максимума интенсивности запросов Текст научной статьи по специальности «Математика»

CC BY
85
25
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Прикладная информатика
ВАК
RSCI
Область наук
Ключевые слова
ЦЕНТРЫ ХРАНЕНИЯ И ОБРАБОТКИ ИНФОРМАЦИИ / CENTERS OF DATA STORAGE AND INFORMATION PROCESSING / КОМПЬЮТЕРНАЯ СЕТЬ / COMPUTER NETWORK / МОДЕЛИРОВАНИЕ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ / MODELING OF INFORMATION PROCESSES

Аннотация научной статьи по математике, автор научной работы — Ларкин Е.В., Изотов Д.В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Allocating data storage and information processing centers to obtain maximum query flows

A method of data storage and information processing centers on the computer network optimal allocation that maximizes requests for information service flow density is described. Numerical experimental data demonstrating the method efficiency are presented.

Текст научной работы на тему «Оптимальное размещение центров хранения и обработки информации по критерию максимума интенсивности запросов»

№ 3(33) 2011

Е.В.Ларкин,докт. техн. наук, профессор Тульского государственного университета Д. В. Изотов, программист Тульского государственного университета

Оптимальное размещение центров хранения и обработки информации по критерию максимума интенсивности запросов

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

Введение

Широкое распространение распределенных компьютерных сетей в настоящее время обусловлено ростом объемов хранимой информации, увеличением интенсивности информационного обмена, повышенными требованиями к оперативности и надежности обработки данных, а также масштабами современных территориально распределенных информационных систем. Главными требованиями к вычислительной инфраструктуре информационной системы становится надежность, производительность и адаптируемость к меняющимся задачам. Перечисленным требованиям в наибольшей степени удовлетворяют высокопроизводительные центры хранения и обработки информации (ЦХИ), обеспечивающие непрерывную работу информационных систем, к тому же имеющие относительно невысокую стоимость хранения информации.

Для оптимизации ЦХИ в компьютерной сети (КС) был выбран критерий максимума интенсивности поступления запросов на информационное обслуживание. Этот выбор логически оправдан ввиду того, что именно в узлах с наибольшей интенсивностью поступающих запросов на информационное обслуживание целесообразно размещать ЦХИ, при этом требования по оперативно-

сти и надежности можно задать в ограничениях. Задачу оптимизации размещения ЦХИ можно рассматривать как задачу о р-цен-трах [1].

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

Общая задача определения р-центров может быть сформулирована следующим образом [1]: для заданного критического расстояния найти такое наименьшее число центров и такое их размещение, чтобы все вершины графа лежали в пределах этого критического расстояния (по крайней мере, каждая вершина — от ближайшего к ней центра).

Очевидно, что центры графа могут легко быть получены из матрицы весов дуг графа. Однако находить этим же способом (полным перебором) р-центр можно лишь для небольших графов и небольших значений величины р. Для нахождения р-центров существует ряд эвристических методов, например метод Сингера [1]. Они имеют низкую эффективность по быстродействию. Для уменьшения числа переборов предлагается метод, основанный на сведении задачи о р-центрах к задаче о покрытии. Идея метода состоит в следующем.

На предварительном этапе матрица весов дуг преобразуется в матрицу С = |ШI,

№ 3(33) 2011

элементами которой являются кратчайшие пути между всеми парами вершин графа в. Затем, исходя из полученной матрицы О = , составляется бинарная матрица (матрица покрытий) А = ЩЦ, каждый элемент которой равен 1, если /'-я вершина достижима из/-й вершины в пределах критического расстояния, т. е. если а^ < Ттах, и 0 — в противном случае. На заключительном этапе решается задача о покрытии, исходные данные для которой — матрица покрытий/4 и веса q¡, приписанные вершинам графа й, а результат — искомый р-центр.

Рассмотрим подробно каждый этап.

Нахождение кратчайших путей

Для графа в = (X,А), дугам которого приписаны веса, задаваемые матрицей С = Цс^|, задача о кратчайшем пути состоит в нахождении кратчайшего пути от заданной начальной вершины э е X до заданной конечной вершины Г е X, при условии, что такой путь существует, т.е. при условии Г е Я(э), где Я(э) — множество, достижимое из вершины э.

Наиболее простым и эффективным алгоритмом решения этой задачи для случая неотрицательной матрицы весов (когда все Сц > 0) является алгоритм Дейкстры, описанный в [1].

Очевидно, что для нахождения кратчайших путей между всеми парами вершин графа необходимо ^-кратное (где N — число вершин графа) применение алгоритма Дейкстры, причем каждый раз в качестве начальной вершины э берутся различные вершины. В случае полного графа с неотрицательной матрицей весов С время, необходимое для вычислений, пропорционально Ы3, поэтому если задача о кратчайшем пути имеет бо'льшую размерность, то ее невозможно решить с помощью последовательного применения алгоритма Дейкстры.

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

который применим как к неотрицательным, так и к произвольным матрицам весов. Его использование экономит почти 50% времени по сравнению с N-кратным применением алгоритма Дейкстры. Метод был предложен первоначально Флойдом и развит Мерчлэн-дом. Он базируется на использовании последовательности из ^-преобразований (итераций) начальной матрицы весов С. При этом на к-й итерации матрица представляет длины кратчайших путей между каждой парой вершин с тем ограничением, что путь между xj и ху (для любых xj и ху) содержит в качестве промежуточных только вершины из множества {х1,х2,...,хк}.

Предположим, что в начальной матрице весов Сц = 0 для всех / = 1,2,...,N и с^ =<*>, если в графе отсутствует дуга (х(,х]).

Присвоение начальных значений:

Шаг1. Положить к = 0.

Итерация:

Шаг 2. к = к +1.

Шаг 3. Для всех / ф к таких, что cjk ф ^ и для всех у ф к таких, что ckj ф ™ , введем операцию

cü= min + s)] ■

Проверка на окончание:

Шаг 4 (а). Если к = N, то получено решение. Матрица Цс^Ц дает длины всех кратчайших путей. Останов.

(б). Если к < N,to вернуться к шагу 2.

После ввода дополнительно величин qn обратных значениям весов q, соответствующих вершин этого графа, решим задачу о покрытии.

Задачи о покрытии

Используя матрицу кратчайших путей D = Ца^Ц, перейдем к матрице покрытий

А = Ца^Ц, которая составляется по следующим правилам:

а П. ™ёё ^max ' [О, ä TöTöeäfTi näö+ää.

№ 3(33) 2011

Задача о нахождении р-центра на графе, удовлетворяющего заданным условиям, сводится к нахождению такого наименьшего множества X*, чтобы из каждой вершины графа была достижима в пределах заданного расстояния Гтах хотя бы одна вершина, входящая в множество X*, т.е. чтобы ^ аг > 1, у = 1,..., N .Сумма ^ qi должна

/ёх" /ёх"

быть при этом максимально возможной (для обеспечения минимума передаваемой в сети информации). Данная задача может быть сформулирована в виде задачи целочисленного линейного программирования с булевыми переменными следующим образом.

Требуется минимизировать целевую функцию

N

О = 1 Я, X,, (1)

/=1

при ограничениях

жа, но эти методы являются достаточно трудоемкими. Специфические особенности задачи (1)-(3) позволяют использовать для оценки нижней границы решения двойственную задачу [2]. По отношению к основной задаче двойственная задача имеет следующий вид.

Найти

7 = тах ^ V

/=1

при ограничениях

Xя1 / = 1,... N.

/=1

(5)

(6)

- < 0, / = 1,... N. \ = 1,... N. (7)

где V, \AWjj — переменные двойственной задачи.

0

§

со

1

£а1]х1 > 1, у = 1,... N,

х = {0; 1},/ = 1,... N,

(2)

(3)

где

q'i = 1/ qi, qi > 0, —значения весов соответствующих вершин графа

а _ [1. бСЛИ Тта,

" [о, в противном случае

бц— кратчайшие пути между соответствующими вершинами графа.

Задача (1)-(3) относится к классу задач целочисленного программирования с булевыми переменными и может быть решена общими методами целочисленного программирования. Большую группу таких методов составляют алгоритмы неявного перебора, основанные на идеях метода ветвей и границ. Заменим условие целочисленности условием

О < х, < 1,... N.

(4)

что позволит использовать для вычисления нижней границы решения симплексный метод или метод множителей Лагран-

Из теории двойственности известно, что оптимальные решения основной и двойственной задачи совпадают, т.е. О = Следовательно, приближенное решение двойственной задачи может быть использовано для оценки нижней границы при применении метода ветвей и границ. Время решения с помощью приближенного алгоритма значительно меньше, чем при точном решении с помощью симплекс-метода. Использование двойственной задачи, таким образом, позволяет значительно упростить оценку нижней границы без существенного уменьшения ее точности.

Введем следующие обозначения: Эк — множество индексов переменных, включенных в исследуемую ветвь дерева вариантов, — множество индексов переменных, не включенных во множество Эк, Ы3 — множество индексов элементов, которые не покрыты. При построении дерева вариантов используется фронтальная схема ветвления. Нижняя граница решения для ветви дерева возможных вариантов вычисляется с помощью выражения:

а = 01 + Ос,

(8)

39

№ 3(33) 2011

где

= 1 Я,

/ Е&.

= т'П X Я/ Х1 >

при ограничениях (6), (7) для /',у е .

Рассмотрим алгоритм приближенного решения задачи (5)-(7) для / е , у е . Определим

а, =

= X V е ^

и упорядочим элементы так, что

а, < а 0 < < а < < а г < N

// - У 2 — ■ ■ ■ — "ур — ■ ■ 1 — "уг > 1 ~ ' "'

Тогда для нахождения приближенного решения задачи может быть использовано следующее выражение:

^ = х

где

р-1

/=0

\р е ^ ={ур|р = 1.....|^I}. - о, Ул

= 0.

Так как величина Z¡. < 05., то для оценки нижней границы вместо (8) может быть использовано выражение:

а = + ,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Экспериментальная проверка алгоритмов

Первая серия вычислительных экспериментов была проведена с целью оценки временной сложности алгоритма Флойда для нахождения кратчайших путей между всеми парами вершин графа. Анализируя данный алгоритм, нетрудно установить, что затраты времени на решение с его помощью указанной задачи будут существенно зависеть лишь от размерности исходного графа. В проведенных экспериментах исходные матрицы весов С = ||с9|| различной размерности п формировались с помощью программного датчика псевдослучайных чисел, равномерно распределенных в интервале (0,10). В таблице 1 приведено среднее время Гср решения задач в секундах.

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

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

В проведенных экспериментах матрицы покрытия А = ЩЦ различной размерности п и плотности единиц

Полученный в результате решения задачи (1)-(3) оптимальный план покрытия соответствует оптимальному для заданных условий плану размещения ЦХИ в узлах рассматриваемой сети.

* = хх

II

/=1 У=1

п X п

А™ = 2/п

формировались с помощью программного датчика псевдослучайных чисел, равномер-

Таблица 1

Время решения задачи о кратчайших путях

п 20 30 40 50 60 70 80 90 100

'ср <0,01 0,05 0,16 0,27 0,44 0,71 1,09 1,59 2,20

40

№ 3(33) 2011

Таблица 2

Время решения задачи о покрытии

й

п 0,2 0,4 0,6 0,8

^тах ^тах ^тах ^тах

20 0,05 0,01 <0,01 <0,01 <0,01 <0,01 <0,01 <0,01

30 0,11 0,07 0,11 0,07 0,11 0,05 0,06 0,02

40 0,77 0,31 0,33 0,24 0,33 0,20 0,11 0,08

50 1,92 0,86 1,26 0,68 0,82 0,59 0,22 0,19

60 5,65 2,05 4,95 1,84 2,64 1,18 0,55 0,41

70 9,01 4,42 9,44 3,67 3,52 1,89 0,87 0,74

80 29,38 13,89 8,46 6,27 5,82 3,51 1,37 1,20

90 54,60 30,14 32,57 12,62 9,50 4,99 1,97 1,79

100 108,76 42,88 56,61 22,32 13,57 8,56 3,46 2,67

но распределенных в интервале (0,1). Величины д(были получены как произведение числа единиц в строке /' на случайное число, полученное от того же датчика. Результаты проведенных экспериментов представлены в табл. 2, где Гтах — максимальное, а Гср — среднее время решения задач в секундах.

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

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

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

Следует отметить, что затраты времени на осуществление перехода от матрицы кратчайших путей к матрице покрытий крайне незначительны и даже для матриц размерностью 100 х 100 не превышают нескольких сотых долей секунды.

Исходя из приведенных выше результатов предыдущих экспериментов, можно сделать вывод, что время решения задач о р-центрах будет зависеть не только от размерности исходного графа, но и от характера исходных данных, определяющих плотность единиц ^ получаемой в ходе решения матрицы покрытий. Нетрудно установить, что величина Л будет зависеть от степени связности исходного графа, а также от величины критического расстояния X (т. е. от величины предельно допустимого значения среднего времени задержки сообщения).

Для построения графика зависимости времени решения задачи о покрытии от размерности и плотности заполнения матрицы исходных данных был проведен дополнительный эксперимент для значения Л = 0,2 (табл. 3). Зависимость приведена на рис. 1.

Анализ полученных результатов показывает, что время решения задач растет не только при увеличении размерности исходного графа, но и при уменьшении степе-

№ 3(33) 2011

Таблица 3

Размерность Среднее время решения задачи (с)

й = 0,2 й = 0,4 й = 0,6 й = 0,8

20x20 0,05 0,05 0,04 0,02

40x40 1,12 0,88 0,64 0,27

60x60 6,20 4,80 2,89 1,30

80x80 48,36 16,31 11,89 3,78

100x100 188,20 85,92 26,04 9,94

ни его связности, а также при уменьшении величины «критического» расстояния. Это объясняется тем, что уменьшение количества дуг, соединяющих вершины графа, вызывает удлинение кратчайших путей, что, в свою очередь, приводит к уменьшению плотности единиц Л получаемой матрицы покрытий, а следовательно, к увеличению времени решения задач. Очевидно, что к уменьшению величины Л приводит и уменьшение величины критического расстояния.

Заключение

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

Существенное снижение вычислительной сложности алгоритмов и повышение их быстродействия достигается за счет:

• применения метода, заключающегося в последовательном решении задачи о крат-

чайших путях между всеми парами вершин графа, изображающего рассматриваемую компьютерную сеть, и затем — задачи о покрытии, к которой может быть сведена задача о нахождении р-центра на данном графе;

• использования эффективного итерационного алгоритма для нахождения кратчайших путей между всеми парами вершин графа, который базируется на последовательном п-кратном преобразовании начальной матрицы весов дуг графа;

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

Описок литературы

1. Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир, 1978.

2. Алексеев О. Г. Комплексное применение методов дискретной оптимизации. М.: Наука, 1987. — 248 с.

= 0,2

и

_ = 0,4

и

= 0,6

11

= 0,8

И

Рис. 1. Эмпирическая зависимость времени решения задачи о покрытии от размерности и плотности заполнения матрицы исходных данных

42

i Надоели баннеры? Вы всегда можете отключить рекламу.