Л.А. Бахвалов, Со Мин Тун, 2010
Л.А. Бахвалов, Со Мин Тун
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ТРАФИКА В КЛИЕНТ-СЕРВЕРНОЙ СЕТИ
Клиент — серверная архитектура - неотъемлемая часть современных информационных технологий. Она создала новые возможности для разработчиков аппаратных и программных средств. За основу технологии был положен принцип распределения — один из основных двигателей прогресса в информационной индустрии. Полное отделение реализации исполняемых функций от интерфейса для доступа к ним дало мощный толчок в инновационной деятельности разработчиков программного обеспечения. Однако, стремительное внедрение клиент — серверной архитектуры в различные отрасли человеческой деятельности породило ряд проблем, связанных как правило с перегрузкой серверов и, как следствие, выхода их из режима нормального функционирования. Для клиент — серверной технологии именно ситуации перегрузки серверов являются наиболее опасными, так как в этом случае не могут работать нормально и все клиенты.
Ключевые слова: серверная сеть; моделирование; трафик; оптимизация; критерий; математическое ожидание; дисперсия; очередь.
1. Постановки задачи
^^митационное моделирование, как известно, является од--Ж-Я. ним из наиболее часто используемых способов анализа поведения и оптимизации свойств клиент-серверной сети [1].Существенное место в таком моделировании занимает процедура генерации потоков заявок на обслуживание, обладающих заданными вероятностными характеристиками, адекватно отражающих реальные процессы, имеющие место в различных точках функционирующей сети. Чаще вcего полагают, что эти потоки относятся к категории Пуассоновских потоков. Тогда, в частности, функция плотности распределения вероятностей выражается формулой
f (t) = Aexp\-Xt ], где Л- параметр интенсивность потока. При этом другим предположением является предположение о стационарности потока, когда Л - const [2]. Однако на практике данное предположение нереалистично, а если и выполняется, то только на интервалах незначительной длины. Кроме того, считается, что соседние значения интервалов статистически независимы, что также во многих случаях не выполняется.
2. Формализованное описание задачи оптимизация режима функционирования клиент-серверной сети
Большинство параметров системы носят вероятностный характер, поэтому рассматриваемая задача разбивается на 2 этапа: имитационное моделирование и анализ ситуации на основе полученных данных.
Элементы модели можно разделить на несколько типов:
• Приборы обслуживания: канал связи, серверная станция, серверная программа.
• Потоки данных, носящих вероятностный характер: время прихода входных заявок, размер входных заявок, размер выходных заявок, время обработки.
Обратим внимание, что все серверные станции подключены через один канал связи, программа-сервер может быть установлена только на одной станции, а параметры потоков определены только в рамках серверной программы. Исходя из этого, можно построить иерархическую организацию данных, описав все элементы исследуемой системы следующим образом:
1. Канал связи описывается вектором C = (Speed, sb...sM), где M - количество серверных станций, подключенных к выделенному каналу связи, Speed - пропускная способность канала, выраженная в Mb/s, а s1,.sM - идентификаторы объектов, описывающих параметры серверных станций.
2. Серверная станция описывается вектором SS = (Power, ц1 ,..., |iN), где Power - мощность серверной станции, необходимая для перехода от удельного времени обработки к реальному, N - количество серверных программ на данной серверной станции, а ц1 ,., |iN - идентификаторы объектов, описывающих параметры серверных программ.
3. Серверная программа описывается вектором SP[s1, s2, s3 , 84], где si - случайная величина, распределенная по определенному закону (задается гистограммой) для i=1..4.
4. Заявка описывается вектором TP = [I1..IK..], где K - номер атрибута заявки (транзакта), определенного в разделе «Объекты исследуемой системы».
В результате моделирования получаются следующие случайные распределения в результате сбора статистики:
• Дискретная функция распределения количества обрабатываемых заявок каналом связи. Эта функция показывает вероятность нахождения в канале связи количества заявок т(х);
• Дискретные функции распределения количества заявок в очереди к серверам. Функция показывает вероятность нахождения в очередях к серверам определенного количества заявок % ¡(у), i=1..N.
Для оптимизации работы сети и канала связи необходимо (как было сказано в кратком описании процесса решения задачи) изменить входные параметры системы и повторить процесс моделирования, пока не будет достигнут критерий оптимальности.
Для того, чтобы определить критерий оптимальности, введем функции зависимости прибыли, получаемой при использовании серверной программы i-го типа, от математического ожидания и дисперсии случайной величины &(у), показывающей распределение длины очереди к серверу, на котором установлена серверная программа i-го типа F^i (цх , o%i). Разумеется, что значения цхъ oXi для нескольких программ на одном сервере будут одинаковыми.
Жесткое разделение по типу сервера необходимо, так как каждый тип сервера имеет разный фактор значимости на прибыль, а значит и функция F^i (цх , o%i) имеет разный вид для всех i=1..N.
Исходя из вышесказанного можно вывести общий вид целевой
M
функции суммарной прибыли F = ^ Fnpi ^ max .
i=1
Чтобы найти функцию зависимости F^i (ц^ , o%i) для i-го сервера, воспользуемся определенной заранее статистикой для всех i, выраженной в виде таблицы 3 х N, где N - количество точек. Статистика берется для каждого из серверов по отдельности, заранее измеренная в виде:
°Xi
F^i (цр , ох0
Для нахождения аналитической функции F^i (цх , o%i) в общем виде воспользуемся методом наименьших квадратов для функции от N-переменных.
Для этого необходимо составить эмпирическую функцию в виде полинома n-й степени (n выбирается в зависимости от вида распределения точек), используя основной критерий МНК [5]
FnPi (^xi , ö%1) + • • •+anM'xi + ^n+l^xi + • • *+a2n^%i •
Уравнение аппроксимирующей поверхности в общем виде Fonpi.
Далее, как уже было сказано, определяем абсолютный максимум целевой функции одним из методов оптимизации [3].
Необходимо заметить, что эти точки не являются обязательно точками абсолютного максимума, так как функция может бесконечно возрастать на части области своего определения, поэтому необходимо рассмотреть еще дополнительные ограничения. Для этого введем ограничения на максимальное и минимальное среднее количество заявок в очереди (математическое ожидание - Max цх , Min цх) и максимальный и минимальный разброс случайной величины заявок в очереди (дисперсию - Max ox , Min Gx).
Подставим в целевую функцию Max ox , Min ox , Max цх , Min цх . Если:
F(xm£J<F(Max^x,Minax) , тогда F(xmax) = F(Max^x,Minax) F(xmax) <F(MWX-,MaxJx), тогда F(x,^) = F(Minjux,Maxox) F(xmax) < F(MaUrMaxJx), тогда F(x^*) = F(MaxUx,Maxax)
F(xmax) < Min^x), тогда F(xmax) = F(MinU^Min°x)
В результате, найдя F(xmax ) , получим Extr(^xi) и Extr(oXi) для
всех i, определяющие абсолютный максимум функции с заданными ограничениями.
Чтобы получить максимальную прибыль, нужно варьировать входными параметрами (Speed, Power1 — PowerM) таким образом, чтобы получить значения, наиболее близкие к Extr(^xi), Extr(oXi) для всех i.
3. Пример получения и обработки результатов моделирования. Имеется 2 серверные станции, подключенные через цифровой канал связи со скоростью пропускания 256 КБит/с.
На 1-й станции мощность равна 50. На ней установлены 2 сервера:
1. HTTP Server. Для него характерны функции, которые распределены следующим образом: Интервал времени между поступлениями заявок - нормальный (M=5 мс, D=2 мс), Размер входной заявки - равномерный (M=1 Кбит, D=0.1 Кбит), Размер выходной
заявки экспоненциальный (M=16 Кбит), Время обработки сервером нормальный (M=5 мс, D=1 мс).
2. FTP Server. Для него характерны функции, которые распределены по нормальному закону: Интервал времени между поступлениями заявок (M=5 мс, D=2 мс), Размер входной заявки (M=1 Кбит, D=0.1 Кбит), Размер выходной заявки (M=16 Кбит, D=8 Кбит), Время обработки сервером (M=5 мс, D=1 мс).
На 2-й серверной станции мощность 75. На ней установлен 1 сервер :
1. DNS Server. Для него характерны функции, которые распределены нормально: Интервал времени между поступлениями заявок (M=1 мс, D=1 мс), Размер входной заявки (M=0.1 Кбит, D=0.01 Кбит), Размер выходной заявки (M=0.1 Кбит, D=0.01 Кбит), Время обработки сервером (M=0.1 мс, D=0.01 мс).
Гистограммы для HTTP Server имеют вид (см. рис.1-4).
При работе серверных станций собиралась статистика: зависимость убытков от математического ожидания и дисперсии случайной величины, характеризующей распределение количества пользователей в очереди перед серверной станцией определенного типа. Убытки выражаются в условных денежных единицах.
Для построения аналитической функции воспользуемся МНК.
В результате вычислений по формулам, представленным в математической модели, получим:
Ги стограмм а распределения
2
3
4
7
S
10 МС
0,7 0,75 0,3 0,35 0,9 0,95 1 1.05 1,1 1,15 1,2 1.25 МС
Рис. 2. Распределение входного размера заявок
Гистограмма распределения
0,3- . _і_
0,6- ■у
0,4-
0,2- -Г
0-
.....—^———
0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5 МС
Рис. 3. Распределение выходного размера заявок
Гистограмма распределения
Рис. 4. Распределение времени обработки сервером заявки Статистика убытков для каждого типа сервера
9 10 МС
Характеристики очереди НТТР Server FTP Server Server
п а Прибыль Fпр1 Прибыль Fпр2 Прибыль Fпрз
4 1 14.2 30.7 42.7
5 1 15 30.5 42
6 1 18.8 31.3 41.3
7 1 27.7 35.1 42.7
4 2 14 30 44
5
6 7
4
5
6 7
2
2
2
3
3
3
3
14.8
18.7
27.5
14.8 15.7
19.5 28.3
29.8 31
34.5
29.3
29.2
30
33.8
43.3
42.7 44
43.3
42.7 42
43.3
Отсюда найдем целевую функцию
Далее необходимо определить минимум функции. Для этого необходимо воспользоваться методом наискорейшего спуска и определить точку минимума целевой функции.
Получаем, что оптимальная очередь должна быть распределена для:
1. HTTP Server : M = M0, D = D0.
2. FTP Server : M = M0, D = D0.
3. DNS Server : M = M0, D = D0.
Теперь начинаем моделирование и проверяем после каждого шага распределение заявок в очереди. Находим математическое ожидание и дисперсию случайной величины (распределения очереди) по формулам для дискретных распределений.
При настройках по умолчанию мы получаем:
• HTTP Server : M = 15, D = 4 ,
• FTP Server : M = 17, D = 7 ,
• DNS Server M = 1, D = 0,15 .
Если полученные параметры не сильно разнятся с параметрами по умолчанию с заданной ошибкой, удовлетворяющей началь-
ному условию оптимальности, то можно считать очередь оптимальной.
Далее, необходимо построить регрессии (в соответствии с описанием в математической модели решения задачи).
Найдя аналитический вид функций, построим матрицу коэффициентов регрессии. Получив закономерность изменения случайных величин, будем варьировать значениями Speed, Power1 , Power2 , получая новые значения для параметров распределения очередей.
Имея корреляционную таблицу значений, можно легко судить об изменении какого-либо параметра. Выбирается наиболее весомый фактор (или несколько факторов) и оценивается его влияние на результат с целью увеличения или уменьшения его значения и процесс моделирования повторяется.
В результате получим оптимальные значения для заданных условий:
Speed = 136 КБит/с,
Power1 = 89,
Power2 = 32.
Далее, исходя уже из полученных мощностей и пропускной способности канала связи, надо сделать вывод о увеличении мощности 1-го сервера, уменьшении 2-го, и пропускную способность ВЦКС уменьшить в 2 раза.
В завершении надо добавить, что для того, чтобы действительно корректно и быстро проанализировать результаты моделирования и перезапустить итерационный процесс, необходимо очень хорошо владеть хотя бы одним из математических пакетов : MathCad, MathLab, Statistika, Maple, Excel и т.д.
----------------------------------------- СПИСОК ЛИТЕРАТУРЫ
1. Крылов В.В., Самохвалова С.С. Теория телетрафика и ее приложения. -СПб.: БХВ-Петербург, 2005.- 288 с.
2. Бахвалов Л.А. Моделирование систем. Учебное пособие для вузов. Изд-во МГГУ, 2006.
3. Жожикашвили В.А., Вишневкий В.М. Сети массового обслуживания. Теория и применения к сетям ЭВМ. М.: Радио и связь, 1998, 415 с.
4. Гмурман В.Е. Теория вероятностей и математическая статистика, Учебное пособие для ВУЗов, М: Высшая школа, 1997, 480 с.
5. Со-Мин-Тун. Модели оптимизации режимов функционирования клиент-серверной сети информационно-коммуникационного парка Мьянмы. // Горный информационно-аналитический бюллетень, «Информатизация и управление-2», ОВ 11. - 2008, с. 195-202.
6. Со-Мин-Тун. Исследование качества обслуживания в локальных вычислительных сетях. // Горный информационно-аналитический бюллетень, «Информатизация и управление-2», ОВ 11. -2008, с. 203-213. ПТШ
— Коротко об авторах ----------------------------------------------------
Бахвалов Л.А. - доктор технических наук, профессор кафедры АСУ Московского государственного горного университета;
Со-Мин-Тун - аспирант кафедры АСУ Московского государственного горного университета.
Московский государственный горный университет,
Moscow State Mining University, Russia, [email protected]