BC/NW 2012; №2 (21):5.1
РАЗРАБОТКА
МАТЕМАТИЧЕСКОЙ МОДЕЛИ ДЛЯ ОПРЕДЕЛЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ ПРОКСИ-СЕРВЕРА
Абросимов Л.И., Крамаренко М.Д.
В современном мире сетевые технологии находят применение в
практически каждой сфере науки и техники. Сетевые технологии постоянно
развиваются, появляются все новые технологии и сервисы и для повышения качества
обслуживания пользователей требуется решение задачи определения
производительности серверов по обработке сетевого трафика.
В настоящее время основные методы определения
производительности серверов по обработке сетевого трафика рассматривают серверы
как «черный ящик», что не позволяет учесть особенности задач, которые решает
сервер при обработке сетевого трафика, а так же вариативность аппаратного и
программного обеспечения. Отсутствие дифференцированного подхода к решению
сетевых задач влияет на точность оценки при проектировании производительности
сервера по обработке сетевого трафика. Для повышения точности расчета
производительности серверов необходимо
использование математической модели сервера, основанной на теории СМО и
устраняющей недостатки модели «черного ящика».
В данной статье излагаются результаты разработки
математической модели сервера, позволяющей определить производительность
сервера, учитывающую специфику обработки сетевого трафика и особенности
программного и аппаратного обеспечение сервера.
Для создания математической модели сервера, для определения
производительности обработки сетевого трафика необходимо:
o конкретизировать объект
исследования;
o исследовать особенности
функционирования объекта;
o определить исходные данные;
o рассмотреть существующие
модели;
o составить математическое
описание модели.
Исследуемым объектом
является сервер, который рассматривается как однопроцессорная ЭВМ,
функционирующая под управлением ОС, например, Linux, c установленным
программным обеспечением, которое позволяет однопроцессорной ЭВМ работать в
качестве прокси-сервера IP-телефонии. Однопроцессорная ЭВМ удобна для
проведения исследований, поскольку гарантированно весь алгоритм
функционирования прокси-сервера и все алгоритмы ОС, необходимые для этого
функционирования, будут исполнены на данном процессоре.
В качестве операционной системы прокси-сервера была выбрана
ОС Linux, поскольку:
o ОС Linux широко применяется
и является типичной ОС, обладающей всеми типичными механизмами ОС;
o ОС Linux предлагает широкий
спектр прикладного и системного ПО;
o ОС Linux обладает открытым
исходным кодом, что делает её чрезвычайно удобной для исследований ОС.
Прокси-сервер IP-телефонии обладает рядом особенностей
функционирования:
o использование
прокси-серверов в IP-телефонии является базовым решением, что в свою очередь
дает возможность проводить эксперименты на реальном трафике сети;
o прокси-сервер выполняет как
прием, так и отправку требований, что дает возможность исследовать механизмы
обработки, как входящих, так и исходящих требований ОС прокси-сервера;
Для устранения недостатков модели «черного ящика» рассмотрим
механизм функционирования прокси-сервера. Поскольку, прокси-сервер является
ЭВМ, управляемой ОС Linux, то обработка сетевых требований происходит в
соответствии с моделью ЭМВОС.
В данной статье исследуются оценки производительности
прокси-сервера на сетевом и транспортном уровнях модели ЭМВОС. С таким подходом
солидарен и Э. Таненбаум, который в [1] утверждает, что основные задержки при
функционировании компьютерных сетей возникают именно на транспортном уровне,
при этом сетевой уровень так же вносит свою задержку.
Следует подчеркнуть, что сетевой и транспортный уровни
модели ЭМВОС в ОС Linux реализованы в виде программных функций ядра ОС Linux,
поэтому производительность обработки сетевого трафика будет определяться
временем выполнения данных функций. В связи с тем, что программные функции ядра
ОС могут содержать операции ветвления, а также циклы, [2] то времена выполнения
одной и той же функции могут различаться. Для учета отмеченных особенностей
функционирования прокси-сервера применяется аппарат теории вероятностей и в
качестве оценок используется математическое ожидание времени выполнения
функции, которое определяет вероятностно-временные характеристики
прокси-сервера.
Для измерения вероятностно-временных характеристик
прокси-сервера по обработке сетевого трафика можно воспользоваться
программой-трассировщиком, поскольку использование данного типа программ
позволяет зафиксировать вызовы программных функций. Для измерений была выбрана
программа SystemTap, которая имеет ряд преимуществ и позволяет:
o установить измерительные зонды непосредственно
в ядро ОС;
o задавать набор функций, на которые будут
устанавливаться зонды;
o задавать логику алгоритм
работы зонда;
o измерять время выполнения
функций в тактах процессора, что дает возможность учесть аппаратную реализацию
однопроцессорной ЭВМ.
Указанные преимущества играют большую роль для оценки
методической погрешности, вносимой измерительными зондами, однако, широкие
возможности по установке и выбору алгоритма работы зондов предполагают решение
ряда вопросов, таких как: что и где замерять?
Рассмотрим схему стенда исследований, представленную на рис.
1.
Рис. 1. Схема стенда
исследований
На рис. 1 отмечены ключевые точки A,B,C,D,E,F,G,H
задействованные в ОС при обработке сетевого трафика. Времена обработки функций,
расположенных внутри каждого промежутка между двумя соседними точками,
представляют собой временные интервалы, которые затрачены для обработки сетевого
трафика, определяющие вероятностно-временные характеристики прокси-сервера по
обработке сетевого трафика. Отметим наиболее интересные промежутка AB, EF, DC и
HG, которые представляют временные
интервалы обработки принимаемых (, ) и отправляемых (, ) требований сети.
Следует подчеркнуть что, нахождение отмеченных точек внутри
ОС и разработка алгоритма зонда представляются не тривиальными задачами,
которые не рассматриваются в настоящей статье.
В дальнейшем изложении принимаем, что местоположение точек
определено и поставлено в соответствие с функциями алгоритма ОС.
Также в данной статье будем считать, что алгоритм зонда
линейный и одинаковый для всех зондов.
Работу ЭВМ по обработки сетевого трафика можно разбить на
две фазы:
o фазу приема требования;
o фазу отправки требования.
Очевидно, что эти две фазы кардинально отличаются друг от
друга алгоритмами работы, а, следовательно, и набором программных функций,
выполняемых ОС.
Установка измерительных зондов в указанных точках позволяет
найти требуемые вероятностно-временные характеристики.
Однако, результаты измерений интервалов времени между
точками: AB, CD, EF и GH, - позволяют получить данные, схожие по точности с
данными «черного ящика». Причина низкой точности в том, что алгоритм приема и
отправки требований сети весьма сложен и подразумевает операции ветвления и
циклов, при этом входящие требования могут отличаться по типу сетевого
протокола. В результате при переходе от
одного эксперимента к другому эксперименту, получаем неоднородные данные с
большой дисперсией.
Для решением данной
проблемы требуется установка зондов на каждую из программных функций ОС,
выполняющих прием и отправку требований.
На основании изложенного исходными данными для предлагаемой
модели являются:
– доля трафика, доставленная
по определенному протоколу (i),
относительно общего трафика, обрабатываемого прокси-сервером;
– вероятность появления j-той функции при обработке требований
протокола типа i, определяется как
количество экспериментов, в которых зафиксировано выполнение j-той программной функции к общему
количеству экспериментов;
– частота выполнения j-той функции при обработке требований
протокола типа i.
M() – математическое ожидание времени выполнения j-той функции при обработке требований
протокола типа i.
За основу модели прокси-сервера выбирается модель
предложенная Абросимовым Л.И, которая представлена в [3]. Предложенная модель
прокси-сервера представлена в графическом
виде на рис. 2:
Рис. 2. Графическое
представление предложенной модели прокси-сервера
Предложенная модель отличается от известной тем, что вместо
абстрактных «элементов алгоритма» рассматриваются конкретный набор сетевых
функций протоколов, входящих в состав ядра ОС Linux, вместо абстрактных цепочек
элементов алгоритма рассматриваются цепочки, описывающие фазы сетевых
протоколов, выполняют функции приема и обработки требований; предложенная
модель использует измеряемые параметры частоты {} использования m-тым сетевым протоколом i-той сетевой функции
Для математического описания модели необходимо знать закон
распределения потока входящих сообщений, а так же закон распределения времен
обслуживания. Принимаем, что законы распределения экспоненциальными, тогда для
модели СМО M|M|1∞ можно определить количество n сообщений в моделируемом узле по формуле (1)
где ρ –
коэффициент загрузки моделируемого узла.
Однако, формула (1) не учитывает разделения входящих
требований по типам протоколов и не учитывает разбиения обработки на фазы. Для
разбиения требований по типам воспользуемся методом контуров и будем считать,
что для одного контура (q) потока
требований приходят требования протоколов только одного типа.
Учитывая, что фазы обслуживания следуют непосредственно одна
за другой, в предложенной модели математическое ожидание времени обслуживания
каждой фазы определяется как сумма математических ожиданий времени выполнения
каждой функции умноженных на частоту и вероятность выполнения сетевой функции
протокола
Если же принять во
внимание, что прием и обработка происходят в разное время, то необходимо будет
учесть время нахождения сгенерированного ответа в очереди. Отметим, что, так
как мы приняли законы распределения экспоненциальными, а времена выполнения
функций считаем независимыми событиями, то по теореме сложения математических
ожиданий:
Для каждого контура q
формула, определяющая количество требований в системе (в узле и очереди)
определяется по соотношению (2):
где q – контур, R
– общая интенсивность обслуживания равная ,
- интенсивность поступления
требований q-го контура.
Тогда формула модели прокси-сервера для определения
количества n требований в системе
будет выглядеть следующим образом:
В результате получена формула (4) для расчета количества n требований в системе, учитывающая
разбиение входящих требований на типы по используемому для их передачи
протоколу, который определяется контуром q
и фазой обслуживания.
Отметим, по
найденному количеству n требований
можно определить среднее время пребывания требования в прокси-сервере (в
очереди и на обслуживании), применяя формулу Литтла:
Литература
1.
Таненбаум Э., Уэзеролл Д.
Компьютерные сети. 5-е изд. – СПб.: Питер, 2012. – 960 с.: ил.
2.
Chrisian
Benvenuti Understanding Linux Network Internals. – O`Reilly, 2005. – 1062 c.
3.
Абросимов Л. И. Методология
анализа вероятностно-временных характеристик вычислительных сетей на основе
аналитического моделирования. Диссертация на соискание ученой степени