УДК 519.872 (075.8)
С. В. Калиниченко
ВКА им. А. Ф. Можайского
А. Д. Хомоненко
Петербургский государственный университет путей сообщения
МОДЕЛЬ ОЦЕНКИ ОПЕРАТИВНОСТИ ФУНКЦИОНИРОВАНИЯ РАСПРЕДЕЛЁННЫХ АВТОМАТИЗИРОВАННЫХ СИСТЕМ ПРИ ИНТЕГРАЦИИ ДАННЫХ
Рассматривается модель многоканальной марковской системы массового обслуживания с разогревом, используемой для оценки оперативности работы клиент-серверной системы с автоматическим контролем и устранением дублированной информации в распределённой автоматизированной системе. Модель позволяет учесть характер поступления, подготовки к обслуживанию и обслуживания заявок на обработку запросов в клиент-серверной распределённой системе.
дублированная информация, распределённая система, модель системы массового обслуживания с разогревом, экспоненциальное распределение.
Введение
С увеличением количества обрабатываемой информации возникает необходимость использования распределённых автоматизированных систем (РАС). Интеграция данных РАС является сложной, по-прежнему актуальной задачей.
При проектировании РАС большое значение имеет анализ временных показателей. Временные показатели зависят в основном от решений, принимаемых на ранних этапах проектирования распределённой системы: концептуальной схемы базы данных, спецификаций разрабатываемых программ, архитектуры будущей системы (комплекса технических средств, операционной системы, системы управления базой данных), процедуры наполнения базы данных.
В настоящее время для оценки показателей производительности вычислительных систем используются модели систем массового обслуживания [1, 2]. В них не в полной мере учитываются механизм декомпозиции запросов к распределенной базе данных на подзапросы и особенности их обработки в узлах РАС.
47
В статье предлагается подход к анализу времени выполнения запросов к РАС, учитывающий механизмы декомпозиции сложных запросов на подзапросы и соединения (объединения), результаты их выполнения, процедуры контроля наличия несогласованных данных, параметры логической схемы и случайность процесса наполнения базы данных.
Предлагаемый подход можно использовать на ранних этапах проектирования баз данных для оценки оперативности функционирования дополнительных процедур контроля в РАС, используя временные характеристики запросов различной степени сложности на различных аппаратно-программных платформах. При этом оценки получаются в виде преобразований Лапласа - Стилтьеса, что позволяет оценивать не только средние величины, но и дисперсии, а также моменты более высоких порядков.
1 Архитектура клиент-серверной РАС
Для решения названных задач рассмотрим архитектуру клиент-серверной РАС, а также смоделируем функционирование системы с контролем наличия и устранения дублированных данных с помощью многоканальной системы массового обслуживания (СМО) с «разогревом». Модели одноканальных СМО с «разогревом» рассматривались в ряде работ, например [1, 3]. Модель многоканальной СМО с «последовательным разогревом» каналов рассмотрена в [4]. Авторы данной статьи предлагают модель многоканальной марковской СМО с «одновременным разогревом» n каналов.
Использование многоканальной СМО позволяет учесть при моделировании варианты применения многопроцессорных серверных систем и систем с различными процедурами устранения дублированной информации. Наличие «разогрева» в модели СМО дает возможность более полно учесть затраты времени на предварительную работу - контроль и устранение дублированных данных при их интеграции.
С точки зрения практика, децентрализованная информационная РАС -это большая виртуальная база данных. Модель рассматриваемой РАС состоит из нескольких систем управления базами данных (СУБД), рабочих станций с интерфейсами для диалога с СУБД и локальной вычислительной сети или взаимосвязанной сети передачи данных (локальные, магистральные, глобальные). Операторы обращения к СУБД (S—L-операторы) не выполняются в прикладной программе на рабочей станции, а пересылаются по сети на сервер для обработки. Ядро СУБД, получившей запрос-функцию, транслирует и выполняет его. В случаях отсутствия запрашиваемых данных оно обращается к другим СУБД, исходя из общей схемы РАС. Оптимизатор (планировщик) запросов СУБД автоматически выполняет декомпозицию запроса на подзапросы и организует их выполнение. Процедура контроля дублированных
48
данных устраняет повторяющиеся кортежи, дополняя матрицу потенциальных ключевых атрибутов [5].
В качестве исследуемого объекта рассматривается РАС (рис. 1), включающая четыре сервера СУБД (СУБД (0), СУБД (1), СУБД (2), СУБД (3)).
Для получения результата пользователю необходимо выдать запрос к ближайшему доступному серверу (СУБД (0)). СУБД (0), исходя из схемы данных РАС, производит:
- декомпозицию запроса пользователя и выбор данных из соответствующих СУБД (1) - (3);
- контроль, анализ и устранение противоречивых дублированных данных;
- выполнение последовательности соединений промежуточных отношений (Qi = QiX хQi2 х...х Qim), полученных при соответствующих подзапросах;
- преобразование промежуточного отношения в результирующий запрос.
Рассмотрим расчетную схему модели многоканальной марковской СМО
с «разогревом», позволяющей учесть характер поступления, подготовки к обслуживанию и обслуживания заявок на решение задач в клиент-серверной распределённой системе при интеграции данных (рис. 1).
Рис. 1. Схема обработки запроса пользователя в РАС
2 Расчётная схема модели СМО М/М/n «с разогревом»
Оперативность функционирования РАС при интеграции данных с учетом затрат на контроль, анализ и устранение противоречивых данных (рис. 1)
49
оценивалась с помощью модели с марковской СМО M/M/n «с разогревом». Диаграмма переходов между состояниями соответствующей модели СМО представлена на рис. 2.
X х X
а,
*па > ^ па 32
X Ар X Ар А X Ар X Ар X Ар
х Ар
0 1 2
ОфОО
n-2 n-1 n n+1
Рис. 2. Переходы между состояниями СМО M/M/n «с разогревом»
3
Обозначим через S. множество всех микросостояний системы, когда на обслуживании находится ровно j заявок, а через о. - количество элементов в S. Определим матрицы интенсивности переходов [6, 7]:
A [°XOjJ - в S(прибытие заявки);
Б. [ojXoj ] - в Sj X (полное завершение обслуживания заявки);
C. [охо.] - в S. (конец промежуточной фазы обслуживания);
D. [о.хо.] - уход из состояний яруса j (диагональная матрица).
При j > n матрицы перестают меняться (n - число каналов).
Для проведения прикладных расчетов в соответствии с диаграммой переходов (рис. 2) для заданного числа каналов n модели СМО построим матрицы интенсивностей инфинитезимальных переходов:
А -[х
0]; A -
х
0
0
х
- А2 - А3 -... - An;
Со -[0]; C -
х 0 0 х
- С2 - Сз -... - С
N;
ц
0
; B2
0 2ц
0 0
; B3
0 3ц 0 0
... - BN;
D0 -[х]; D
D
X 0 " 0 х + ц
х0
0 х + 3ц
; D2
х 0 ' 0 х + 2ц
dn .
50
Здесь предполагается, что число каналов в модели СМО n = 3.
Введём векторы-строки уj = (уjX,уjX,уj ст } нахождения СМО в стоянии (j, i), j = 0,1,... Теперь можно записать векторно-матричные уравнения баланса переходов между состояниями [6, 7]:
Y0 D0 = Y0C0 + YiBi;
YjDj = Yj_i Aj_i + Y fj + Yj+iB+i, j = 1, 2, ... (1)
В нашей работе использовался итерационный метод расчёта многоканальных СМО, предложенный Такахаси и Таками [8] и проработанный в [6, 7, 9]. Ниже рассматривается схема этого метода.
Положим, gj = Yу/Pj, гдеpj - суммарная вероятность наличия в системе ровно j заявок, и обозначим
xj = Pj+i/Pj; z = Pj-i/Pj. (2)
Теперь систему (1) можно переписать относительно векторов условных вероятностей {t}, нормированных к единице в пределах яруса:
go D0 = g0C0 + x0 giBi;
gjDj = Zj.gj._iAj_i + gfj + Xjgj+iBj+1, j =1 , 2 ,... (3)
С помощью векторов-столбцов 1. = {1, 1, ..., 1}T размером cj. для всех j дополняющие систему (3) уравнения нормировки
gjij =i (4)
и баланса суммарных интенсивностей переходов между смежными ярусами
gjAiii+i = xjgj+iBj+i i (5)
Алгоритм расчёта набора векторов {g.} и чисел {х} и {z}, удовлетворяющих соотношениям (3) - (5), в случае разомкнутой системы с неограниченной очередью опирается на существование предельного вектора условных вероятностей gю = lim jgj, которое является следствием стабилизации матриц интенсивностей при j > n. Алгоритм основан на последовательном приближении к искомым характеристикам для ограниченного множества индексов j = i, N и по существу является вариантом метода Гаусса - Зейделя.
Перепишем уравнения системы (3) для j > 1 в виде
g(r \D, _ C) = zm g^A
+ x (m)< j-i+ xj
g(miBj+i, j=i, 2,
51
Здесь верхний индекс показывает номер итерации. Можно записать
g Г = z (% + *ГР г
где
в=gM-> AD - C )-1;
e"=g <m1 Bi+i( Dj - c >-1.
При j = N считается, что
P N = gN-1 ) BN (DN CN >
-1
Для расчета {*jm>} и {zjm>} перепишем (5) с учётом (6):
jpj+*5m>p;>Ai-+i=j > g5mi в+1
Отсюда следует пропорциональность
= cx{f
(6)
(7)
(8)
(9)
с коэффициентом
c =
g Г B j+.!,-Pj A1,+,
Pj Ai+i
(10)
В этой и последующих формулах произведения матриц переходов на векторы 1 j равны суммам строк и вычисляются до начала итераций.
Из определения {х} следуют равенства
Pj+i = Pj*j ■ (11)
Используя закон сохранения заявок, получим значение для вероятности свободного состояния системы р0 [6, 7]. Последующие вероятности для j = 1,N определяются рекуррентно с помощью (11).
Остальные характеристики СМО (средние времена ожидания начала обслуживания и пребывания заявки в системе, дополнительная функция распределения времени пребывания заявки в системе, средняя длина очереди и т. д.) могут быть получены при использовании найденного распределения вероятностей числа заявок в системе с помощью подходов, изложенных в [6, 7, 10].
52
3 Подготовка исходных данных для моделирования
Для получения соответствующих временных характеристик исследуемых объектов проведён измерительный эксперимент. В качестве характеристик исследуемых объектов использовались:
1. СУБД - Oracle 9i.
2. Процессор - IntelXeon 5160.
3. Оперативная память (ОП) - DDR3-1600 PC3-12800.
4. Внешняя память - RAID10 c 30 дисками (с учетом зеркальных) 3.5'' Seagate Cheetah 15K.6 ST3146356FC (объем диска 147 - Гбайт).
Оценка времени выполнения запроса пользователя сводится к получению оценок времени:
- выполнения запросов к соответствующим СУБД;
- проверки на наличие противоречивых данных;
- компоновки запроса (отношения) для отправки результата пользователю.
В качестве пользовательского запроса, позволяющего произвести выборку распределённых данных через СУБД (0) из соответствующих СУБД (1), (2), (3), использовалась инструкция:
SELECT Характеристика^, Характеристика_2, Характеристика_3, Характеристика_4
FROM Запад-Восток
WHERE ГО_объекта IN (SELECT ГО_объекта
FROM Центр
WHERE (Координата_Х=4699187 AND Координата_Y=8342381)) AND Характеристика_2= «В»
В [11] для выбранного процессора приведено измеренное значение числа процессорных циклов, выполняемых СУБД Oracle за секунду - 1,5 х 109.
Согласно [11], при поиске и чтении 400 записей потрачено 6 х 105 процессорных циклов. Интенсивность обработки записей в процессоре при их поиске и чтении равна = 400 / (6 х 105/1,5 х 109) = 106.
В [11] приведены результаты автотрассировки простого запроса соединения: число обработанных записей во внешней таблице - 320, число процессорных циклов - 7 х 104. Поэтому интенсивность процесса построения записей декартова произведения в процессе определяется как формула = = 320 / (7 х 104/1,5 х 109) = 7 х 106. Х
Согласно [11], при выполнении сортировки 400 записей БД в оперативной памяти потрачено 6,21 секунд процессорного времени, интенсивность сравнений записей БД в процессоре при этом ^с = 14 х 106.
Интенсивность агрегации записей (значений фактов) = ^с = 14 х 106 (так как многие операции агрегирования фактов требуют сортировки - order by, group by и др.).
53
Поскольку поступление заявок (запросов) в свободную систему приводит к дополнительной работе («разогреву») [1, 3, 4] - контроль и устранение дублированных данных, интенсивность «разогрева» для каждой такой процедуры различна. Усреднённые результаты расчётов интенсивности «разогрева» при обработке 400 записей соответственно равны:
- при латентно-семантическом анализе данных [12] р = 4,4 х 106;
- при шаблонной фильтрации данных р^ = 11 х 106;
- при фильтрации потенциальных ключевых атрибутов [5] рк = 2,2 х 106.
С учётом изложенного, рассчитаем интенсивность обслуживания после
проведения «разогрева»:
р = ps + рх + ра = 106 + 7 х 106 + 14 х 106 = 22 х 106.
Общая интенсивность обслуживания потоков передачи и обработки заявок в РАС зависит от фазы подготовки системы к обслуживанию (ф = 0) и фазы (ф = 1) самого обслуживания.
4 Результаты численных экспериментов
Вероятность занятости системы для СМО с неограниченной очередью строго меньше единицы (условие существования стационарного режима) и зависит от коэффициента загрузки [6]. Для слабо загруженной системы (коэффициент загрузки менее 0,5) вероятность того, что в системе есть необслуженные заявки, приближается к нулю. Поэтому для исследования брались значения средней интенсивности между моментами поступлением заявок при нормальной загруженности системы без «разогрева» - X < 0,6 х р.
На рис. 3 представлено распределение числа заявок в системе для различных значений интенсивности «разогрева» (случаи устранения дублированной информации с помощью латентно-семантического анализа данных, шаблонной фильтрации данных, фильтрации потенциальных ключевых атрибутов и др.) при коэффициенте загрузки р = 0,61 и числе каналов обслуживания n = 3.
На рис. 4 представлены графики дополнительной функция распределения времени пребывания заявки в системе при решении задач поиска и устранения дублированной информации указанными выше методами.
Описанная модель функционирования системы может применяться на различных этапах жизненного цикла. На этапе проектирования могут быть получены первые грубые прогнозы эффективности функционирования системы на основе рассчитанных к этому моменту метрик сложности проекта и статистики о процессе переданных и обработанных запросов, собранных ранее при разработке подобных проектов. Такая оценка может быть уточнена на этапе тестирования системы, когда получены более точные данные о распределении
54
F(t>T) Вероятность (P)
Рис. 3. Распределение числа заявок в системе
Рис. 4. ДФР времени пребывания заявки в системе
55
интервалов времени поступления, подготовки к обслуживанию и обслуживания заявок (запросов).
Заключение
Разработанная модель марковской СМО MIMIn с «разогревом» позволяет оценить оперативность работы различных приложений. В частности, модель можно использовать для оценки оперативности функционирования распределенной клиент-серверной системы, обслуживающей клиентские запросы.
При разработке системы выполнен анализ основных методов устранения противоречивой дублированной информации. Это позволило определить технологию задания исходных данных для многоканальной марковской СМО, используемой для оценки оперативности функционирования РАС при интеграции противоречивых данных.
Дальнейшие исследования предполагается продолжить в направлении введения обобщающих предположений относительно законов распределения длительностей интервалов между смежными заявками, длительностей обслуживания и «разогрева». Планируется использовать распределения фазового типа (гиперэкспоненциальное, Кокса, обобщенное распределение Эрланга) [6, 7]. Это позволит повысить точность соответствующей модели многоканальной СМО «с разогревом».
Библиографический список
1. Модели приоритетного обслуживания в информационно-вычислительных системах I О. И. Бронштейн, М. М. Духовный. - М. : Наука, 1976. - 220 с.
2. Stochastic models for database systems. Dissertation for the degree of Doctor Philosophy in the Department of Operations Research I T. Sanli. - Chapel Hill. - 1998. -PP. I-XXXII, 116 P.
3. Распределение числа требований в системе массового обслуживания «с разогревом». Проблемы передачи информации I Ю. И. Рыжиков. - 1973. - Том IX, вып. 1. - С. 88-97.
4. Анализ многоканальной марковской системы с последовательным разогревом I А. Д. Хомоненко, А. И. Слизиков II Сб. алгоритмов и программ типовых задач. - СПб. : МО СССР, 1985. - Вып. 7. - С. 52-65.
5. К вопросу обеспечения интеграции данных в распределенных информационных системах : тезисы докладов Второй Международной научно-практической конференции «Интеллектуальные системы на транспорте» (ИнтеллектТранс-2012) I С. В. Калиниченко, А. Д. Хомоненко, Е. Г. Воробьёв. - СПб. : ПГУПС, 2012. - С. 15-16.
6. Компьютерное моделирование систем с очередями : курс лекций I Ю. И. Рыжиков. - СПб. : ВКА им. А. Ф. Можайского, 2007. - 164 с.
56
7. Численные методы анализа систем и сетей массового обслуживания / А. Д. Хо-моненко. - СПб. : МО СССР, 1991. - 179 с.
8. A numerical method for the steady-state probabilities of a GI/G/c queueing system in a general class / Y Takanashi, Y Takami // J. of the Operat. Res. Soc. of Japan. - 1976. - V 19, N 2. - P. 147-57.
9. Итерационный метод расчёта многоканальных систем с произвольным законом обслуживания / Ю. И. Рыжиков, А. Д. Хомоненко // Problems of Control and Inform. Theory. - V. 9. - № 3. - 1981. - С. 32-38.
10. Распределение времени ожидания в системах массового обслуживания типа GIq/Hk/n/R<ro // А и Т / А. Д. Хомоненко. - 1990. - № 8. - С. 91-98.
11. Теоретические основы анализа процессов доступа к распределенным базам данных / Ю. А. Григорьев, А. Д. Плутенко. - Новосибирск : Наука, 2002. - 222 с.
12. Применение математической модели латентного семантического анализа для разрешения конфликтов в базах данных / Е. И. Столбников // Труды Международной научно-методической конференции. - СПб. : ПГУПС, 2011. - С. 86-97.
© Калиниченко С. В., Хомоненко А. Д., 2013
57