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

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

CC BY
543
118
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ерохин А. Г.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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

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 <I)

если квадрат коэффициента вариации потока заявок на выходе системы (С‘ ) больше или равен 1;

Л.

А,-Л,

(2)

Я,

л,-А,

А =2 -4>0/ТЧ /л=2 (|-Ф„)/Тч

ИИ

С.:, -1

я. =-

Г,. V ,

Тч

»,=1/С-

Все эти выражения достаточно сложны для проведения ручных вычислений, однако, они были доведены до программной реализации в виде пакета прикладных программ «Дифар» [3.4.5]. Использование пакета «Дифар», как и других пакетов программ аналитического моделирования, позволяет значительно упростить и сократить время расчетов и получить весьма интересные результаты. Рассмотрим простейший пример системы массового обслуживания с одним прибором, который приведен в [1] (рис. 2).

если квадрат коэффициента вариации потока заявок на выходе системы меньше 1, где а,, ц,. а;. Ц: - параметры гипсрэкспоненцнального распределения, д.;. п\ - параметры распределения эрланговского типа.

«I = фд

от, =1-Ф„

Рис. 3. Одноканальная система массового обслужижвання

На вход такой системы поступает поток заявок со средней интенсивностью среднее время обслуживания Т.ч = I///. где ц - средняя интенсивность обслуживания заявок. Рассмотрим два варианта работы системы: в первом случае положим нсэкспоненцнальное распределение для времени обслуживания, во втором - неэкспонснци-альность входного потока. Зададим для этих величин

—1

