Самуйлов К.Е. \ Гайдамака Ю.В. 2, Таланова М.О.3, Павлоцкий О.Э.4
1 Российский университет дружбы народов, г. Москва, д.т.н., проф., заведующий кафедрой прикладной информатики и теории вероятностей, [email protected] 2 Российский университет дружбы народов, г. Москва, к.ф-м.н., доцент кафедры прикладной информатики и теории вероятностей, [email protected]
3 Российский университет дружбы народов, г. Москва, аспирант, ассистент кафедры
прикладной информатики и теории вероятностей, matalanova @gmail . com
4 Московский технический университет связи и информатики, г. Москва, аспирант,
кафедра сетей и систем связи, [email protected]
Имитационная модель SIP-сервера с гистерезисным управлением входящим потоком при алгоритме Loss-
Based Overload Control13
КЛЮЧЕВЫЕ СЛОВА
SIP-сервер, гистерезисное управление перегрузками, Loss-Based Overload Control.
АННОТАЦИЯ
В статье рассмотрен алгоритм просеивания потока сообщений (Loss-Based Overload Control, LBOC), предложенный Рабочей группой по инженерным проблемам сети Интернет (Internet Engineering Task Force, IETF) для управления перегрузками в сетях серверов протокола установления сеансов связи (Session Initiation Protocol, SIP). Построена имитационная модель обработки сообщений SIP-сервером при алгоритме LBOC управления перегрузками, позволяющая исследовать показатели эффективности функционирования SIP-сервера, основными из которых являются среднее время нахождения сервера в состоянии перегрузки и средняя длина очереди. Разработан симулятор межузлового контроля перегрузок в сети SIP-серверов. Проведено сравнение результатов имитационного моделирования с результатами, полученными ранее с помощью математического моделирования.
Введение
В сети SIP-серверов возможны ситуации, когда перегрузка SIP-сервера приводит к существенному падению пропускной способности сети вплоть до обвала целой сети или ее фрагмента. Перегрузка SIP-сервера происходит, когда количество получаемых сообщений больше, чем сервер может обработать из-за ограниченности ресурсов, например, недостатка мощности процессора SIP-сервера или объема памяти. Причины возникновения перегрузок описаны в RFC 5390 IETF [1], а подходы к
13 Исследование выполнено при частичной финансовой поддержке РФФИ в рамках научных проектов № 12-07-108, 14-07-00090.
решению проблемы перегрузок предложены в RFC 6357 [2]. Среди этих подходов выделяются два алгоритма управления перегрузками - алгоритм просеивания потока сообщений LBOC [3] и алгоритм снижения скорости передачи (Rate-Based Overload Control, RBOC) [4]. Эти алгоритмы были исследованы в работах Российского университета дружбы народов и Института проблем информатики РАН [5-17], где для реализации алгоритмов было предложено применять гистерезисное управление перегрузками. Данная статья является развитием работы [16], в которой была предложена математическая модель обработки сообщений SIP-сервером при алгоритме LBOC в виде системы массового обслуживания с гистерезисным управлением входящим потоком и двумя порогами. В данной статье на основе предложенной в [13, 16] математической модели разработана соответствующая имитационная модель обработки сообщений SIP-сервером при алгоритме LBOC, позволяющая собрать статистику по ряду показателей эффективности функционирования SIP-сервера, в том числе, оценить основные показатели - среднее время нахождения сервера в состоянии перегрузки и среднюю длину очереди. Исходными данными для имитационного моделирования послужили значения порогов, полученные в результате решения задачи оптимизации для математической модели в [7, 8]. Как и в случае математического моделирования, целью имитационного моделирования является нахождение таких значений порогов, при которых минимизируется среднее время нахождения сервера в состоянии перегрузки с учетом ограничений на вероятность потери сообщений и частоту включения системы управления. Кроме того, в отличие от математической модели, имитационная модель позволяет исследовать указанные характеристики функционирования SIP-сервера при различных значениях времени передачи в петле связи (Round Trip Time, RTT) между SIP-серверами.
Описание алгоритма LBOC
В стандарте [2] определены правила обмена информацией о перегрузке между нижележащим SIP-сервером и вышележащим SIP-сервером для того, чтобы вышележащий SIP-сервер мог сократить объем трафика в направлении перегруженного нижележащего SIP-сервера для предотвращения сбоя и для увеличения полезной нагрузки (good throughput). В [3] определены четыре поля via-заголовка SIP-сообщений, применяемые для управления перегрузками. В поле "oc" содержится параметр, ограничивающий количество SIP-сообщений, поступающих на нижележащий SIP-сервер. Параметр "oc-algo" содержит список алгоритмов управления перегрузками, поддерживаемых вышележащим SIP-сервером (напр., алгоритмы LBOC, RBOC). Параметр "oc-validity" устанавливает временной интервал, в течение которого выполняется управление перегрузкой с параметром, указанным в поле "oc". Параметр "oc-seq" используется для синхронизации.
Согласно алгоритму LBOC при обнаружении перегрузки нижележащий SIP-сервер отправляет вышележащему SIP-серверу в поле "ос" долю q, 0<q<1 , на которую вышележащему SIP-серверу следует снизить интенсивность потока SIP-сообщений в направлении перегруженного нижележащего SIP-сервера, а в поле "ос^аМку" -длительность интервала времени, в течение которого действует ограничение на исходящий трафик в сторону нижележащего SIP-сервера. По истечении интервала "ос^аМку" нагрузка восстанавливается до нормального значения. Заметим, что отличие алгоритма RBOC состоит в том, что параметр в поле "ос" представляет собою максимальное количество сообщений, которые перегруженный нижележащий SIP-сервер готов получить от вышележащего SIP-сервера в течение интервала времени, указанного в поле "ос^аМку". Более подробно параметры via-заголовка SIP-сообщений для алгоритмов LBOC и RBOC рассмотрены в статье [13], где отмечено, что в [2] не указано, как определять моменты наступления и снижения перегрузки, в которые следует применить управление входящей нагрузкой, а также как определять значения параметров "ос" и "ос^аМку". Также ни в [3], ни в [4] не уточняется, должны ли быть отсеянные в соответствии с параметром "ос" SIP-сообщения задержаны, сброшены или перенаправлены по альтернативному маршруту. В [5] предложено для реализации алгоритмов LBOC и RBOC применить гистерезисное управление входящим потоком, а в [8] построена математическая модель обработки сообщений SIP-сервером при алгоритме LBOC в виде системы массового обслуживания с гистерезисным управлением входящим потоком и двумя порогами, которая позволяет ответить на эти вопросы. Предлагается отправлять с нижележащего SIP-сервера на вышележащий SIP-сервер сообщения с информацией управления при пересечении длиной очереди порогов, а значения порогов, а также доли Щ. сброса сообщений выбирать так, чтобы минимизировать время нахождения SIP-сервера в состоянии перегрузки.
Имитационная модель
Архитектура SIP-симулятора для моделирования различных механизмов управления перегрузками описана в [9]. В данной статье мы моделируем уровень управления поступающей нагрузкой, который включает три модуля: Монитор, Актуатор и Функция управления. Схема симулятора для имитации генерации и обработки сообщений SIP-серверами при алгоритме LBOC с гистерезисным управлением представлена на рис. 1.
Модули, изображенные на рис. 1, соответствуют RFC6357 [2], при этом Источник заявок и Актуатор относятся к вышележащему SIP-серверу Процессор с буфером и Монитор - к перегружаемому нижележащему SIP-серверу, а Функция управления реализуется на обоих SIP-серверах, однако, в данном случае действия Функцией управления выполняются только на стороне нижележащего SIP-сервера. В симуляторе учитывается время
передачи сообщения между вышележащим и нижележащим SIP-серверами, определяемое задержкой ЯТТ в петле связи.
Буфер
¿г1 = _[ ^вд
о
Рис.1. Схема имитационной модели алгоритма LBOC
Источник заявок генерирует заявки с заданным распределением интервалов времени между соседними заявками, которые поступают в буфер Процессора. Монитор наблюдает за длиной очереди в буфере и при пересечении длиной очереди порога Н сообщает функции управления о наступлении перегрузки. Функция управления на стороне нижележащего SIP-сервера вычисляет долю q, на которую необходимо снизить интенсивность поступления заявок в очередь перегруженного Процессора, а также длину интервала времени Мт, в течение которого должно действовать управление с параметром q, и отправляет Актуатору соответствующее уведомление, после получения которого Актуатор начинает прореживать поток заявок, генерируемый Источником заявок, на указанную в уведомлении долю в течение указанного времени. Время моделирования определяется параметром Т-числом сгенерированных заявок.
Правила работы симулятора.
• Исходные данные: L,H ,В ,q,M т, RTT, Я, ¡и , Т.
• Источник заявок генерирует заявки в моменты tk, k > 1, с экспоненциальным распределением интервалов времени между соседними заявками с параметром Я .
• Монитор фиксирует длину очереди б ( tk) в системе в момент
tk-0
непосредственно перед поступлением заявки в очередь.
Если О(tk)= Н (то есть с поступлением в очередь заявки в момент q в очереди окажется Н + 1 заявка), то в момент tк Монитор отправляет Актуатору величину q — вероятность сброса сгенерированной Источником заявки, 0 <q <1 . С момента tk до момента tk+Мт Актуатор начинает пропускать в сторону Процессора прореженный поток интенсивности Я' =qЯ .
• Если Q(tk)=B (то есть непосредственно перед поступлением в очередь заявки в момент tk в очереди нет свободных мест), то в момент tk Монитор отправляет Актуатору вероятность сброса сгенерированной Источником заявки q =1, таким образом, Актуатор прекращает поток заявок в сторону Процессора.
• Актуатор не направляет сгенерированные Источником заявок заявки в сторону Процессора до тех пор, пока количество заявок в очереди не станет равным Q (tm)=H ,т>к . с момента tm до момента получения нового уведомления о необходимости снижения интенсивности потока в сторону Процессора Актуатор восстанавливает интенсивность потока в сторону Процессора до значения Я '.
• Если Q(tk)=L (то есть непосредственно перед поступлением в очередь заявки в момент tk в очереди L -1 заявка), то в момент tk Монитор отправляет Актуатору вероятность сброса сгенерированной Источником заявки q=0 , таким образом, Актуатор восстанавливает интенсивность потока в сторону Процессора до значения Я . С момента tk до момента получения нового уведомления о необходимости снижения интенсивности потока в сторону Процессора Актуа-тор направляет весь сгенерированный Источником заявок поток в сторону Процессора.
В правилах учтено, но для краткости не указывается, что задержка передачи между вышележащим и нижележащим SIP-серверами составляет RTT/2.
Имитационная модель
Симулятор представляет собой событийно-управляемое приложение [18], реализованное на языке C++ с использованием средств Microsoft Visual Studio 2012. Каждый компонент системы (SIP-процессор с буфером, Монитор, Функция управления, Источник заявок и Актуатор) является независимым объектом. Событиями в данной модели являются моменты поступления заявки от Источника заявок в буфер Процессора и моменты изменения состояния системы.
На рис. 2 представлен интерфейс симулятора — программы, осуществляющей имитационное моделирование описанного процесса. Симулятор предназначен также для моделирования обработки сообщений SIP-сервером при алгоритме RBOC, реализация которого является задачей дальнейших исследований.
Hysteretic load control parameters L H
44
52
Ш0
Overload control parameters
oc (%) ос-validity [sec) oc-algo
0.5
Г
Queueing system parameters
lambda (1/sec) mu [l/sec) RTT [sec)
240 200 0
Total step: | Ш000 MM or MD |~MM
Restrictions
B(xl) В(зс2)
Mt
0.2
0.0001
0.45
Test
Start
Call count
Processed call count
Mean time of Waiting
Cyde
Overload
Overload count Load drop percent
B(k1} B(x2]
Average buffer utilization
OK Отмена
[sec)
Рис.2. Интерфейс симулятора
Исходные данные моделирования представлены в левой части рис. 2:
• L - порог снижения нагрузки;
• H - порог обнаружения перегрузки;
• B - емкость буфера (очереди к Процессору);
• oc (%) - доля заявок, которые необходимо сбросить (соответствует параметру q);
• oc-validity (c) - время, в течение которого осуществляется сброс нагрузки (соответствует параметру Mт );
• oc-algo - значение, определяющее алгоритм управления перегрузками (LBOC или RBOC);
• lambda (1/c) - интенсивность поступающего потока заявок (соответствует параметру Я);
• mu (1/c) - интенсивность обслуженного потока заявок (соответствует параметру М);
• RTT (с) - задержка передачи заявки между Источником заявок и очередью Процессора, а также между Монитором и Актуатором;
• Total step - число заявок, сгенерированных Источником заявок за время моделирования (соответствует параметру T).
Результаты моделирования представлены в правой и нижней частях
рис. 3:
• Call count — число заявок, которые направлены Актуатором в очередь Процессора;
• Processed call count — число обслуженных Процессором заявок;
• Mean time of waiting — среднее время ожидания заявки в очереди к Процессору;
• Mean time of cycle — среднее время цикла управления;
• Mean time of overload — среднее время пребывания системы в состоянии перегрузки (соответствует параметру M ти);
• Overload count — количество циклов управления за время моделирования (количество включений управления перегрузками);
• Load drop percent — процент пребывания системы в состоянии сброса нагрузки по отношению к пребыванию системы в режиме перегрузки;
• B(X1) — вероятность потери заявки при пребывания системы в состоянии перегрузки;
• B(X2) — вероятность потери заявки при пребывания системы в состоянии сброса нагрузки;
• Average buffer utilization — средняя длина очереди.
Также симулятор решает задачу оптимизации, которая сформулирована далее в статье.
Численные результаты
Одной из основных задач при управлении перегрузками SIP-сервера является минимизация времени пребывания сервера в состоянии перегрузки [6], которое соответствуют состояниям перегрузки и сброса нагрузки в математической [7, 8, 13, 16] и имитационной моделях. Однако при этом следует учитывать, что вероятность потери сообщений не должна превышать определяемый международными стандартами уровень, а цикл управления не должен быть слишком коротким во избежание частого включения управления. Задача оптимизации (1) заключается в минимизации среднего времени возврата системы из состояния перегрузки в состояние нормальной нагрузки относительно выбора порогов L и H при заданных ограничениях на вероятность потери сообщений и частоту включения системы управления.
Мгп (£,#) nin;
Мг>уг, (j)
где Yi f Y 2 >Уз — заданные значения.
При решении задачи оптимизации с помощью симулятора мы опирались на исходные данные и значения основных показателей функционирования SIP-сервера, полученные с помощью математической модели [13, 16]. Целью имитационного моделирования были как проверка адекватности разработанной ранее математической модели, так и анализ основных показателей функционирования SIP-сервера при разных значениях задержки RTT передачи по сети между SIP-серверами, учет
которой невозможен при математическом моделировании.
Для численного анализа выбраны такие же исходные данные и ограничения задачи оптимизации, как в [8]:
5=100, р=1.2, р=02 мс~\д=ОХ
^ =0.2, У2 =0.0001. ^=450 мс.
Решение задачи оптимизации (1) с помощью математической модели [16] показало, что минимальное среднее время возврата системы из состояния перегрузки в состояние нормальной нагрузки достигается при Ь=44 и Н=52 и составляет 280.5 мс. При этом среднее время ожидания заявки оказывается равным 200 мс, в очереди в среднем находится 48 заявок, средняя длительность цикла управления составляет 505.1 мс, а вероятности потерь принимают значения в(х 1) =1.644 е-1, в(х2) =4.1 е-5.
Решение задачи оптимизации с помощью имитационной модели для различных значений RTT приведено в табл. 1. При RTT=0 результаты имитационного моделирования близки к значениям, полученным с помощью математической модели в [16].
Таблица 1. Результаты решения задачи оптимизации (1) при различных значениях КГТ
RTT, мс L Н М т12, мс Si.Xj 1 В. Х2 i Мт, мс
0 45 53 250.8 1.644 е-01 4.1 е-05 4574
25 47 63 353.1 1.415 е-01 6.5 е-05 747.8
50 48 70 390.1 1.271 е-01 5.4 е-05 920.6
75 55 82 404.9 1.149 е-01 8.9 е-05 1057.4
100 56 90 481.8 1.111 е-01 8.3 е-05 1301.9
Рост расстояния между порогами Ь и Н с ростом RTT связан с тем, что с увеличением расстояния между вышележащим и нижележащим серверами системе требуется больше времени на восстановление нормальной нагрузки. На рис. 3 сплошная ломаная линия показывает динамику заполненности буфера, штриховая - переключения между режимами управления системой с течением времени. На рис. 3 показано, как при нагрузке р =1.2 системе управления удается удерживать длину очереди между порогами Ь и Н, сглаживая всплески интенсивности. Так, начиная с 24.5 с интенсивность входящего потока начала расти, что перевело систему на 24.6 с при пересечении порога Н в состояние перегрузки (статус 5 =1), а при дальнейшем росте интенсивности входящего потока на 25.6 с при достижении порога В в состояние сброса нагрузки (статус 5=2). С этого момента в систему не принимались заявки до тех пор, пока на 25.79 с длина очереди не опустилась ниже порога Н, а на 25.82 с ниже порога Ь. Как видно из рис. 3, большую часть периода наблюдения система находится в нормальном режиме, когда очередь невелика и все поступившие заявки принимаются на обслуживание, и в
состоянии частичного сброса нагрузки, когда теряется 30% входящей нагрузки.
100 90 80 70 щ 60
Q.
01
0 50
га
1 40 ct
30 20
10 —п-ч-.- — - — — — — — -'-», — — — — 1 |—а-—з = 1 (перегрузка)
. I 1| 1 ' ■ ■ I 1 I 1 ' I ■ I I
0 —Н— —-----■ I— I-?— Я- ■ ■ « . » 11. 5 = 0 (нормальная
23.74 24.12 24.52 24.82 25.13 25.49 25.84 26.16 26.55 27.03 27.42 нагрузка)
Время, с
Рис.3. Зависимость размера буфера от времени
-Длина
очереди
Н =53 L = 45 ж к «Статус
перегруз ни 5 = 2 (сброс)
Заключение
Результаты имитационного моделирования для основных показателей функционирования SIP-сервера оказались близки к результатам, полученным с помощью аналитических методов, что подтвердило адекватность разработанной ранее математической модели [13, 16]. Преимуществом предложенного в данной статье симулятора является возможность учитывать задержку RTT передачи по сети между SIP-серверами, анализ влияния которой на ключевые показатели эффективности функционирования SIP-сервера является задачей дальнейших исследований. Также в дальнейшем планируется реализация имитационной модели при алгоритме RBOC и сравнение эффективности функционирования SIP-сервера для двух указанных алгоритмов управления перегрузками в сети SIP-серверов.
Литература
1. Rosenberg J. Requirements for Management of Overload in the Session Initiation Protocol // RFC 5390. - 2008.
2. Hilt V., Noel E., Shen C., Abdelal A. Design Considerations for Session Initiation Protocol (SIP) Overload Control // RFC 6357. - August 2011.
3. Gurbani V, Hilt V., Schulzrinne H. Session Initiation Protocol (SIP) Overload Control (LBOC) // RFC 7339. - September 2014. (replaces draft-ietf-soc-overload-control-15)
4. Noel E., Williams P.M. Session Initiation Protocol (SIP) Rate Control (RBOC) // draft-ietf-soc-overload-rate-control-05. - August 2013.
5. Абаев П.О., Гайдамака Ю.В., Самуйлов К.Е. Гистерезисное управление нагрузкой в сетях сигнализации // «Вестник РУДН. Серия «Математика. Информатика. Физика».» М.: Изд-во РУДН. 2011. №4. С. 55-73.
6. Pavel Abaev, Yuliya Gaidamaka, and Konstantin Samouylov. Modeling of Hysteretic Signalling Load Control in Next Generation Networks // Lecture Notes in Computer Science. Germany, Heidelberg, Springer-Verlag. 2012, Vol. 7469, pp. 440-452.
7. Pavel Abaev, Yuliya Gaidamaka, and Konstantin Samouylov. Queuing Model for Loss-Based Overload Control in a SIP Server Using a Hysteretic Technique // Lecture Notes in Computer
Science. Germany, Heidelberg, Springer-Verlag. 2012, Vol. 7469, pp. 371-378.
8. Pavel O. Abaev, Yuliya V. Gaidamaka, Alexander V Pechinkin, Rostislav V. Razumchik, Sergey Ya. Shorgin Simulation of overload control in SIP server networks // Proceedings of the 26th European Conference on Modelling and Simulation, ECMS 2012. Germany, Koblenz, 2012, pp. 533539.
9. Pavel O. Abaev, Yuliya V. Gaidamaka, Konstantin E. Samouylov, Sergey Ya. Shorgin (2013). Design And Software Architecture Of Sip Server For Overload Control Simulation, ECMS 2013 Proceedings edited by: W. Rekdalsbakken, R. T. Bye, H. Zhang, European Council for Modeling and Simulation. Pp. 580-586. doi:10.7148/2013-0580
10. Yu. V. Gaidamaka Model with Threshold Control for Analyzing a Server with an SIP Protocol in the Overload Mode // Automatic Control and Computer Sciences, 2013, Vol. 47, No. 4, pp. 211-218.
11. Ю.В. Гайдамака, А.В. Печинкин, Р.В. Разумчик, А.К. Самуйлов, К.Е. Самуйлов, И.А. Соколов, Э.С. Сопин, С.Я. Шоргин. Распределение времени выхода из множества состояний перегрузки в системе M | M | 1 | <L,H> | <H,R> с гистерезисным управлением нагрузкой // Информатика и ее применения. 2013. Т. 7. Вып. 4. С.20-33.
12. Sergey Shorgin, Konstantin Samouylov, Yuliya Gaidamaka, Shamil Etezov. Polling System with Threshold Control for Modeling of SIP Server under Overload // Advances in Intelligent Systems and Computing. Springer International Publishing, Vol. 240, 2014, pp. 97-107.
13. Pavel Abaev, Yuliya Gaidamaka, Konstantin Samouylov, Alexander Pechinkin, Rostislav Razumchik, Sergey Shorgin Hysteretic control technique for overload problem solution in network of SIP servers // Computing and Informatics, 2014, Vol. 33 Issue 1, pp. 218-236.
14. Konstantin Samouylov, Pavel Abaev, Yuliya Gaidamaka, Alexander Pechinkin, Rostislav Razumchik, Analytical Modelling and Simulation for Performance Evaluation of SIP Server with Histeretic Overload Control // Proc. of the 28th European Conference on Modelling and Simulation (ECMS 2014), May 27-30, Brescia, Italy, 27-30 May 2014, pp. 603-609.
15. Gaidamaka Y., Pechinkin A., Razumchik R., Samouylov K., Sopin E. Analysis of M|G|1|R queue with batch arrivals and two hysteretic overload control policies // Int. J. Appl. Math. Comput. Sci., 2014, Vol. 24, No. 3, pp. 519-534. DOI: 10.2478/amcs-2014-0038.
16. Yuliya Gaidamaka, Margarita Talanova. A simple queueing model of loss-based overload control in a SIP-servers network // Proc. XXXI International Seminar on Stability Problems for Stochastic Models (ISSPSM'2013), VII International Workshop «Applied Problems in Theory of Probabilities and Mathematical Statistics Related to Modeling of Information Systems» (APTP + MS'2013) and International Workshop «Applied Probability Theory and Theoretical Informatics». Book of abstracts. M.: IPI RAN, 2013. Pp. 80-82.
17. Yuliya Gaidamaka, Alexander Pechinkin, Rostislav Razumchik, Konstantin Samouylov, Eduard Sopin. Analysis of M|G|1|R queue with batch arrivals and two hysteretic overload control policies // International Journal of Applied Mathematics and Computer Science, 2014, Vol. 24, No. 3, pp. 519-534.
18. Бусленко Н. П. «Моделирование сложных систем» // М.: Наука, 1968, 356 с.