УДК 004(06) Компьютерные системы и технологии В.Ю. БОРОДАКИЙ, Г.Е. ОКОРОЧЕНКО Московский инженерно-физический институт (государственный университет) ОРГАНИЗАЦИЯ ОЧЕРЕДЕЙ ДЛЯ СИСТЕМЫ ПЕРЕДАЧИ СООБЩЕНИЙ В рамках реализации сети обмена сообщениями проведены специальные исследования и выбран эффективный способ организации очередей для промежуточного хранения передаваемых по сети сообщений. Системы обмена сообщениями относят к категории промежуточного программного обеспечения (Message-Oriented Middleware), которое предоставляет услуги передачи сообщений от одних программ к другим [1, 2]. Программа-источник кладет свое сообщение во входную очередь службы, а программа приемник извлекает его из выходной очереди. Доставку сообщений служба осуществляет через ряд промежуточных серверов (менеджеров очередей), на которых сообщения также хранятся в очередях, связанных с направлениями пересылки. Таким образом, очереди в данной системе повсеместно используют для промежуточного буферирования и хранения принимаемой и передаваемой информации. Через них проходит весь информационный поток. Поэтому эффективность работы подсистемы управления очередями существенно влияет на эффективность работы всей системы передачи сообщений в целом и, прежде всего, на надежность и скорость доставки сообщений. Важнейшим фактором, от которого зависит работа подсистемы управления очередями, является структура данных для хранения очередей. На выбор структуры в данной работе повлияли следующие основные особенности подсистемы и свойства сообщений: количество сообщений в очереди может достигать нескольких тысяч, а их размер – десятков мегабайт; сообщения бывают обычными и срочными; сообщения могут быть направлены нескольким адресатам (групповые сообщения); поиск и выборку сообщений из очереди производят по их приоритету или идентификатору. ISBN 5-7262-0633-9. НАУЧНАЯ СЕССИЯ МИФИ-2006. Том 12 120 УДК 004(06) Компьютерные системы и технологии В рамках данной работы рассмотрена только та часть подсистемы, которая для хранения сообщений использует ресурсы оперативной памяти. Это, прежде всего, относится к передаче срочных сообщений. Для выбора эффективного способа хранения таких данных сделан обзор наиболее распространенных структур и произведена теоретическая оценка эффективности их использования с учетом перечисленных выше особенностей. Рассмотрены однонаправленные и двунаправленные списки, хэш-таблицы, а также различные типы древовидных списковых структур. Для экспериментальной оценки эффективности разработаны программные классы, реализующие основные из этих структур. Создана программа, позволяющая протестировать надежность классов и получить количественные данные для сравнения эффективности. В программу включен генератор псевдослучайного потока сообщений, обеспечивающий задание идентификаторов, размера и приоритета сообщений, а также интервалов между моментами их записи в очередь и выборки из очереди. В результате исследования был принят ряд решений, позволивших существенно улучшить работу подсистемы управления очередями сообщений, в частности: заголовки и тела сообщений отделены друг от друга и помещены в разные очереди, что особенно удобно для обработки групповых сообщений, т.к. тело сообщения при этом всегда хранится в одном экземпляре; в качестве структуры хранения очереди выбрано двойное дерево, в одном из которых указатели на заголовки сообщений упорядочены по приоритету сообщений, а в другом – по их идентификатору. Использование двойной древовидной структуры дало возможность в условиях эксперимента сократить среднее время доступа к очереди по сравнению с двунаправленным списком более чем на два порядка. Список литературы 1. Игнатович Н. IBM MQSeries: архитектура системы очередей сообщений. Журнал "Открытые Системы", №9-10,1999. http://www.osp.ru/os/1999/09-10/036.htm 2. Москаленко А.Ш., Окороченко Г.Е. Модель асинхронного взаимодействия узлов среды передачи сообщений. Научная сессия МИФИ-2005. Сборник научных трудов. В 15 т. М.: МИФИ, 2005. Т. 12. Информатика и процессы управления. Компьютерные системы и технологии. С. 171. ISBN 5-7262-0633-9. НАУЧНАЯ СЕССИЯ МИФИ-2006. Том 12 121