УДК 004.713
DOI 10.21685/2072-3059-2016-3-7
Н. Н. Коннов, А. О. Семенов
СТОХАСТИЧЕСКИЙ ПОДХОД К ДИСПЕТЧЕРИЗАЦИИ ОЧЕРЕДЕЙ В КОММУТАТОРАХ
Аннотация.
Актуальность и цели. Объектом исследования являются современные телекоммуникационные устройства (коммутаторы). Предметом исследования являются системы диспетчеризации современных телекоммуникационных устройств. Цель работы - создание дисциплины диспетчеризации, удовлетворяющей требованиям адаптивности к динамически изменяющимся сетевым параметрам и отсутствия детерминированности.
Материалы и методы. Для исследования стохастической диспетчеризации очередей используются методы теории вероятностей и имитационного моделирования.
Результаты. Разработано формальное описание системы со стохастической диспетчеризацией очередей в коммутаторе Ethernet, использующей псевдослучайную адаптивную выборку очереди. Построена имитационная модель стохастического диспетчера в пакете MatLab/Simulink. Проведено сопоставление результатов моделирования стохастической диспетчеризации с циклическими алгоритмами диспетчеризации.
Выводы. Моделирование показало, что за счет исключения цикличности в обслуживании очередей коммутатора и более справедливого распределения свободных ресурсов канала в стохастическом диспетчере уменьшаются среднее значение и стандартное отклонение длин очередей, снижается разброс джиттера по отдельным очередям.
Ключевые слова: стохастическая диспетчеризация, имитационное моделирование, очередь, коммутатор, качество обслуживания.
N. N. Konnov, A. O. Semenov A STOCHASTIC APPROACH TO SWITCH QUEUE DISPATCHING
Abstract.
Background. The research deals with modern telecommunicational devices (switches). The research subject is a set of modern telecommunicational devices' dispatching systems. The purpose of the study is to create a dispatching discipline that meets the requirements of adaptability to dynamically changing network settings and the lack of determinism.
Materials and methods. The probability theory and simulation methods were used for investigation of queue dispatching methods and simulation of stochastic systems.
Results. The authors have developed a formal description of a systm with stochastic queue dispatching in an Ethernet switch with pseudorandom adaptive queue sampling. A simulation model of a stochastic dispatching system has been built. It uses the MATLAB/Simulink simulation software. Stochastic and cyclic (robin) dispatching systems have been analyzed comparatively.
Conclusions. The simulation performed reveals that the mean value and standard deviation of queue lengths decrease as well as the jitter scattering by individual queues due to excluding cyclicity when operating a switch and more correct distribution of free channel resources.
Key words: stochastic dispatching system, formai description, simulation system, Simulink, modeling.
Современные телекоммуникационные устройства (коммутаторы и маршрутизаторы) обладают комплексом механизмов, обеспечивающих поддержку качества обслуживания (QoS) различных типов трафика, определяемых такими параметрами, как пропускная способность (полоса пропускания), задержка и ее вариация (джиттер), доля потерянных пакетов [1].
Среди механизмов обеспечения качества (маркировка и классификация трафика, обслуживание очередей, управление перегрузкой, управление полосой пропускания) важнейшим является алгоритм диспетчеризации очередей, т.е. правила выбора очереди для считывания из нее данных и объем считываемых данных на одно обращение, которые непосредственно определяют задержку кадров и вероятность их потери [2, 3].
В традиционных системах диспетчеризации очередей в сетевых устройствах выбор очереди имеет детерминированный характер, задаваемый правилами приоритезации (жесткими, циклическими и др.). В таких системах время ожидания обслуживания некоторого кадра зависит не только от места кадра в очереди, загруженности очередей и иных сетевых параметров, но и от правил очередности обслуживания узлов, что приводит к непредсказуемости задержки кадров [1-4].
Известны алгоритмы с жесткими приоритетами (SPQ), недостатком которых является возможность монополизации полосы высокоприоритетным трафиком, что ограничивает его применение для трафиков малой интенсивности, но с жесткими требованиями к задержке.
Классические циклические алгоритмы (WRR и DRR) обеспечивают гарантируемую полосу пропускания. Эти алгоритмы детерминированы, т.е. правила обхода очередей определены как циклические, не учитывающие такие параметры, как количественные загрузки очередей, времена задержки пакетов, что приводит к длительной задержке пакетов в отдельных очередях в случае всплеска нагрузки в нескольких очередях одновременно.
Существует также алгоритм взвешенного справедливого обслуживания очередей WFQ, который обеспечивает принцип «справедливого обслуживания», обладает рядом преимуществ [3]. В частности, алгоритм обеспечивает «изоляцию» потоков (очередей), т.е. поведение разных потоков не зависит друг от друга, а также цикличность облуживания, о недостатках которой сказано выше.
Альтернативой детерминированной выступает система стохастической диспетчеризации, использующая случайный порядок выбора очередей на обслуживание. [5] В настоящей работе предлагается применять модификацию стохастического алгоритма диспетчеризации, используемого для распределения процессорного времени между задачами в операционных системах [6, 7], для диспетчеризации очередей в коммутаторе Ethernet с поддержкой Qos. Суть алгоритма заключается в том, что номер обслуживаемой очереди выбирается случайно, с вероятностью, зависящей от длины очередей и полосы пропускания по каждому классу обслуживания, которая оперативно оценивается в процессе диспетчеризации.
Структура диспетчера на основе стохастического алгоритма представлена на рис. 1.
Рис. 1. Обобщенная структура стохастического диспетчера
Кадры поступают из входных портов, сортируются по классам трафика и распределяются в соответствии с их классом по n очередям [3, 8-11].
Управляющий блок принимает решения о выборе очереди на обслуживание исходя из информации о состоянии очередей, например об их длине, и состоянии генератора псевдослучайных чисел. Распределение выходных значений генератора в данной работе считается близким к равномерному (прямоугольному), однако можно использовать и иные распределения, пересчитывая коэффициенты для каждого из них.
Пусть t - время моделирования (работы) диспетчера; - фактическое время обслуживания i -й очереди диспетчером за все время моделирования; n - число очередей, выделенных для обслуживания пакетов заданного класса; m - общее число очередей; li - длина i-й очереди (в байтах), t(t +1) = E■ (t) -
момент времени, соответствующий намечаемой смене активной (с атрибутом Ei, равным единице или другому активному сигналу) очереди; const - множество целых неотрицательных констант; k - столбцовая матрица размером
m х 1, характеризующая доли разрешенных полос пропускания, выделенных для каждой i -й очереди при i е [0;m — 1], при этом к является постоянной величиной, записанной в постоянное запоминающее устройство (ПЗУ). Однако по усмотрению системного администратора значение к можно изменять.
При достижении момента окончания обслуживания i-й очереди, т.е. при достижении момента окончания передачи пакета в канал, или незадолго до этого момента поступает запрос на расчет вероятностей p, определяющих вероятность выборки одного пакета из каждой из очередей на основе постоянной величины ppr (priority probably), записанной в ПЗУ. Но по усмотрению системного администратора значение ppr можно изменять.
Расчет вероятностей осуществляется исходя из решения уравнения (1) на основе имеющихся данных о загрузке очередей, текущей полосе и т.д. с неизвестным p, являющимся столбцовой матрицей. Причем суммарная вероятность в каждый отдельный момент времени по всем классам трафика равна единице, а предел величины p при постоянных p pr и к сходится к
константному значению pp0r. :
itе NN;NN = (0,1,...,<~);0 < i < m — 1;i,m,nе N;N = (1,2,...,<~);n < m^
m —1 2pi(t) kip
V
ii (t) ^ 0;ppr - Pie Z Pi (t) =1 lim
i=° t
t
pr
t
Z kiPpr,
V
/
f
V( - ti)> °)3
f
m -1
Z
i = °
Pri
\ Л
kiP
pri li (t)(tki - ti)
г ZklPpi
m -1
Z
j = °
/ / Zn(lj(t)(tkJ - tj
= 1
J /
A
л(( - ti )< °= °)).
, (1)
В случае пустоты 7-й очереди расчет вероятности по 7-му классу обслуживания не имеет смысла, ибо она станет равной нулю.
Обслуживание 7-й очереди сопровождается активным уровнем сигнала Е7:
((Ei = ° л Ei е BoolSet) v (li (t) = °)) з ((t) = °); (( = 1A Ei е BoolSet a (li (t) > °)) z> ((t) Ф °);
3(Pi(t (t +1) = E() 1 = 1I-
(2)
(3)
(4)
Формальное описание алгоритма и логики работы операционных (блоков обслуживания очередей указателей) и управляющего блоков диспетчера приведены в формулах (1)-(4) соответственно.
3
При увеличении числа m требуется и большее количество вычислений в управляющем блоке. Подробности построения управляющего блока представлены далее:
1) с увеличением m увеличивается и количество умножителей в управляющем блоке (их количество m - 1);
2) однако существенная часть вычислений в управляющем блоке параллельна, следовательно, масштабирование системы не создаст существенных проблем, связанных с уменьшением производительности управляющего блока при увеличении m.
Было проведено сравнительное имитационное моделирование хаотической системы диспетчеризации и системы диспетчеризации с дефицитным циклическим обслуживанием (алгоритм DRR) [2, 3], выбор которого обусловлен «справедливым» распределением ресурсов и гарантируемой полосой пропускания.
Для оценки эффективности алгоритма выполнено моделирование в системе имитационного моделирования Simulink. При разработке модели использовались блоки, описанные в [12-14], где приведены примеры моделирования циклических алгоритмов диспетчеризации. Ниже описан набор модулей, необходимых для построения модели стохастического диспетчера.
Обобщенная структура модели такова (рис. 2, нумерация в тексте согласована с нумерацией на рисунке):
1. Управляющий блок, включающий в себя следующие блоки:
• блоки подсистем (Subsystem);
• порты входные, выходные (In, Out);
• умножения и деления (Divide);
• сложения и вычитания (Sum);
• логические операторы (Logical Operator);
• сравнения чисел на ноль (CompareToZero);
• инкрементации (IncrementStoredInteger);
• условного перехода (MultiportSwitch);
• констант (DSP Constant);
• вывода пользовательской информации (Scope).
2. Операционные блоки, включающие в себя:
• очереди (блок Queue, 1);
• генератор синхроимпульсов (блок Pulse Generator);
• устройства задержки сигнала на величину такта моделирующей системы (Memory), предназначенные для предотвращения временных конфликтов между сигналами прямой и обратной связи;
• RS-триггеры (S-R Flip-Flop). Этот блок предназначен для запоминания одного из двух состояний: передача пакета (т.е. фактическая работа операционного устройства - ОУ) или простой (т.е. фактическое бездействие операционного устройства - ОУ);
• входные порты подсистемы (блоки In). Этот блок предназначен для задания элемента входной части интерфейса той или иной подсистемы, в данном случае операционного устройства. Возможно изменение состава входов ОУ, например, в связи с выводом части устройств, входящих в ОУ, за его пределы;
• выходной порт подсистемы (блок Out). Этот блок предназначен для задания элемента входной части интерфейса той или иной подсистемы, в данном случае операционного устройства. В данной модели представлены два выхода: номер передаваемого бита пакета и индикатор фактической работы устройства;
• комбинационная логика, представленная логическими функциями «и», «или», «не», «исключающее или» (блоки And, Or, Not, Xor).
• инкрементирующие счетчики (блок Count Up). Эти блоки предназначены для: отсчитывания интервалов времени между приходами пакетов в очередь (в случае моделирования), подсчета переданных бит за одно обращение управляющего устройства (УУ) к очереди ОУ (нужно исключительно для сбора статистики) и подсчета суммарного времени фактической работы ОУ (нужно исключительно для сбора статистики):
• числовые константы (блок Constant). Эти блоки предназначены для хранения константных величин, соответствующих значениям минимальной длины пакета и количества тактов, необходимых для «внутренних» целей, что актуально для Ethernet-протокола;
• сумматоры (блок Sum);
• устройства вывода пользовательской информации (блок Scope).
3. Средства синхронизации, устраняющие конфликты при попытках доступа к разделяемому ресурсу (каналу, процессорному времени и т.д.), представленные блоками And, Or, Not, Compare To Constant, Memory, Step и др.
4. Устройства вывода пользовательской информации (блок Scope и др.).
5. Блок пользовательских настроек (ПЗУ).
Моделирование стохастического алгоритма и алгоритма DRR, описанное в [10], производилось с параметрами, идентичными друг другу, а именно:
1) равные между собой полосы пропускания для всех очередей;
2) количество очередей в каждой из систем диспетчеризации равно четырем;
3) приоритеты очередей 0,5/0,35/0,1/0,05 для первой, второй, третьей и четвертой очередей соответственно (актуально только для стохастического алгоритма);
4) распределение времен поступления заявок (кадров) в очереди - равномерное, с равными для каждой очереди семенами (в иноязычной литературе - seed) [5];
5) равные времена моделирования;
6) равные отношения интенсивностей входных заявок (потока бит) к номинальной пропускной способности по каждому из классов трафика каналов (80 %).
Результаты моделирования приведенных систем приведены в табл. 1.
На рис. 3 представлена динамика изменения длительности очередей (в байтах от времени).
В результате проведенного моделирования сделаны следующие выводы:
1. Средняя длина более чувствительных к задержкам очередей ниже средней длины очередей менее чувствительных к задержкам при использовании стохастической дисциплины в отличие от циклических дисциплин при
одинаковых отношениях интенсивностей входных заявок (потока бит) к номинальной пропускной способности по каждому из классов трафика.
2. Стандартное отклонение и дисперсия в абсолютном выражении ниже при использовании диспетчера БИВ., чем стохастического диспетчера.
Таблица 1
Данные о загрузке очередей
DRR Стохастический
Вероятностные Л (N Л 3 Л 4 Л о « н Л 2 нЯ 3 нЯ 4 нЯ о « н
характеристики ч (D ч (D ч (D ч (D « ч (D ч (D ч (D ч (D «
очередей (D (D (D (D (D (D (D (D
О О О О £ О О О О £
Стандартное
отклонение 335 448 37° 379 1ÖÖ7 116 128 215 253 612
(байт)
Математическое
416 356 521 548 1842 69 1°3 228 315 715
ожидание (байт)
i^Hbn
ж HI h—t
Очередь Щ
й HI H
| Очередь 2
■Яш HB нявн
| Очередь 3
BS ияяп
Очередь 4
ИМиидшЦй
I Устройство
а)
Рис. 3. Динамика изменения очередей стохастического диспетчера и алгоритма БИЯ: а - БИЯ; б - стохастический
Выводы:
1. Распределение свободных ресурсов при использовании стохастического диспетчера является, как правило, более справедливым, чем при использовании циклических диспетчеров, за счет исключения цикличности в обслуживании очередей.
2. Средняя длина очередей при использовании стохастического диспетчера ниже на 61 %, чем при использовании циклических диспетчеров, а также стандартное отклонение длины очередей.
3. Средняя длина более чувствительных к задержкам очередей ниже средней длины очередей менее чувствительных к задержкам при использовании стохастической дисциплины в отличие от циклических дисциплин при одинаковых отношениях интенсивностей входных заявок (потока бит) к номинальной пропускной способности по каждому из классов трафика.
4. Произведен анализ общих принципов построения и архитектуры имитационных моделей диспетчеров коммутаторов Ethernet, разработаны модели нескольких циклических диспетчеров и разработана имитационная модель стохастического алгоритма в целях дальнейшего их сравнительного анализа.
Список литературы
1. Олифер, В. Г. Компьютерные сети. Принципы, технологии, протоколы / В. Г. Олифер, Н. А. Олифер. - 4-е изд. - СПб : Питер, 2010. - С. 943.
2. Вегешна, Ш. Качество обслуживания в сетях IP / Ш. Вегешна. - М. : Вильямс, 2003. - С. 368.
3. Кучерявый, Е. А. Управление трафиком и качество обслуживания в сети Интернет / Е. А. Кучерявый. - СПб. : Наука и Техника, 2004. - С. 336.
4. Фишман, Е. Б. Разработка модели и инструментальных средств проектирования и исследования информационных систем / Е. Б. Фишман. - М. : Московский государственный институт электроники и математики, 2007. - С. 111.
5. Феллер, В. Введение в теорию вероятностей и ее приложения. / В. Феллер. -М. : Финансы и статистика, 1984. - Т. I. - С. 511.
6. Patent 5,247,677 U.S. STOCHASTIC PRIORITY-BASED TASK SCHEDULER / Welland et al. (1993). - URL: http://patft.uspto.gov/netacgi/nph-Parser?Sect2= PTO1&Sect2=HITOFF&p=1&u=/netahtml/PTO/search-bool.html&r=1&f=G&I=50&d=PALL&RefSrch=yes&Query=PN/5247677.
7. Коршикова, Л. А. Операционная система как система управления вычислительными ресурсами / Л. А. Коршикова. - Новосибирск : НГТУ. - URL: http://ermak.cs.nstu.ru/~mos/index.html.
8. Семенов, А. О. Стохастический подход к диспетчеризации очередей / А. О. Семенов // Современные инструментальные системы, информационные технологии и инновации : сб. ст. XII Междунар науч.-техн. конф. (г. Курск, 12-16 мая 2015 г.). - Курск : ЮЗГУ, 2015. - С. 331-333.
9. Семенов, А. О. Формальное представление стохастического алгоритма диспетчеризации очередей в телекоммуникационном оборудовании / А. О. Семенов, Н. Н. Коннов // Новые информационные технологии и системы (НИТИС-2014) : сб. тр. XI Междунар. науч.-практ. конф. (г. Пенза, 25-27 ноября 2014 г.). - Пенза : Изд-во ПГУ, 2014. - С. 301-306.
10. Семенов, А. О. Компьютерное моделирование стохастического алгоритма диспетчеризации очередей в телекоммуникационном оборудовании / А. О. Семенов. - Пенза : Изд-во ПГУ, 2014. - С. 306-310.
11. Коннов, Н. Н. Исследование проблемы эффективного использования ресурсов вычислительной сети и сравнительный анализ алгоритмов диспетчеризации очередей обслуживания / Н. Н. Коннов, А. О. Семенов // Современный взгляд на будущее науки : сб. ст. междунар науч.-практ. конф. - Уфа : Аэтерна, 2014. -С. 200-202.
12. Гулиус, В. А. Интеллектуальная модель системы массового обслуживания с очередью типа D/D/1 в среде SimEvents (MATLab/SimuLink) / В. А. Гулиус. -URL: http://model.exponenta.ru/cl_gva_02.html.
13. Гулиус, В. А. Имитационная модель коммутатора / В. А. Гулиус. - URL: http://model.exponenta.ru/cl_gva_03.html.
14. Дьяконов, В. Simulink 4. Специальный справочник / В. Дьяконов. - СПб. : Питер, 2002. - 528 с.
References
1. Olifer V. G., Olifer N. A. Komp'yuternye seti. Printsipy, tekhnologii, protokoly [Computer networks. Principles, technologies, protocols]. 4th ed. Saint-Petersburg: Piter, 2010, p. 943.
2. Vegeshna Sh. Kachestvo obsluzhivaniya v setyakh IP [IP network operating quality]. Moscow: Vil'yams, 2003, pp. 368.
3. Kucheryavyy E. A. Upravlenie trafikom i kachestvo obsluzhivaniya v seti Internet [traffic management and operating quality in the Internet]. Saint-Petersburg: Nauka i Tekhnika, 2004, p. 336.
4. Fishman E. B. Razrabotka modeli i instrumental'nykh sredstvproektirovaniya i issledo-vaniya informatsionnykh sistem [Development of models and tools for information sys-
tems design and research]. Moscow: Moskovskiy gosudarstvennyy institut elektroniki i matematiki, 2007, p. 111.
5. Feller V. Vvedenie v teoriyu veroyatnostey i ee prilozheniya [Introduction into the probability theory and its applications]. Moscow: Finansy i statistika, 1984, vol. I, p. 511.
6. Patent 5,247,677 U.S. STOCHASTIC PRIORITY-BASED TASK SCHEDULER. Wel-land et al. (1993). Available at: http://patft.uspto.gov/netacgi/nph-Parser?Sect2= PTO1&Sect2=HITOFF&p=1&u=/netahtml/PTO/search-bool.html&r=1&f=G&I=50&d=PALL&RefSrch=yes&Query=PN/5247677.
7. Korshikova L. A. Operatsionnaya sistema kak sistema upravleniya vychisli-tel'nymi resursami [Operating system as a system of computing resources management]. Novosibirsk: NGTU. Available at: http://ermak.cs.nstu.ru/~mos/index.html.
8. Semenov A. O. Sovremennye instrumental'nye sistemy, informatsionnye tekhnologiii innovatsii: sb. st. XII Mezhdunar nauch.-tekhn. konf. (g. Kursk, 12-16 maya 2015 g.) [Modern development systems, information technologies and innovations: proceedings of XII International scientific and practical conference (Kursk, 12th-16th May 2015)]. Kursk: YuZGU, 2015, pp. 331-333.
9. Semenov A. O., Konnov N. N. Novye informatsionye tekhnologii i sistemy (NITIS-2014): sb. tr. XI Mezhdunar. nauch.-prakt. konf. (g. Penza, 25-27 noyabrya 2014 g.) [New information technologies and systems (NITIS-2014): proceedings of XI International scientific and practical conference (Penza, 25th-27th November 2014)]. Penza: Izd-vo PGU, 2014, pp. 301-306.
10. Semenov A. O. Komp'yuternoe modelirovanie stokhasticheskogo algoritma dispetcher-izatsii ocheredey v telekommunikatsionnom oborudovanii [On computer simulation of a stochastic dispatching algorithm in telecommunication equipment]. Penza: Izd-vo PGU, 2014, pp. 306-310.
11. Konnov N. N., Semenov A. O. Sovremennyy vzglyad na bu-dushchee nauki: sb. st. mezhdunar nauch.-prakt. konf. [A modern view of the future of science: proceedings of the International scientific and practical conference]. Ufa: Aeterna, 2014, pp. 200-202.
12. Gulius V. A. Intellektual'naya model' sistemy massovogo obsluzhivaniya s ochered'yu tipa D/D/1 v srede SimEvents (MATLab/SimuLink). [An intelligent model of a mass operating system with the D/D/1 queue type in the SimEvents environment (MATLab/SimuLink) ]. Available at: http://model.exponenta.ru/cl_gva_02.html.
13. Gulius V. A. Imitatsionnaya model' kommutatora [Switch imitation model]. Available at: http://model.exponenta.ru/cl_gva_03.html.
14. D'yakonov V. Simulink 4. Spetsial'nyy spravochnik [Simulink 4. Special reference book]. Saint-Petersburg: Piter, 2002, 528 p.
Коннов Николай Николаевич
кандидат технических наук, профессор, кафедра вычислительной техники, Пензенский государственный университет (Россия, г. Пенза, ул. Красная, 40)
E-mail: [email protected]
Konnov Nikolay Nikolaevich Candidate of engineering sciences, professor, sub-department of computer engineering, Penza State University (40 Krasnaya street, Penza, Russia)
Семенов Андрей Олегович аспирант, Пензенский государственный университет (Россия, г. Пенза, ул. Красная, 40)
Semenov Andrey Olegovich Postgraduate student, Penza State University (40 Krasnaya street, Penza, Russia)
E-mail: [email protected]
УДК 004.713 Коннов, Н. Н.
Стохастический подход к диспетчеризации очередей в коммутаторах / Н. Н. Коннов, А. О. Семенов // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2016. - № 3 (39). - С. 72-83. Б01 10.21685/2072-3059-2016-3-7