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.     Абросимов Л. И. Методология анализа вероятностно-временных характеристик вычислительных сетей на основе аналитического моделирования. Диссертация на соискание ученой степени