значения квадрата коэффициента вариации (С. “, для входного потока. С" для времени обслуживания), равное 0.5 (распределение Эрланга второго порядка), 2 (ги-псрэкспонснциальнос распределение второго порядка) и 5 (гиперэкспонепциалыюс распределение пятого порядка). Пусть ц~30. проведем расчеты в диапазоне значений >.. Результаты приведены в табл. 2.

Таблица 2

Расчет характеристик одноканальной СМОдля нежспоисициального распределения случайных величин

Неэкспоненциальное время обслуживания

X С; Тч

10 0.5 0,0583666

■> 0,0928161

5 0,161715

15 0,5 0,0708833

*» 0.122558

5 0,225906

20 0.5 0,0916668

“> 0.166666

5 0,316666

Нсікспоненцнльньїй поток заявок

X с; тч

10 0,5 0.0630747

2 0,0833999

5 0,124050

15 0.5 0.0779945

2 0,108433

5 0,169409

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 с. Для экспоненциального распределения имеем следующие исходные данные:

>.-2000,3600-0.5556 чел/с, ц-1/0.5 заявки/с.

Расчет в случае одной общей очереди дает результаты: в случае одной очереди '/</-0,5 с, 7</ш=1,49787 с, в случае нескольких очередей Тд=0.52427 с, 7</„ = 1.5574 с.

Для неэкспонснциального случая (квадрат коэффи-цента вариации равен 0,5) имеем: в случае одной очереди /V/—0,524272 с, Тц„~ 1,52274 с, в случае нескольких очередей 7"</=0,564101 с. Тц =1.25504 с.

Как видно, во всех случаях одна очередь ко всем кассам обеспечивает лучшее значение времени отклика, но при этом само значение максимального времени обслуживания значительно отличается.

Пример 2. Перед клиентом стоит выбор: какой из двух компьютеров купить? Первая модель имеет одип процессор. который способен выполнять 40000 операций логического чтения (НО) Огас1е в секунду. Вторая модель имеет четыре процессора в симметричной многопроцессорной конфигурации, но каждый из этих процессоров может выполнять всего 15000 операций НО в секунду.

Пусть решается задача проверки дебета с кредитом в различных бухгалтерских книгах. Это требует ежедневного составления 15 отчетов по 200 страниц каждый. Каждый такой отчет требует выполнения 72 000 000 вызовов логического чтения Огас1е (1.10). Следовательно, интенсивность поступления заявок составит:

>.= 15 х 72000000/24/60/60-12500 заявок/с.

Рассмотрим модель с четырьмя процессорами, максимальное время будем считать для 90 % заявок.

Для экспоненциального случая имеем: 7</=0,0000668 с, /'</,„-0,000199 с, для нсэкспоненниалыюго случая (квадрат коэффициента вариации равен 0,5) имеем: Г</“0.0000706 с. Гу,,,=0.000162 с.

Тот же самый расчет для случая для случая с одним мощным процессором дает результат: для экспоненциального случая /</-0.0000.i63 с, 7'</„ “0.0000X99 с , для неэкспоненциального случая 7</-0.0000466 с, Тц,„=0.0000999 с.

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

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

Пример 3. На выполнение важной команды 801. расходуется 0.49 секунды процессорного времени. Предположим, что в период пиковой загрузки системы каждый из 100 пользователей будет выполнять эту команду с частотой четыре раза в минуту. Сервер, работающий под Цілих, допускает установку до 16 процессоров. Сколько процессоров потребуется данному серверу, сели необходимо обеспечить время отклика не более одной секунды по крайней мере для 95 % выполнений команды пользователями в период пиковой загрузки?

Модель системы массового обслуживания и исходные данные приведены на рис. 5.

Экспоненциальная модель дает следующие результаты [11: система с 1, 2, 3 процессорами вообще не дает возможность обслужить такой поток заявок. Только для случая 1-4 мы получаем некоторый результат: Г</„, 2.16 с. Но этот результат нас также не может устроить, т.к. по условию задачи Г</,„ < 1 с.. Такой же результат достигается и при увеличении количества процессоров (для /= 16 /</„-1,46 с). Если бы было возможно увеличение значения / даже до 1000, система все равно не сможет обеспечить заданную производительность, хотя случай /= I (НК) нереальный. Отсюда следует вывод: такой поток заявок обслужить нельзя.

Но предположим, что число поступающих заявок и время обслуживания характеризуются значением квадрата коэффициента вариации, равным 0.5 (распределение Эрланга). В этом случае для четырех процессоров время /</„,-2 будет равно 1.46 с. а для 16 процессоров -1.17 с. Этот результат также неудовлетворителен, однако он значительно ближе к искомому, и поэтому при проектировании системы возникает предмет для обсуждения.

Снизим требования к системе. Пусть необходимо обеспечить время отклика системы не более одной секунды не для 95 %, а для 90 % выполнений команды. Дія экспоненциальной модели результат все равно не достижим (для /=4 Тч„Г 1.76907 с, а для /=16 7г/.,,—1,12827 с). Введение же квадрата коэффициента вариации, равного 0.5 дает следующие результаты: дія 1=4 7</,„= 1.23423 с. а для /= 16 7</„,“0,944019 с. т.с. приемлемый результат достигается. Вообще, уже начиная со значения /“6 система может обеспечить заданные требования.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Полная сводка результатов расчета дтя экспоненциального и неэкспоненциатыюго случаев приведена в табл. 4 н 5.

1-І000 4/60 з/с :з/с

Рис. 5. Модель и исходные данные для расчета характеристик многопроцессорного сервера

51

Таблица 4

Расчет характеристик работы многопроцессорного сервера для выполнении важной команды в период пиковой загрузки (экспоненциальное распределение входною но I ока и времени обслуживании)

Число процессоров Загрузка процессора Среднее время отклика, с Макс. время отклика, с

4 0.816667 0.908788 1.76907

5 0.653333 0.576871 1.22387

6 0.544445 0,514633 1,15353

7 0,466667 0,497636 1,13654

X 0,408333 0.492142 1,13040

9 0,662963 0,490597 1,12885

10 0,326667 0,490039 1.12841

11 0,296670 0.490009 1.12829

12 0,272222 0,490002 1.12827

13 0,251282 0,490000 1.12827

14 0,233333 0,490000 1.12827

15 0,217778 0,490000 1.12827

16 0,204167 0,490000 1.12827

Таблица 5

Расчет характеристик работы МНОІ онроиессорното сервера .їли выполнении важной команды 401. в период никовой загрузки (нежснонснциалыше распре деление входною потока н времени обслуживании)

Число процессоров Загрузка процессора Среднее время отклика, с Макс. время отклика, с

4 0.816667 0,694951 1.23423

5 0.653333 0,553277 1.01504

6 0.544445 0,530659 0,985992

7 0.466667 0.518094 0.970879

8 0.408333 0,510328 0.961929

9 0,362963 0,505319 0,956319

10 0.326667 0.501894 0,952558

11 0,296970 0,499474 0,949937

12 2,272222 0.497706 0,948041

13 0,251282 0.496364 0.946612

14 0,233333 0.495339 0.945528

15 0.217778 0.494547 0.944693

16 0.204167 0,493904 0,944019

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

В соответствии с [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 пи> (расчеты, как и в работе [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

i Надоели баннеры? Вы всегда можете отключить рекламу.