Труды МАИ. Выпуск № 94
http://trudymai.ru/
УДК 623.618.3
Модель информационного обеспечения систем управления реального времени при решении задач с широким спектром входных данных
Дудаков Н.С*., Макаров К.В.**, Путято С.А.***
Группа компаний «РТИ», ул. 8 Марта,10, стр. 1, Москва, 127083, Россия *e-mail: [email protected] **e-mail: [email protected] ***e-mail: [email protected]
Аннотация
В работе решается задача управления хранением данных с широким спектром характеристик. Предложено использование аппарата теории массового обслуживания для описания процесса обработки и хранения информации. Решается задача оптимизации структуры СУБД при работе с разнородными данными.
Ключевые слова: системы управления базами данных, автоматизированные системы управления, теория массового обслуживания.
Введение
При проектировании современных информационных систем одним из наиболее важных моментов является управление доступом, хранением и использованием информации. С увеличением объемов информации и сложности
вычислений при анализе и обработке данных возрастают требования к системам управления базами данных (СУБД) информационных систем.
Проектирование и исследование баз данных представляет собой динамично развивающуюся область разработки программного обеспечения. Вопросы разработки и проектирования СУБД широко представлены в научной и прикладной литературе, как в классических работах (К. Дж. Дейт, Э. Кодд, Т. Коннелли) [1], так и в материалах по современным реализациям СУБД (Oracle, DB2, PostgreSQL, Линтер).
В большинстве современных проектов в качестве универсальной СУБД используется клиент-серверная объектно-реляционная промышленная СУБД PostgreSQL. Зачастую, PostgreSQL удовлетворяет поставленным при проектировании требованиям, тем не менее, при высокой нагрузке, время выполнения ряда запросов может быть уменьшено на 90% заменой промышленной СУБД на более простую и, в ряде случаев, быструю локальную базу данных (БД). В то же время, возможностей простых и быстрых локальных БД не достаточно для выполнения всех функциональных требований.
Для сравнения производительности баз данных при определенной нагрузке построена зависимость времени выполнения запросов на чтение для промышленной клиент-серверной СУБД, сервер которой расположен локально и удаленно соответственно, а также для движка БД SQLite - простого и производительного локального хранилища данных (Рис.1):
Рис.1 Время чтения данных при повышении интенсивности запросов Зависимость времени чтения данных при росте интенсивности запросов показывает существенную зависимость времени чтения данных от состояния и загрузки каналов между сервером СУБД (кластером серверов) и рабочим местами пользователей. Также, использование более простой и быстрой локальной БД позволяет сохранить малое время чтения данных при значительном росте нагрузки. В то же время, возможностей простых и быстрых локальных БД не достаточно для выполнения всех функциональных требований.
Оценка эффективности СУБД при решении задач с широким спектром
входных данных
Одним из вариантов решения задачи хранения и обработки данных при высокой нагрузке может быть оптимизация структуры СУБД при неизменных программных и аппаратных средствах. При возможности кластеризации обрабатываемых данных по темпам обновления и доступа на малосвязанные
области, актуальным является использование распределенных неоднородных СУБД [2] (РН СУБД): подбор распределения данных, с учетом их характеристик, по частям РН СУБД позволит обрабатывать их с большей эффективностью. Недостатком применения РН СУБД, очевидно, является снижение надежности системы в целом и необходимость поддержки ссылочной целостности всей системы.
Для описания процесса обработки запросов в СУБД в работе предлагается провести математическое моделирование СУБД, для чего использовать аппарат теории массового обслуживания (ТМО). Математическое моделирование распределенных систем широко используется, в частности, при проектировании систем специального назначения [3].
При описании модели, хранимую информацию удобно представлять в виде объектов, объекты группируются в классы данных, каждый объект принадлежит единственному классу.
Для формальной постановки задачи вводятся следующие обозначения:
" Е Л\; = 1.Л" - класс данных;
Е М.:' = П7 - компонент РН СУБД.
Исходя из аппарата ТМО, система, состоящая из выбранного хранилища и
потока запросов группы классов, рассматривается, как система массового
обслуживания (СМО), обрабатывающая случайный поток заявок. СМО
рассматривается, как система с бесконечным ожиданием, т.к., отбрасывание
устаревших пакетов осуществляется на уровне подключаемых служб и приложений.
Поступление информации от большого числа источников сложно предсказуемо, на
основании чего время между поступлениями информации считается случайным. Последовательный разбор и пакетное поступление данных позволяют считать, что в каждый момент времени может произойти только одно событие.
Согласно классическим работам (теорема Пальма, предельная теорема Хинчина) [4], «реальный» поток данных с достаточным приближением описывается, как пуассоновский, число событий к на временном интервале ^0 распределено с вероятностью:
(1)
где А > 0 - интенсивность потока событий.
При рассмотрении времени обработки запросов, тип входящей заявки можно считать случайным - дискретной случайной величиной с вероятностью получения заявки класса^-, определяемой следующим образом:
(2)
В соответствии с аддитивностью пуассоновского потока, считается, что в систему поступает один поток с интенсивностью Л = ± и случайным, дискретно распределенным временем обслуживания Ь, функция распределения (Ф.Р.) которого В(1:) - ступенчатая функция.
Для описания системы предлагается использовать «элемент принадлежности» класса к хранилищу:
где обозначение п] т1 определяет обработку объектов класса ^ в
компоненте
Далее, для связанных классов (выполнение запроса к классу пц требует предварительного выполнения запроса Щ2) можно полагать реальное время
выполнения заявки:
(4)
Для запросов на чтение, которые в большинстве современных баз данных являются неконкурентными между собой, вводится отдельная величина - время выполнения запроса типа П1 на чтение. Тогда, учитывая одновременную возможность выполнения запросов на чтение, для каждого хранилища рассматривается запрос отдельного типа с интенсивностью:
N
^N + 1 — 7
X
(5)
1=1
и временем обработки заявки:
N
—У
N/-1
^Хц
(6)
1=1
Рассматривая описанную модель, искомой величиной является среднее время
ожидания заявки:
где Ъ(2) - второй момент времени обслуживания, время обработки заявок дискретная случайная величина с Ф.Р.
N
N
(8)
1=0
1=0
Соответственно, «реальное» (ожидаемое) время выполнения заявки т
ьи = о^ + ь^х,
(9)
Линейная зависимость величин Ъш+1 и Ь|± ох переменных х,/ позволяет
использовать модель без ограничения общности.
Для оценки точности модели проводилось сравнение времени ожидания выполнения запросов для движка БД БрЬйе (Рис.2):
Рис.2 Точность моделирования при повышении интенсивности запросов
Построенные зависимости времени ожидания выполнения запросов при росте интенсивности нагрузки показывают, что модель является адекватной и применимой даже при конкурентном доступе к БД.
Рассматривая распределение % = данных по РН СУБД,
критерием эффективности для одного хранилища предлагается считать среднее время ожидания выполнения запроса,
(10)
Для системы хранилищ, критерий построен на основе полного времени пребывания заявки в системе:
М N
№
Ом +
(11)
Критерий позволяет учесть загрузку всех хранилищ соответственно обрабатываемым наборам классов и динамику поступления входящих заявок.
Оптимальное управление структурой СУБД Предложенные модель и критерии позволяют количественно оценить эффективность СУБД, при этом возникает задача построения соответствия классов (разбиения данных) и компонентов СУБД.
Задачу поиска оптимального разбиения хранимых данных ставится следующим образом: необходимо найти минимум критерия J (10) на множестве
всевозможных распределений X при ограничениях, обеспечивающих отсутствие
накопления очереди при обработке запросов и обработку каждого класса единственным хранилищем:
Задача оптимизации, поставленная в работе, является задачей псевдо-булева программирования. В качестве метода решения задачи предлагается сведение исходной нелинейной задачи к дробно-линейной путём замены каждого попарного произведения переменных хи]2*хЩ4 на новую переменную иЩ2»]4 е (ОД) с добавлением дополнительных ограничений [5]. Далее, частично линеаризованная задача сводится к широко известной проблеме выполнимости булевых формул (БАТ-задача). Суть преобразований при решении задачи оптимизации сводится к получению решения, удовлетворяющего ограничениям (построение приемлемого решения) и итерационному добавлению нового ограничения для отсечения найденного решения.
Также, вариантом решения задачи оптимизации может быть поиск локального оптимального значения критерия (10) при начальном приближении, соответствующем минимуму загрузки компонент СУБД:
(12)
Линейная зависимость выражения (13) от переменных обеспечивает быстрый поиск начального приближения, корреляция загрузки (13) и критерия (10) - быструю сходимость к минимуму критерия.
Сведение задачи оптимизации к задаче выполнимости булевых формул широко распространено вследствие развитого математического аппарата решения SAT-задач. Так, например, задачи кластеризации легко могут быть представлены, как задачи псевдо-булева программирования с соответствующим решением [6]. На настоящий момент применяются два основных типа алгоритмов для решения SAT-задачи: алгоритмы локального поиска, работа которых состоит в модификации некоторого начального приближения до выполняющего набора переменных, и DPLL-алгоритмы (Алгоритм Дэвиса-Патнема-Логемана-Лавленда), которые выполняют поиск в глубину по дереву всевозможных наборов. Программно реализуемые алгоритмы, в основном, сочетают практически более быстрые алгоритмы локального поиска с возможностями DPLL-алгоритмов по упрощению и сокращению размера формул. Несмотря на высокую теоретическую сложность алгоритмов, программы SAT-solvers достаточно эффективны на практике: согласно результатам ежегодно проводимого соревнования, программы за приемлемое время решают задачи, состоящие из порядка 104 переменных и 5-104 ограничений.
Практическая реализация распределения данных с использованием современных реляционных СУБД PostgreSQL [7] и БД SQLite показывает значительный прирост производительности: по сравнению с использованием только клиент-серверной СУБД PostgreSQL (Рис.3):
Рис.3 Среднее время выполнения запросов при повышении нагрузки
Построенные зависимости показывают, что оптимальное распределение классов данных значительно уменьшает среднее время выполнения запросов и позволяет вдвое увеличить нагрузку без потери производительности.
Заключение
В работе рассматривалась задача проектирования СУБД для высоконагруженных систем. Вследствие разнородности решаемых задач и существенной зависимости производительности СУБД от характеристик хранимых данных, предлагается использование РН СУБД.
Разработана математическая модель РН СУБД на основе аппарата ТМО, позволяющая количественно охарактеризовать эффективность СУБД с точки зрения производительности и учитывающая неконкурентные и связанные запросы к СУБД.
Согласно полученным экспериментальным данным, модель является точной и адекватной даже при значительной интенсивности запросов.
Поставлена задача оптимизации структуры РН СУБД путем поиска оптимального разбиения хранимых данных по частям РН СУБД. Предложен метод решения задачи оптимизации, как задачи псевдо-булева программирования, на основе сведения к задаче булевой выполнимости.
Пример решения задачи показывает, что разработанная модель, критерии и методы получения оптимального разбиения хранимых данных позволяют получить оценку и обеспечить повышение качества работы СУБД при решении задач с разнородными данными за счет оптимального управления структурой СУБД.
Работа выполнена при поддержке гранта Президента РФ
(№ НШ-6831.2016.8)
Библиографический список
1. Кузнецов С.Д. Основы современных баз данных. - М.: Изд-во «Интернет-университет информационных технологий», 2005. - 488 с.
2. Дейт К. Дж. Введение в системы баз данных. - М.: Вильямс, 2001. 1328 с.
3. Кондрашин М.А., Арсенов О.Ю., Козлов И.В. Применение технологии виртуализации и облачных вычислений при построении сложных распределенных моделирующих систем // Труды МАИ. 2016. № 89. ЦКЬ: http://trudymai.ru/published.php?ID=73411
4. Клейнрок Л. Теория массового обслуживания - М.: Машиностроение, 1979. -432 с.
5. Boros E., Peter L. Hammer. Pseudo-Boolean Optimization // Discrete Applied Mathematics. 2002. Vol. 123, pp. 155-225.
6. Калашников В.Б. Сравнительный анализ алгоритмов обнаружения объектов с неизвестной поляризационной матрицей рассеяния методов математического моделирования // Труды МАИ. 2016. № 89. URL: http: //trudymai .ru/published.php?ID=73368
7. Муравьев С.К., Дворянкин С.В., Насенков И.И. СУБД: проблема выбора // Открытые системы. СУБД. 2015. № 1. С. 22-24.