Алгоритмы и структуры для эффективного управления очередями

Оригинальная статья / Original article

УДК: 004.421

DOI: 10.21285/1814-3520-2016-7-66-72

АЛГОРИТМЫ И СТРУКТУРЫ ДЛЯ ЭФФЕКТИВНОГО УПРАВЛЕНИЯ ОЧЕРЕДЯМИ

19 Я

© Л.Г. Гагарина1, В.Г. Дорогов2, Е.Г. Дорогова3

Национальный исследовательский университет «Московский институт электронной техники», 124498, Россия, г. Москва, г. Зеленоград, пл. Шокина, 1.

Резюме. Цель. Разработка эффективных алгоритмов работы с очередями запросов в сетях массового обслуживания (СеМО), повышающих качество обслуживания в изменяющихся условиях и нештатных ситуациях. Методы. Для работы с очередями запросов в СеМО разработаны специальная структура, описывающая параметры задачи и три взаимосвязанных алгоритма, предусматривающих динамику во время обработки запроса, и управляемое время ожидания: алгоритм постановки в очередь, алгоритм выталкивания из очереди, алгоритм постановки в очередь к специализированному таймеру. Результаты. Разработанные структура и алгоритмы позволяют получить новое качество при создании сложных стратегий дисциплин обслуживания с динамически изменяемыми приоритетами, так как повышают эффективность обработки запросов и улучшают характеристики информационных систем при изменяющихся внешних условиях. Заключение. Приведенные результаты экспериментальных исследований показали, что применение сложных стратегий обслуживания с динамически изменяемыми приоритетами и ограничением времени ожидания обеспечивает улучшение заданных характеристик обслуживания в рабочем режиме, при перегрузках и в нештатных ситуациях.

Ключевые слова: очередь, задача, указатель, структура, алгоритм, массив, дисциплина обслуживания.

Формат цитирования: Гагарина Л.Г., Дорогов В.Г., Дорогова Е.Г. Алгоритмы и структуры для эффективного управления очередями // Вестник Иркутского государственного технического университета. 2016. № 7. C. 66-72. DOI: 10.21285/1814-3520-2016-7-66-72

ALGORITHMS AND STRUCTURES FOR EFFECTIVE QUEUE MANAGEMENT L.G. Gagarina, V.G. Dorogov, E.G. Dorogova

National Research University of Electronic Technology, 1 Shokin sq., Zelenograd, Moscow, 124498, Russia.

Abstract. The purpose of the article is to develop efficient algorithms for queuing requests in queuing networks (QN) that can improve service quality in changing environment and emergencies. Methods. A special structure has been developed to deal with queuing requests in queuing networks. It describes problem parameters and three interrelated algorithms providing query processing dynamics and controlled queue time: queuing algorithm, queue pop out algorithm, algorithm of queuing to a specialized timer. Results. The developed structure and algorithms allow to obtain a new quality under creation of complex strategies of service procedures with dynamically varying priorities since they enhance the efficiency of query processing and improve the characteristics of information systems under the varying environment. Conclusion. The provided results of experimental studies have shown that the use of complex servicing strategies with dynamically varying priorities and latency limitations ensures improved specified maintenance characteristics in the operating mode, in case of overloads and in emergency situations. Keywords: queue, task, indicator, structure, algorithm, array, service procedure

For citation: Gagarina L.G., Dorogov V.G., Dorogova E.G. Algorithms and structures for effective queue management. Proceedings of Irkutsk State Technical University. 2016, no. 7, рp. 66-72 (in Russian). DOI: 10.21285/1814-3520-20167-66-72

Гагарина Лариса Геннадьевна, доктор технических наук, профессор, заведующая кафедрой информатики и программного обеспечения вычислительных систем, e-mail: gagar@bk.ru

Gagarina Larisa, Doctor of Engineering, Professor, Head of the Department of Computer Science and Computer Software Systems, e-mail: gagar@bk.ru

2Дорогов Виктор Георгиевич, кандидат технических наук, доцент кафедры информатики и программного обеспечения вычислительных систем, e-mail: vgdrgv@rambler.ru

Dorogov Viktor, Candidate of Engineering, Associate Professor of the Department of Computer Science and Computer Software Systems, e-mail: vgdrgv@rambler.ru

3Дорогова Екатерина Георгиевна, кандидат технических наук, доцент кафедры информатики и программного обеспечения вычислительных систем, e-mail: edoro@list.ru

