ЗАДАЧА ВЫБОРА ЧИСЛА И МЕСТ РАЗМЕЩЕНИЯ ЦЕНТРОВ ХРАНЕНИЯ И ОБРАБОТКИ ИНФОРМАЦИИ В КОМПЬЮТЕРНОЙ СЕТИ
О.В. Есиков,
профессор, доктор технических наук, начальник Управления информационных и аналитических технологий аппарата Администрации Тульской области
Д.В. Изотов,
программист департамента внутренних сервисов ЗАО «Торговый дом «Перекресток», Москва Адрес: г. Москва, ул. Средняя Калитниковская, д. 28 стр. 4 E-mail: [email protected]
В статье сформулирована задача выбора числа и мест размещения центров хранения и обработки информации в компьютерной сети по критерию максимума интенсивности поступления запросов на информационное обслуживание. Проведен анализ характера информационных про-^ цессов в распределённой компьютерной сети. ^
Ключевые слова: центры хранения и обработки информации, компьютерная сеть, моделирование информационных процессов, центр графа.
Задача выбора числа и мест размещения центров хранения и обработки информации (ЦХИ) в компьютерной сети (КС) по критерию максимума интенсивности поступления запросов на информационное обслуживание может быть сформулирована следующим образом: требуется определить минимальное число ЦХИ, обслуживающих информационные запросы от автоматизированных рабочих мест должностных лиц (АРМ
ДЛ), и такое их размещение в узлах сети, чтобы значение времени задержки передачи сообщения для каждого АРМ ДЛ не превышало допустимой величины, а суммарная приведенная интенсивность поступления запросов на узлы КС, в которых будут размещены ЦХИ, была при этом максимально возможной. Эта задача относится к так называемым задачам о размещении, например, центров скорой помощи, складов и т.п.
Известные математические постановки задач о размещении представляют собой частные случаи классических задач теории графов — «задачи о р-медиане» и «задачи о р-центрах» [1-7], а также «задач о назначении» [8,9], для решения которых, как правило, используются алгоритмы, основанные на идеях метода ветвей и границ. Этим задачам посвящён ряд работ таких авторов, как: БХ. Нак1ш1,
Н. ^Иегше1ег, J. БроегИоБе, Н. Кристофидес, В.Л. Береснев, Э.Х. Гимади, В.Т. Дементьев, Е.В. Алексеева, Ю.А. Кочетов, Г.Г. Забудский и другие.
В настоящей статье изложен подход к решению задачи, сформулированной применительно к размещению ЦХИ в компьютерной сети на основе известной в теории графов задачи о р-центрах.
С целью формирования математической модели задачи выбора ЦХИ предварительно с применением теории массового обслуживания рассматривается процесс передачи и обслуживания информационных запросов в сети.
Время задержки сообщений в сети можно определить как отрезок времени между моментом начала ввода информации в исходном АРМ ДЛ и моментом получения последнего знака сообщения в узле адресата.
Стохастичность поступления данных и недетерминированный характер их обработки должны быть учтены в ходе моделирования информационных процессов, протекающих в КС. Предположением, необходимым для возможности использования аналитических моделей массового обслуживания в этом случае, можно принять предположение о том, что длительности передачи сообщения (пакета) по разным каналам передачи данных являются независимыми случайными величинами. Для расчета задержек в коммуникационных сетях широкое рас-
пространение получила модель сети массового обслуживания, предложенная в [10]. Суть ее состоит в следующем. В коммуникационной сети с коммутацией сообщений (или пакетов) имеется Жузлов и Ж каналов связи, каждый из которых интерпретируются как система массового обслуживания М/М/1 (рис. 1). И каналы связи, и узлы абсолютно надежные. Пропускная способность м-го канала связи См , бит/с, м=1,...,Ж.
Узлы выполняют операции по коммутации сообщений, включая их редактирование, выбор маршрутов, буферизацию и т.д. Предполагается, что время обработки в узле постоянно и, более того, пренебрежимо мало. Имеются очереди к каналам связи. При передаче сообщений возникают задержки. В узлы поступает пуассоновский поток запросов, который можно определить как поток между каждой парой узлов КС со средней интенсивностью Ау, г,у—1,..., И, / Ф/ Объемы сообщений независимы и распределены по показательному закону
со средним значением -1 №
Для размещения этих сообщений в узлах сети имеется память неограниченного объема.
Обозначим Лм — среднюю интенсивность потока сообщений по м-му каналу связи, тогда
м=1,...,Ж,
1=1 м
где — матрица маршрутов передачи дан-
ных; 2ц(м^ = 1, если при передаче информации из г-го узла сети в у-й она проходит по м-му каналу передачи данных; 0 — в противном случае.
Время задержки сообщений в м-ом канале связи, в соответствии с моделью М/М/1, определяется по следующей формуле
с
К>
■
■
■
Каналы связи
* - :::о
1— Узлы сети
N
Каналы связи
Узлы сети
1
2
Рис. 1. Сеть массового обслуживания для моделирования информационных процессов в КС.
т =----1---, w = 1,
w иС -Я
w w
В реальности технологий обслуживания может быть очень много. Это бесприоритетное и приоритетное обслуживание одним или несколькими приборами, многофазное обслуживание, обслуживание в режиме разделения времени и т.д. Так, например, в [10] показана возможность приближенного расчета задержек в коммуникационных сетях с непоказательными длинами пакетов. Канал связи в этом случае моделируется системой M/G/1. Под сообщениями понимаются не только запросы пользователей на получение выходных документов, но и заявки на пересылку файлов или ввод в базу данных информации из входных документов, а также некоторые технологические заявки по управлению вычислительным процессом или контролю над ним.
Для более адекватного отображения функционирования КС и снятия ограничения с учётом введенных выше предположений предлагается использование имитационной модели [11].
Для формализации задачи выбора числа и мест размещения ЦХИ компьютерную сеть представим в виде неориентированного графа G=(X, Г), вершины х., i = 1,..., N, которого соответствуют узлам сети, а дуги gw, w = 1,..., W — каналам связи. Тогда «длины» дуг графа G - Tw — образуют матрицу времен задержки передачи сообщения между соответствующими узлами сети (далее для удобства — «время передачи»). Веса q. , соответствующие вершинам графа, определяют суммарный объем запросов на соответствующие этим вершинам узлы КС.
Для любой вершины х. графа G =(X, Г) пусть R°(х.) есть множество тех вершин х. графа G, которые достижимы из вершины х. с помощью путей с взвешенными «длинами» qT(x., х), не превосходящими величины Tmax, где T(x, х) — «длина» кратчайшего пути от вершины х до вершины х.
Через R ‘(х) обозначим множество тех вершин графа G, из которых вершина х. может быть достигнута с использованием путей, имеющих взвешенные длины qT(х, х) > T .
J J ‘ тах
Таким образом,
R0(х) ={х | qT^ х) х е X и R‘(х) ={х.| q.Tlx., х) <Ттах, хе X}. (1)
Для каждой вершины х , соответственно из множеств R °(х.) и R ‘(х), определим следующие два числа:
5о(х.) = шахЦЦх.,х)] и
д/х) = тахЦТ(х, х)]. (2)
Числа so(x) и s|(x) называются соответственно числом внешнего разделения и числом внутреннего разделения вершины х.
Если Т0 — наименьшая «длина» Т , такая, что для вершины х
R0(x) = х,
(т.е. все вершины графа G достижимы из х. с использованием путей, взвешенные «длины» которых не превосходят Т0, причем Т0 — наименьшее из таких чисел), то из соотношений (1) и (2) следует равенство
5 (х) = Т„.
0 . 0
Аналогично, если Т{ — такая наименьшая длина Т, что
R 1(х) = X, то
5(х) = Т .
Вершина хо, для которой
5о(хо*) = тт[$о(х)],
(т.е. вершина, соответствующая минимальному из всех чисел 5о(х.) , ранее определённых по указанному выше правилу) называется внешним центром графа G.
Аналогично вершина х1 , для которой ї,(х,*) = тіп[ї(х)]
называется внутренним центром графа О.
Понятие центра графа допускает следующее обобщение: можно рассматривать не отдельную точку (центр), а множество из р точек, которые образуют кратный центр (р-центр).
Пусть Хр — подмножество (содержащее р вершин) множества Хвершин графа G = (X, Г). Через Т(Хр, х) будем обозначать наикратчайшее из расстояний между вершинами множества Хр и вершиной х, т.е.
Т(Хр, х)= тт [ Т(х., х)], х. є Хр , х. є X;
Аналогично
Т(х,, Хр)= тт [ Т(х,, х.)] , х. є Хр , х.є X.
Подобно тому, как определялись числа разделения вершин, можно определить числа разделения для множества вершин:
so(Xp)= тах [q.T(Xp, х.)] и s(Xp)= тах [q.T(xf Xp)], где
so(Xp) и st(Xp) — числа внешнего и внутреннего разделения множества Xp.
Множество Xp*, для которого
s(X *)= тт ИХ-)],
o po o p
называется ^-кратным внешним центром графа G; аналогично определяется ^-кратный внутренний центр Х' [1].
Следует отметить, что числа внутреннего и внешнего разделения множества Xp рассматриваются при условии достижимости любой вершины графа из множества Xp, что вполне возможно в случае решения задачи для неориентированного графа, соответствующего распределенной компьютерной сети с допустимой передачей данных по каналам связи во всех направлениях.
Очевидно, что внешний и внутренний центры неориентированного графа совпадают, так как в этом случае числа разделения so(Xp) и s‘(Xp) равны между собой для любого множества X.
Таким образом, исходя из вышеизложенного, задача выбора числа ЦХИ и их размещения в узлах сети будет состоять в нахождении р-центров соответствующего графа G для различных значений р до тех пор, пока число разделения р-центра не станет меньше или равно заданной величине. Полученное (последнее) значение числа р будет наименьшим числом ЦХИ, а р-центр — их оптимальным размещением, удовлетворяющим предъявляемым требованиям.
Исходя из выше изложенного, общая задача определения р-центра применительно к выбору ЦХИ в распределенной компьютерной сети может быть сформулирована следующим образом [12].
Для заданного «критического» расстояния найти такое наименьшее число центров и такое их размещение, чтобы все вершины графа лежали в пределах этого критического расстояния (по крайней мере, каждая вершина — от ближайшего к ней центра).
Очевидно, что центры графа легко могут быть получены из матрицы весов дуг графа. Однако находить полным перебором p-центр можно лишь для небольших графов и для небольших значений величины р. При таком подходе надо построить всевозможные множества вершин ХТсХ, содержащие p вершин, а затем непосредственно найти множества Xpo* и Xp*. Этот процесс потребует выполнить
pх (N-p)x
N
p
сравнений, что даже при небольших значениях N и р неприемлемо много.
Для нахождения р-центра существует ряд эвристических методов, например, метод Сингера [1]. Они имеют низкую эффективность по быстродействию.
Для уменьшения числа переборов предлагается метод, основанный на сведении задачи о р-центрах к задаче о покрытии. Идея такого метода состоит в следующем.
На предварительном этапе матрица весов дуг преобразуется в матрицу |^ || , элементами которой являются кратчайшие пути между всеми парами вершин графа G. Затем, исходя из полученной матрицы |^ || , составляется бинарная матрица (матрица покрытий) ||яу ||, каждый элемент которой равен 1, если г-я вершина достижима из у-й вершины в пределах критического расстояния, т. е. если dJi < ,
и 0 — в противном случае. На заключительном этапе решается задача о покрытии, исходными данными для которой будут являться матрица покрытий 1^1 и веса д., приписанные вершинам графа G, а результатом — искомый р-центр.
Рассмотрим математическую формулировку задачи о покрытии, применительно к которой можно выбрать достаточной эффективный метод решения.
Используя матрицу кратчайших путей В = Ц^. ||, перейдем к матрице покрытий A=|а.||, которая составляется по следующим правилам:
д..=
ч
1, если dtJ <
О, в противном случае.
Задача о нахождении р-центра на графе, удовлетворяющего заданным условиям, сводится к нахождению такого наименьшего множества Х*, чтобы из каждой вершины графа была достижима в пределах заданного расстояния Ттах хотя бы одна вершина, входящая в множесво Х*, т.е. чтобы
X alJ> 1, j=1,..,N.
і ^
Сумма X ^ должна быть при этом максимально
і sX*
возможной (для обеспечения минимума передаваемой в сети информации).
Таблица 1.
№ уз-ла 1 2 3 4 5 6 7 8 9 10 11 12 13 14 q
1 0 5 2 6 12 11 4 14 17 21 2 2 3 2 4 2 0 2 19 6 3
2 5 2 0 7 10 12 6 10 10 11 14 15 16 17 11 18
3 6 7 0 7 5 5 9 5 5 7 8 9 10 12 5
4 12 10 7 0 4 3 2 4 3 4 8 7 6 5 6
5 11 12 5 4 0 5 6 7 7 8 9 9 8 7 6
6 4 6 5 3 5 0 3 4 7 8 9 12 18 13 6
7 14 10 9 2 6 3 0 8 8 9 10 10 9 8 9
8 17 10 5 4 7 4 8 0 4 5 7 9 9 8 10
9 21 11 5 3 7 7 8 4 0 7 8 9 7 6 12
10 2 2 14 7 4 8 8 9 5 7 0 6 11 12 9 12
11 3 2 15 8 8 9 9 10 7 8 6 0 17 12 13 12
12 4 2 16 9 7 9 12 10 9 9 11 17 0 11 10 12
13 0 2 17 10 6 8 18 9 9 7 12 12 11 0 12 6
14 19 11 12 5 7 13 8 8 6 9 13 10 12 0 9
Эта задача может быть сформулирована в виде задачи целочисленного линейного программирования с булевыми переменными следующим образом.
Требуется максимизировать целевую функцию N
0= I чл (3)
1=1
при ограничениях
Ъах > 1, ]=1,..., N , (4)
1=1
х = [0;1},1=1,...^ , (5)
д1 > 0;
1, если 4 < Ттах
О, в противном случае.
Задача (3) — (5) относится к широкому классу задач, которые носят название задач о покрытии. Она является задачей целочисленного программирования с булевыми переменными и, следовательно, может быть решена общими методами целочисленного программирования [13].
Из теории алгоритмов известно, что задача о покрытии относится к классу универсальных переборных задач, или NP-полных задач [14]. Для её решения до сих пор неизвестны, а возможно — и не существуют, полиномиальные алгоритмы. Для всех известных алгоритмов решения универсальных переборных задач время счета растет экспоненциально с ростом размерности задачи. Однако характер
экспоненциальной зависимости существенно зависит от особенностей каждого алгоритма.
В [12] предлагается метод ветвей и границ. Специфические особенности задачи (3) — (5) позволяют значительно упростить процедуру вычисления нижней границы решения на основе использования двойственной задачи [15].
Рассмотрим решение задачи по критерию максимума интенсивности поступления запросов на узлы сети. С помощью имитационного моделирования получены следующие исходные данные, которые приведены в табл. 1, где содержатся времена задержек (в секундах) информации при ее передаче из одного узла сети в другой. Значения q представляют собой «веса» узлов сети.
В табл. 2 приведены результаты решения данной задачи, где для различных значений заданного времени задержки сообщения в сети указаны номера узлов сети, в которых размещаются ЦХИ (^-центр графа).
Таблица 2.
Полученные данные позволяют определить оптимальную, с точки зрения выбранного критерия, конфигурацию сети для заданного времени задержки
передачи сообщения, либо для заданного количества ЦХИ и их размещения в сети определить, какая будет при этом максимальная задержка сообщения. ■
Литература
1. Кристофидес Н. Теория графов. Алгоритмический подход. — М: Мир, 1978. — 432 с.
2. Алексеева Е.В., Орлов А.В. Генетический алгоритм для конкурентной задачи о р-медиане // Труды 14 Байкальской международной школы-семинара «Методы оптимизации и их приложения». Том 1. — Се-веробайкальск: 2008. - с. 570-585.
3. Забудский Г.Г., Филимонов Д.В. Решение дискретной минимаксной задачи размещения на сети // Известите вузов. Математика, № 5 — Омск: 2004. - с. 33-36.
4. Кочетов Ю.А., Кононов А.В., Плясунов А.В. Конкурентные модели размещения производства // Журнал вычислительной математики и математической физики. Т. 49, № 6. - 2009. - с. 1-17.
5. Hakimi S.L. On locating new facilities in a competitive environment. European J. Oper. Res. 1983. V. 12, P. 29-35.
6. Noltermeier H., Spoerhose J., Wirth H.C. Muliple voting location and single voting location on trees. European J. Oper. Res. 2007. V. 181. P. 65-667.
7. Spoerhose J., Wirth H.C. (r,p)-Centroid problems on paths and trees. Tech. Report 441, Inst. Comp. Science, University of Wurzburg, 2008.
8. Береснев В.Л. , Гимади Э.Х., Дементьев В.Т. Экстремальные задачи стандартизации. - Новосибирск: Наука, 1978. - 335с.
9. Гимади Э.Х. Обоснование априорных оценок качества приближенного решения задачи стандартизации // Управляемые системы. - Новосибирск, 1987. - Вып. 27. — с. 12-27.
10. Клейнрок Л. Вычислительные системы с очередями: Пер. с англ. - М.: Мир, 1979.- 600 с.
11. Акиншин Н.С., Подчуфаров Ю.Б., Изотов В.Н., Комогорцев П.В. Имитационная модель для решения задачи синтеза физической структуры АСУ нового поколения. //Оборонная техника. 1997. № 3-4. - С. 99-103.
12. Изотов Д.В. Оптимальное размещение центров хранения и обработки информации по критерию максимума интенсивности запросов / Е.В. Ларкин, Д.В. Изотов // Журнал «Прикладная информатика», № 3 (33). — М: Изд-во ООО «Маркет ДС Корпорейшн». — 2011. — с. 37 - 42.
13. Финкелыптейн Ю.Ю., Корбут А.А. Дискретное программирование. - М.: Наука, 1969. - 368 с.
14. Современное состояние теории исследования операций / Под ред. Н. Н. Моисеева. - М: Наука, 1979. — 303 с.
15.Алексеев О. Г., Григорьев В. Ф. Некоторые алгоритмы решения задачи о покрытии и их экспериментальная проверка на ЭВМ // ЖВМ и МФ. - 1984. - Т.24, №10. - с. 1565-1570.