Моделирование сервера баз данных в технологии «Клиент-сервер» с использованием неэкспоненциальных моделей массового обслуживания

Тип работы:
Реферат
Предмет:
Общие и комплексные проблемы естественных и точных наук


Узнать стоимость

Детальная информация о работе

Выдержка из работы

16 декабря 2011 г. 17: 59
Т-Сопіт #10−2010
(Технологии информационного общест ва)
Моделирование сервера баз данных в технологии «клиент-сервер» с использованием неэкспоненциальных моделей массового обслуживания
Работа сервера баз данных может быть смоделирована с помощью однолинейной или многолинейной системы массового обслуживания с бесконечной очередью. Число каналов обслуживания в такой системе обычно определяется числом процессоров. При этом входные потоки и время обаїу-живания в такой системе не обязательно распределены по экспоненциальному закону. Поэтому применение экспоненциальных моделей часто дает результаты, по которым можно принять ошибочное решение по созданию реальной системы, а иногда экспоненциальные модели вообще говорят о невозможности достигнуть требуемых значений временных характеристик. Показана возможность использования неэкспоненциазьных модезей для аназиза работы таких серверов.
Ерохин Л. Г.
Важнейшим компонентом любой информационной системы является сервер, поэтому необходимо проводить оценку характеристик всех серверов, входящих в состав системы. При этом не суть важно, какие функции выполняет сервер, подходы к моделированию во всех случаях одинаковы, необходимо лишь правильно рассчитать время его работы.
Рассмотрим модель системы массового обслуживания С/О//. Модель 670'-// это набор математических формул, которые позволяют прогнозировать производительность систем массового обслуживания с произвольным распределением входных потоков и времени обслуживания. и удовлетворяющих, кроме этого, следующим условиям:
• Наличие / однородных параллельных независимых каналов обслуживания с одинаковыми характеристиками функциональности и производительности-
• Отсутствие ограничений на длину очереди, любой запрос, попадающий в очередь, не покидает се, не получив соответствующего обслуживания-
• Дисциплина обслуживания ЬСТ5, т. е. обслуживание в порядке поступления запросов.
Таким образом, правильно было бы записать обозначение данной системы, как С/С///оо/Л7г5. однако, поскольку последние две характеристики подразумеваются по умолчанию, то они обычно в обозначениях опускаются. Пример системы О 0/1 показан на рис. 1.
Рис. 2. Система С/О/1
Система С/С/1 во многих случаях удачно подходит для анализа производительности серверов, и в частности. серверов Огасіе [1], Однако в литературе, и в частности. в [1], использовалась частная разновидность системы С/С// - система М/М/1, т. е. система с экспоненциальным распределением времени обслуживания заявок и времени между поступлением заявок, что возможно во многих случаях, но все же далеко не всегда. Модель
М/М/1 можно применять только для подмножества пакетных данных, демонстрирующих соответствующее поведение. Такое поведение может наблюдаться лишь в короткие интервалы наблюдений. Например, если рассматривать время между поступлениями пакетных заданий на протяжении суток, то они. скорее всего, не будут распределены экспоненциально — ночной интервал наверняка будет значительно больше дневного. Время обслуживания в этом случае также вряд ли будет распределено экспоненциально. Если же рассматривать обслуживание всех заданий, выполненных в течение одной минуты, то их время обслуживания, скорее всего, будет экспоненциальным.
Рассмотрим пример. Пусть имеется два варианта работы сервера баз данных в течение двух часов:
В обоих случаях среднее значение числа поступивших заявок равно 30, но различие между этими вариантами очевидно. Например, в случае I распределение времени прихода заявок на промежутке с 11: 30 до 13: 30 отличается от экспоненциального, но в промежутке с 12: 00 до 12: 15 оно с большой вероятностью имеет экспоненциальное распределение.
Отсюда можно сделать два вытекающих друг из друга вывода. Первый состоит в том. что среди любого интервала наблюдений часто можно найти такой подин-тервал. в течение которого входные потоки и время обслуживания будут экспоненциальными. Второй вывод состоит в том. что если условие экспоненциальности на каком либо интервале наблюдений не выполняется, то пало выбрать другой, более короткий интервал.
Таблица I
Два нариаша иостмснми заивок на сервер баз данных
Интервал времени Количество заявок
I вариант II вариант
11: 30 11: 45 0 34
11: 45 12: 00 0 28
12: 00 12: 15 240 31
12: 15 12: 30 0 37
12: 30 12: 45 0 24
12: 45 13: 00 0 30
13: 00 13: 15 0 32
13: 15 13: 30 0 24
Однако следует заметить, что «часто» не означает «всегда», и кроме того, сокращение интервала наблюдений тоже не всегда возможно. Если же речь идет о прогнозе, т. е. когда система еще не создана и никаких наблюдений провести нельзя, то допущение экспонснци-альности становится еще более сомнительным.
11оэтому, как отмечается в [ 1 ]. модель должна также знать, каким образом распределена каждая случайная величина. Необходимо сообщать модели дополнительную информацию о свойствах случайных входных параметров, а не просто их средние значения.
Это значительно усложняет расчеты. Однако в настоящее время получены аналитические результаты для всроятностно-врсмснных характеристик различных систем массового обслуживания на основе двух характеристик входного потока и времени обслуживания — среднего значения и квадрата коэффициента вариации, что позволяет проводить анализ характеристик таких систем в широком диапазоне распределений случайных величин. В частности, в работе [2], такой анализ был произведен для систем класса (1/0/1 с неограниченной емкостью очереди. В этой работе были получены явные выражения для среднего времени пребывания заявки (задания) в системе (Ту), дисперсии времени пребывания заявки в системе (п, ч) и, самое главное, для максимального времени пребывания заявки в системе (Г (/,"), т. е. такого времени, превышение которого возможно только для заданной доли всех заявок (Р,"). В соответствии с [2]. максимальное время пребывания заявки в системе может быть определено из решения трансцендентных уравнений:
е'-***- + а: ¦ е м-Тч- -(1 -Рт) = 0 & lt-I)
если квадрат коэффициента вариации потока заявок на выходе системы (С') больше или равен 1-
Л.
А,-Л,
(2)
Я,
л,-А,
А =2 -4& gt-0/ТЧ /л=2 (|-Ф")/Тч
ИИ
С., -1
я. =-
Г,. V ,
Тч
«,=1/С-
Все эти выражения достаточно сложны для проведения ручных вычислений, однако, они были доведены до программной реализации в виде пакета прикладных программ „Дифар“ [3.4. 5]. Использование пакета „Дифар“, как и других пакетов программ аналитического моделирования, позволяет значительно упростить и сократить время расчетов и получить весьма интересные результаты. Рассмотрим простейший пример системы массового обслуживания с одним прибором, который приведен в [1] (рис. 2).
если квадрат коэффициента вариации потока заявок на выходе системы меньше 1, где а, ц,. а-. Ц: — параметры гипсрэкспоненцнального распределения, д.-. п — параметры распределения эрланговского типа.
„I = фд
от, =1-Ф“
Рис. 3. Одноканальная система массового обслужижвання
На вход такой системы поступает поток заявок со средней интенсивностью среднее время обслуживания Т. ч = I///. где ц — средняя интенсивность обслуживания заявок. Рассмотрим два варианта работы системы: в первом случае положим нсэкспоненцнальное распределение для времени обслуживания, во втором — неэкспонснци-альность входного потока. Зададим для этих величин
-1
значения квадрата коэффициента вариации (С. „, для входного потока. С& quot- для времени обслуживания), равное 0.5 (распределение Эрланга второго порядка), 2 (ги-псрэкспонснциальнос распределение второго порядка) и 5 (гиперэкспонепциалыюс распределение пятого порядка). Пусть ц~30. проведем расчеты в диапазоне значений & gt-. Результаты приведены в табл. 2.
Таблица 2
Расчет характеристик одноканальной СМОдля нежспоисициального распределения случайных величин
Неэкспоненциальное время обслуживания
X С- Тч
10 0.5 0,583 666
¦& gt- 0,928 161
5 0,161 715
15 0,5 0,708 833
*“ 0. 122 558
5 0,225 906
20 0.5 0,916 668
„& gt- 0. 166 666
5 0,316 666
Нсікспоненцнльньїй поток заявок
X с- тч
10 0,5 0. 630 747
2 0,833 999
5 0,124 050
15 0.5 0. 779 945
2 0,108 433
5 0,169 409
20 0.5 0. 1
2 0. 15
5 0,25
49
Если имеются конкретные данные о числе поступивших заявок в систему, то оценка значения квадрата коэффициента вариации может быть вычислена, как отношение выборочной дисперсии к квадрату выборочного среднего [6]. Так. в случае, показанном в табл. 3. 1, значение квадрата коэффициента вариации для варианта I будет равно 7, а для варианта II — 0,02.
Рассмотрим решение ряда задач анализа производительности серверов баз данных, основываясь на неэкспоненциальных формулах для системы 0/0/1.
Пример 1. В международном аэропорту открывается новый билетный зал из шести касс. Возможны два варианта работы: одна длинная очередь для направления клиентов ко всем шести кассам или шесть коротких очередей, каждая из которых относилась бы только к определенному кассиру. Требуется определить, какая конфигурация обеспечит наименьшее время отклика базы данных.
Расчет максимального времени отклика будем производить для 95% заявок, применив модель 0/0/1. Пусть среднее число пассажиров составляет 2000 человек/час, а среднее время обслуживания одного пассажира — 0,5 с. Для экспоненциального распределения имеем следующие исходные данные:
& gt-. -2000,3600−0. 5556 чел/с, ц-1/0.5 заявки/с.
Расчет в случае одной общей очереди дает результаты: в случае одной очереди '-/& lt-/-0,5 с, 7& lt-/ш=1,49 787 с, в случае нескольких очередей Тд=0. 52 427 с, 7& lt-/“ = 1. 5574 с.
Для неэкспонснциального случая (квадрат коэффи-цента вариации равен 0,5) имеем: в случае одной очереди /V/-0,524 272 с, Тц"~ 1,52 274 с, в случае нескольких очередей 7& quot-<-/=0,564 101 с. Тц =1. 25 504 с.
Как видно, во всех случаях одна очередь ко всем кассам обеспечивает лучшее значение времени отклика, но при этом само значение максимального времени обслуживания значительно отличается.
Пример 2. Перед клиентом стоит выбор: какой из двух компьютеров купить? Первая модель имеет одип процессор. который способен выполнять 40 000 операций логического чтения (НО) Огас1е в секунду. Вторая модель имеет четыре процессора в симметричной многопроцессорной конфигурации, но каждый из этих процессоров может выполнять всего 15 000 операций, НО в секунду.
Пусть решается задача проверки дебета с кредитом в различных бухгалтерских книгах. Это требует ежедневного составления 15 отчетов по 200 страниц каждый. Каждый такой отчет требует выполнения 72 000 000 вызовов логического чтения Огас1е (1. 10). Следовательно, интенсивность поступления заявок составит:
& gt-.= 15×72 000 000/24/60/60−12 500 заявок/с.
Рассмотрим модель с четырьмя процессорами, максимальное время будем считать для 90% заявок.
Для экспоненциального случая имеем: 7& lt-/=0,668 с, /'-& lt-/,"-0,199 с, для нсэкспоненниалыюго случая (квадрат коэффициента вариации равен 0,5) имеем: Г& lt-/"0. 706 с. Гу,=0. 162 с.
Тот же самый расчет для случая для случая с одним мощным процессором дает результат: для экспоненциального случая /& lt-/-0. 0000. i63 с, 7'-& lt-/» «0. 0000X99 с, для неэкспоненциального случая 7& lt-/-0. 466 с, Тц,"=0. 999 с.
Следует иметь в виду, что полученные результаты относятся ко времени, потраченному на одну операцию логического чтения, а не на один отчет. Из расчетов
видно, что один мощный процессор лучше. Конечно, такой вывод можно сделать и на основе только экспоненциальных моделей. Однако видно, что различие в результатах весьма существенное, и. если бы стояла задача достижения конкретного временного значения, то здесь влияние распределения потоков на выходные характеристики весьма значительно. Это может проиллюстрировать следующий пример.
Пример 3. На выполнение важной команды 801. расходуется 0. 49 секунды процессорного времени. Предположим, что в период пиковой загрузки системы каждый из 100 пользователей будет выполнять эту команду с частотой четыре раза в минуту. Сервер, работающий под Цілих, допускает установку до 16 процессоров. Сколько процессоров потребуется данному серверу, сели необходимо обеспечить время отклика не более одной секунды по крайней мере для 95% выполнений команды пользователями в период пиковой загрузки?
Модель системы массового обслуживания и исходные данные приведены на рис. 5.
Экспоненциальная модель дает следующие результаты [11: система с 1, 2, 3 процессорами вообще не дает возможность обслужить такой поток заявок. Только для случая 1−4 мы получаем некоторый результат: Г& lt-/», 2. 16 с. Но этот результат нас также не может устроить, т.к. по условию задачи Г& lt-/," & lt- 1 с. Такой же результат достигается и при увеличении количества процессоров (для /= 16 /& lt-/"-1,46 с). Если бы было возможно увеличение значения / даже до 1000, система все равно не сможет обеспечить заданную производительность, хотя случай /= I (НК) нереальный. Отсюда следует вывод: такой поток заявок обслужить нельзя.
Но предположим, что число поступающих заявок и время обслуживания характеризуются значением квадрата коэффициента вариации, равным 0.5 (распределение Эрланга). В этом случае для четырех процессоров время /& lt-/",-2 будет равно 1. 46 с. а для 16 процессоров -1. 17 с. Этот результат также неудовлетворителен, однако он значительно ближе к искомому, и поэтому при проектировании системы возникает предмет для обсуждения.
Снизим требования к системе. Пусть необходимо обеспечить время отклика системы не более одной секунды не для 95%, а для 90% выполнений команды. Дія экспоненциальной модели результат все равно не достижим (для /=4 Тч"Г 1. 76 907 с, а для /=16 7г/. ,-1,12 827 с). Введение же квадрата коэффициента вариации, равного 0.5 дает следующие результаты: дія 1=4 7& lt-/,"= 1. 23 423 с. а для /= 16 7& lt-/","0,944 019 с. т.с. приемлемый результат достигается. Вообще, уже начиная со значения /"6 система может обеспечить заданные требования.
Полная сводка результатов расчета дтя экспоненциального и неэкспоненциатыюго случаев приведена в табл. 4 н 5.
1-І000 4/60 з/с: з/с
Рис. 5. Модель и исходные данные для расчета характеристик многопроцессорного сервера
51
Таблица 4
Расчет характеристик работы многопроцессорного сервера для выполнении важной команды в период пиковой загрузки (экспоненциальное распределение входною, но I ока и времени обслуживании)
Число процессоров Загрузка процессора Среднее время отклика, с Макс. время отклика, с
4 0. 816 667 0. 908 788 1. 76 907
5 0. 653 333 0. 576 871 1. 22 387
6 0. 544 445 0,514 633 1,15 353
7 0,466 667 0,497 636 1,13 654
X 0,408 333 0. 492 142 1,13 040
9 0,662 963 0,490 597 1,12 885
10 0,326 667 0,490 039 1. 12 841
11 0,296 670 0. 490 009 1. 12 829
12 0,272 222 0,490 002 1. 12 827
13 0,251 282 0,490 000 1. 12 827
14 0,233 333 0,490 000 1. 12 827
15 0,217 778 0,490 000 1. 12 827
16 0,204 167 0,490 000 1. 12 827
Таблица 5
Расчет характеристик работы МНОІ онроиессорното сервера. їли выполнении важной команды 401. в период никовой загрузки (нежснонснциалыше распре деление входною потока н времени обслуживании)
Число процессоров Загрузка процессора Среднее время отклика, с Макс. время отклика, с
4 0. 816 667 0,694 951 1. 23 423
5 0. 653 333 0,553 277 1. 1 504
6 0. 544 445 0,530 659 0,985 992
7 0. 466 667 0. 518 094 0. 970 879
8 0. 408 333 0,510 328 0. 961 929
9 0,362 963 0,505 319 0,956 319
10 0. 326 667 0. 501 894 0,952 558
11 0,296 970 0,499 474 0,949 937
12 2,272 222 0. 497 706 0,948 041
13 0,251 282 0. 496 364 0. 946 612
14 0,233 333 0. 495 339 0. 945 528
15 0. 217 778 0. 494 547 0. 944 693
16 0. 204 167 0,493 904 0,944 019
Как видно из всех рассмотренных примеров, учет характеристик потоков в системе массового обслуживания имеет очень существенное значение для оценки характеристик серверов баз данных. Но при этом встает вопрос выбора соответствующих значений квадратов коэффициентов вариации и правильной оценки времени обслуживания.
В соответствии с [1] под временем отклика сервера баз данных на запрос пользователя понимается сумма времени обслуживания и времени ожидания, причем пол временем ожидания понимается не время задержки в очередях к дискам сервера, а общее фактическое время, прошедшее с момента последней инструкции, предше-
ствующей выполнению вызова операционной системы и до первой инструкции, следующей за возвратом вызова операционной системы. Например, для отдельного вызова чтения операционной системы время ожидания Огас1с включает в себя следующие составляющие:
8,", — время работы процессора, потраченное на подготовку системного вызова и его завершение (учитывается дважды) — - задержка в очереди к дисковому устройству- 5д"с. — время работы дискового устройства, включая задержку поиска, задержку вращения и задержку передачи данных обратно с устройства ввода/вывода в память, к которой обращается процессор- Шш| - задержка в очереди к процессору (рис. 6).
ш/шт.
процессор
Рис. 6. Время ожидания сервера баз данных
52
В работе (7) предложена функциональная модель взаимодействия пользователей с базой данных в виде открытой сети массового обслуживания (рис. 7). В сети (рис. 7) в качестве заявок рассматриваются запросы пользователей к базе данных. Запросы пользователей передаются по каналу передачи данных (система Б,), поступают на центральный процессор сервера (система 5:). далее может производиться чтение или запись данных на дисковые накопители сервера (система Я0, затем осуществляется передача ответов на запросы по обратному каналу данных (система Я Д При осуществлении доступа возможна ситуация, когда запись заблокирована другими пользователями, что соответствует переходу в состояние ожидания блокировки. Эта задержка моделируется системой Бч.
В работе [8] был произведен расчет характеристик сервера баз данных при таком моделировании в широком диапазоне изменения нагрузки для случая неэкспо-
ненциального распределения входного потока и времени обслуживания (значение квадрата коэффициента вариации было принято равным 10) и для случая экспоненциального распределения (ММ… системы). Там же приводятся результаты имитационного моделирования работы данной системы. Как видно из [8], использование неэкспоненциальных моделей приводит к получению результатов. значительно более близких к результатам имитационного моделирования, однако с ростом нагрузки различие в результатах увеличивается (например, для входного потока 0. 0001 1 /те среднее время задержки составляет 845,9 ик (имитационное моделирование даст результат 949.0 пв), а для входного потока 0,0003 1/т$ разница уже более значительна (1382.6 те для аналитического моделирования и 4806.0 ггь для имитационного моделирования).
н
н
S4
шш
S
S,
Рис. 7 Функциональная модель клиент-с ер верной информационной системы в виде открытой сети массового Обслуживания
Если же принять значение квадрата коэффициента вариации, равное 50. то для входного потока 0,0003 1/пл5 получим более близкий к результатам имитационного моделирования результат — 4703.6 пи& gt- (расчеты, как и в работе [8]. проводились с использованием пакета прикладных программ «Дифар» [3. 4,5]. Таким образом, можно сделать вывод о том. что с ростом нагрузки для анализа характеристик серверов необходимо использовать распределения с большим значением квадрата коэффициента вариации.
Проведем анализ сервера баз данных, приняв в качестве модели систему массового обслуживания 670//. приняв в качестве значений для составляющих времени ожидания сервера баз данных (рис. 3. 6) значения задержек из работы [8]. Использование неэкспонснциальных моделей с значением квадрата коэффициента вариации, равным 50. также дает результат, близкий к результатам
имитационного моделирования — 3871.2 ms. Использование коэффициента вариации, равного 70. даст еще более близкий результат — 4795,6 ms.
Таким образом, использование моделей в виде систем массового обслуживания при анализе функционирования серверов баз данных вполне допустимо и не снижает качества оценки параметров производительности. Для выбора же нужных значений квадрата коэффициентов вариации можно воспользоваться значениями времени ожидания, полученными в результате выполнения конкретных запросов. Для ядра Oracle, в частности, эти значения публикуются в статистике cla в строках WAIT расширенной трассировки и в фиксированных представлениях, в частности V$SESSION_WAIT. WAlT_TME, VSSESSION-EVENT. TIME_WAITED и других. Аналогичная статистика ведется и в других серверах баз данных. таких, как MS SQL Server.
53

ПоказатьСвернуть
Заполнить форму текущей работой