Dorogova Ekaterina, Candidate of Engineering, Associate Professor of the Department of Computer Science and Computer Software Systems, e-mail: edoro@list.ru

Введение

Современное развитие сетевых технологий отражает тенденцию превращения информационно-телекоммуникационных сетей в единую глобальную сеть. При этом возникают новые проблемы и вызовы, связанные с быстрорастущими требованиями к качеству обслуживания. Целью данной статьи является разработка эффективных алгоритмов работы с очередями запросов в сетях массового обслуживания (СеМО), повышающих качество обслуживания в изменяющихся условиях и нештатных ситуациях.

Принципы эффективности управления очередями

Для повышения эффективности управления очередью с использованием дисциплины обслуживания (ДО) с динамическим приоритетом обслуживания (ДП), в частности, для постановки объекта в несколько очередей, будем использовать специальную структуру типа гер (представитель), которая описывает параметры задачи в данной очереди.

Структура гер содержит следующие элементы:

TAG - тип объекта, на который указывает представитель;

PRIORITY - текущее значение приоритета;

OBJ - указатель на задачу;

COUNTER - количество ссылок на данный представитель;

NEXT - указатель на следующий представитель в очереди.

Массив указателей Pr[0 ...max] соответствует каждой очереди, участвующей в стратегии обслуживания. Число элементов массива на единицу больше возможного количества приоритетов: Рг[0] указывает на первый элемент очереди, Рг [1] указывает на последний элемент, имеющий значение приоритета 1, и т.д. Если в системе несколько очередей, то каждой из них соответствует свой массив указателей (рис. 1).

В очереди 2 - элементы д, h, i, j. Задача task А стоит в очереди 1, задача task В - в обеих очередях, причем в очереди 1 с приоритетом 1, а в очереди 2 - с приоритетом 3. Элемент b имеет пустой указатель (в частности потому, что задача,

Pr1

3

2 null

1

0

Очередь 1 _i

a

*

•-- c

•-- d

null

Task A

Очередь 2

null

f null I

null

Task B

-> i

null

Pr2

0

1 null

2

3

T

k

null null

e

h

g

Рис. 1. Конфигурация с двумя очередями Fig. 1. Configuration with two queues

на которую ссылается b, была аннулирована во время ожидания в очереди). Таким образом, представители, попав в какую-нибудь очередь, не исключаются из нее до тех пор, пока не станут первыми в очереди, хотя при этом они могут ни на что не ссылаться. Элемент е ссылается на задачу task В и содержит счетчик ссылок на себя (равный 2) от элементов с и h. Когда один из этих элементов будет выталкиваться из очереди, можно будет по цепочке ссылок добраться до task В, а в элементе е уничтожить ссылку на task В и уменьшить количество ссылок, тогда е будет иметь состояние, аналогичное к. При этом task В можно передать сообщение для определения очереди, из которой произошло выталкивание. Элементы типа rep, вытолкнутые из очереди, а также те, на которые больше нет ссылок, поступают в пул свободных элементов.

Авторами данной статьи разработа-

Рис. 2. Схема алгоритма постановки в очередь Fig. 2. A diagram of the queuing algorithm

ны три взаимосвязанных алгоритма, предусматривающих динамику во время обработки запроса и управляемое время ожидания. При этом конфигурации со многими очередями, описанные выше, приобретают следующие уникальные свойства: независимость времени обработки запроса от длины очереди, возможность ожидания нескольких событий в различных очередях, возможность динамического изменения приоритета независимо от нахождения в разных очередях.

Классическими элементами управления [1-3] являются постановка в очередь (рис. 2) и выталкивание из очереди (рис. 3). Ограничение времени ожидания в очереди является важной характеристикой при построении гибких стратегий обслуживания.

Для обеспечения данной функции разработан алгоритм постановки в очередь к специализированному таймеру (рис. 4).

Рис. 3. Cхема алгоритма выталкивания из очереди Fig. 3. A diagram of the queue pop out algorithm

Таймер представляет собой совокупность счетчика с типа time и указателя U на структуру, определяющую параметры очереди. При достижении счетчиком нуля все объекты, связанные с указателем U, прекращают ожидание и передаются на дальнейшую обработку, в частности, для постановки в очередь. Далее в счетчик загружается новое значение из очередного элемента очереди [4-6].

Разработанные структура и алгоритмы позволяют получить новое качество при создании сложных стратегий ДО ДП и смешанных ДО, так как повышают эффективность обработки запросов и улучшают характеристики информационных систем при изменяющихся внешних условиях.

Эффективность предложенных новых алгоритмов была проверена на модели СеМО с неоднородной нагрузкой, наиболее адекватно отображающей систему в условиях разнообразных типов данных [7]. Эксперимент проводился для различных ДО и типов запросов с использованием предложенных алгоритмов обслуживания очере-

дей. Используемые обозначения:

- ДО БП - бесприоритетное обслуживание;

- ДО ОП - дисциплина обслуживания заявок с относительными приоритетами;

- ДО ДП1 - дисциплина обслуживания заявок с переходом из одной очереди в другую;

- ДО ДП2 - дисциплина обслуживания заявок с уходом из очереди до начала обслуживания.

В экспериментах был выполнен численный анализ характеристик СеМО с ин-тенсивностями входного потока X от 0,1 до 1,9 для четырех типов запросов, наиболее важных с точки зрения обеспечения качества обслуживания. Приоритеты обозначены целыми числами, увеличивающимися с уменьшением приоритетности, то есть наивысший приоритет обозначен единицей, в частности:

1 - системные запросы (организация взаимодействия пользователей);

2 - системные аналитические за-

просы (статистика, отчетность, документация);

3 - персонифицированные аналитические запросы (запросы пользователей);

4 - фоновые задачи. Результаты представлены на диаграммах (рис. 5, 6).

begin

T = *N.T

U = null

C > T

T = *N.T T = *N.T

T = T - C W = U

T = 0

T > 0

*W.next = nu

T = *N.T

T = T - C W = U

*E. next

*W.obj releas

= *W.obj = H

*N.next = *W. next

*W. next = N

*N.T = *(*N.next).T

*(*N.next).T = -T

Рис. 4. Схема алгоритма постановки в очередь к таймеру Fig. 4. A diagram of the queuing to timer algorithm

2 3

Приоритет запроса Query priority

Рис. 5. Влияние ДО на время ожидания (задержку) запросов различных типов

при средней загрузке (I=1,2) Fig. 5. The influence of service procedure on latency (delay) of various types of queries,

under average load of

Рис. 6. Влияние ДО на время ожидания (задержку) запросов различных типов

при высокой загрузке

Рассмотрим более детально свойство защиты от перегрузок при различных ДО, для чего построим зависимости среднего времени ожидания заявок № 4-х классов, отличающихся приоритетами, при значительном росте нагрузки. Анализ диаграмм показывает сильную зависимость исследуемых характеристик от типа обрабатываемого запроса, то есть его приоритета. Так, для низкоприоритетных запросов нет выраженного предпочтения между различными ДО, тогда как для высокоприоритетных запросов ДП2 безусловно имеет предпочтение, так как значительно сокращает время ожидания в очереди, особенно при высокой загрузке.

Выводы

Результаты расчетов показали, что применение сложных стратегий обслуживания с динамически изменяемыми приоритетами и ограничением времени ожидания обеспечивает улучшение заданных характеристик обслуживания в рабочем режиме, при перегрузках и в нештатных ситуациях, а именно сокращение:

- времени обработки запросов - в 2,3 раза;

- отказа в обслуживании при пиковых нагрузках - в 3,2 раза;

- продолжительности ожидания обслуживания - на 35%.

Библиографический список

1. Коваленко И.Н. Введение в теорию массового обслуживания. М.: Наука, 1987. 336 с.

2. Бронштейн О.И., Духовный. И.М. Модели приоритетного обслуживания в информационно-вычислительных системах. М.: Наука, 1976. 220 с.

3. Майоров С.А., Новиков Г.И., Алиев Т.И., Махарев

3.И., Тимченко Б.Д. Основы теории вычислительных систем. М.: Высш. шк., 1978. 408 с.

4. Дорогов В.Г., Дорогова Е.Г., Гагарина Л.Г., Порт-нов Е.М., Теплова Я.О. Разработка алгоритмических средств для обеспечения заданных характеристик

качества обслуживания запросов в пациент-ориентированной системе информационной поддержки для лиц с ограниченными возможностями здоровья // Аспирант и соискатель. 2013. № 1. С. 80-83.

5. Дорогов В.Г., Дорогова Е.Г., Гагарина Л.Г., Порт-нов Е.М., Теплова Я.О. Математическая модель пациент-ориентированной системы информационной поддержки для лиц с ограниченными возможностями здоровья // Актуальные проблемы современной науки. 2013. № 2. С. 124-127.

6. Гагарина Л.Г., Дорогов В.Г., Соколов И.А. Особенности разработки доступной системы слежения за пассивными подвижными объектами на базе активной фазированной антенной решетки (на примере объекта гражданского назначения) // Оборонный комплекс - научно-техническому прогрессу России.

2014. № 1. С. 8-11.

7. Гагарина Л.Г. Методика оптимизации однопроцессорной обработки запросов к реляционным базам данных // Межотраслевая информационная служба. 2014. № 2. С. 35-39.

References

1. Kovalenko I. N. Vvedenie v teoriyu massovogo ob-sluzhivaniya [Introduction to queuing theory]. Moscow, Nauka Publ., 1987, 336 p. (in Russian).

2. Bronshtein O.I., Dukhovnyi. I.M. Modeli prioritetnogo obsluzhivaniya v informatsion-no-vychislitel'nykh siste-makh [Priority service models in information and computer systems]. Moscow, Nauka Publ., 1976, 220 p. (in Russian).

3. Maiorov S.A., Novikov G.I., Aliev T.I., Makharev E.I., Timchenko B.D. Osnovy teorii vychislitel'nykh sistem. [Fundamentals of computer science]. Moscow, Vyssha-ya shkola Publ.,1978, 408 p. (in Russian).

4. Dorogov V.G., Dorogova E.G., Gagarina L.G., Portnov E.M., Teplova Ya.O. Razrabotka algo-ritmicheskikh sredstv dlya obespecheniya zadannykh kharakteristik kachestva obsluzhivaniya zaprosov v patsient-orientirovannoi sisteme informatsionnoi pod-derzhki dlya lits s ogranichennymi vozmozhnostyami zdorov'ya [Development of algorithmic means for providing the specified enquiry service quality characteristics in the patient-oriented system of information support for people with health limitations]. Aspirant i soiskatel' [Graduate student and Applicant]. 2013, no. 1, pp. 80-83 (in Russian).

5. Dorogov V.G., Dorogova E.G., Gagarina L.G.,

Portnov E.M., Teplova Ya.O. Matematicheskaya model' patsient-orientirovannoi sistemy informatsionnoi pod-derzhki dlya lits s ogranichennymi vozmozhnostyami zdorov'ya [Mathematical model of the patient-oriented system of information support for people with health limitations]. Aktual'nye problemy sovremennoi nauki [Actual problems of modern science]. 2013, no. 2, pp. 124-127 (in Russian).

6. Gagarina L.G., Dorogov V.G., Sokolov I. A. Osoben-nosti razrabotki dostupnoi sistemy slezheniya za pas-sivnymi podvizhnymi ob"ektami na baze aktivnoi faziro-vannoi antennoi reshetki (na primere ob"ekta gra-zhdanskogo naznacheniya) [Development features of the available tracking system of passive mobile objects on the basis of the active phased array antenna (on example of civilian objects)]. Oboronnyi kompleks -nauchno-tekhnicheskomu progressu Rossii [Defense industry achievements - Russian scientific and technical progress]. 2014, no. 1, pp. 8-11 (in Russian).

7. Gagarina L.G. Metodika optimizatsii odnoprotsessor-noi obrabotki zaprosov k relyatsionnym bazam dannykh [Optimization procedure for single processor queries to relational databases]. Mezhotraslevaya informatsion-naya sluzhba [Interindustry information service]. 2014, no. 2, pp. 35-39 (in Russian).

Критерии авторства

Л.Г. Гагарина, В.Г. Дорогов и Е.Г. Дорогова собрали фактический материал, провели анализ данных, написали рукопись. В.Г. Дорогов несет ответственность за плагиат.

Authorship criteria

L.G. Gagarina, V.G. Dorogov, E.G. Dorogova have collected factual evidence, analyzed the obtained data and wrote the article. V.G. Dorogov bears the responsibility for plagiarism.

Конфликт интересов

Авторы заявляют об отсутствии конфликта интересов.

Conflict of interests

The authors declare that there is no conflict of interest regarding the publication of this article.

Статья поступила 19.05.2016 г.

The article was received on 19 May 2016