Печинкин А.В.1, Гайдамака Ю.В.2, Сопин Э.С.3, Таланова М.О.4
1 Институт проблем информатики РАН, г. Москва, главный научный сотрудник,
2 Российский университет дружбы народов, г. Москва, к.ф.-м.н., доцент кафедры
прикладной информатики и теории вероятностей, ygaidamaka @ mail.ru 3 Российский университет дружбы народов, г. Москва, к.ф.-м.н., старший преподаватель кафедры прикладной информатики и теории вероятностей, sopin [email protected] 4 Российский университет дружбы народов, г. Москва, аспирант, ассистент кафедры прикладной информатики и теории вероятностей, matalanova @gmail . com
Анализ показателей эффективности функционирования системы облачных вычислений с динамическим масштабированием12
КЛЮЧЕВЫЕ СЛОВА
Облачные вычисления, гистерезисное управление, динамическое подключение/отключение сервера, исключение состояний.
АННОТАЦИЯ
В статье исследована модель системы облачных вычислений с динамическим масштабированием в виде системы массового обслуживания с гистерезисным управлением количеством серверов и немгновенным подключением для анализа ее производительности. Используя метод исключения состояний, получен эффективный алгоритм расчета стационарных вероятностей и показателей качества функционирования системы. Предложен пример численных расчетов характеристик модели.
Введение
Системы облачных вычислений предоставляют
высокопроизводительную вычислительную среду, которая доступна везде при наличии соединения с интернетом. Они обладают хорошей масштабируемостью и сравнительно просты в обслуживании, что приводит к непрерывному увеличению числа облачных приложений и поставщиков облачных услуг [1-4]. Наиболее очевидным решением, позволяющим эффективно использовать вычислительные ресурсы, то есть улучшить отношение «стоимость/производительность» системы, является реагирование на изменение рабочей нагрузки путем динамического подключения/отключения обслуживающих серверов (виртуальных машин) [5, 6].
Если на систему не поступают запросы клиентов, серверы отключены
12 Работа выполнена при частичной поддержке РФФИ, проекты № 13-07-00223, 14-07-00090.
для экономии электроэнергии, и включаются по мере увеличения загруженности системы. С одной стороны, подключение дополнительного сервера помогает обслужить большее количество заявок и повысить производительность системы. С другой стороны, это приводит к увеличению затрат на обслуживание, а время активации дополнительного сервера - к снижению эффективности функционирования. Поэтому для снижения числа срабатываний системы управления масштабированием применяется гистерезисный подход. Для разработки алгоритма вычисления стационарных вероятностей мы используем метод исключения состояний [7, 8, 9], при этом учтено время, необходимое для активации сервера.
В статье исследована модель системы облачных вычислений с динамическим подключением/отключением серверов в виде системы с гистерезисным управлением [5] и получен эффективный алгоритм расчета вероятностей состояний системы, которые позволяют оценить важные показатели качества обслуживания (QoS, Quality of Service), такие как среднее время отклика, количество подключенных серверов и др.
Математическая модель
Рассмотрим систему массового обслуживания с бесконечной очередью и с гистерезисом, имеющую K обслуживающих приборов. Заявки поступают в систему по закону Пуассона с параметром я . Считаем, что приборы однородные, каждый с экспоненциальным обслуживанием с параметром #. Количество активных приборов ограничено сверху значениями порогового вектора H = (H1, H2,...,HK_1), H1 < H2 <... < HK_1 и снизу - вектором L = (L1, L2,...,LK_1), L1 < L2 <... < LK_1, где Lt < Hi, i = 1, K _ 1 . Очередь имеет дисциплину FCFS (First Come First Served). Поступившая в пустую систему заявка обслуживается одним прибором. Если в системе уже есть Hi заявок, то при поступлении новой заявки активируется один дополнительный прибор, но не мгновенно, а через случайное время, имеющее экспоненциальное распределение с параметром % . Если в системе Li заявок и при этом одна заявка обслужилась, то (i +1) -й прибор мгновенно отключается.
... I ■
i i i I
н2 НЧ А
Рис.1. Многолинейная система массового обслуживания с порогами H и L
Функционирование системы описывается Марковским процессом X (t) с множеством состояний:
£ = ^ I И, п I
О <п <Я,Д = 1,1= 1;
<н <ЯЬ*= 2, Г-1, 1=1, Г-1;
где к означает количество приборов, которое необходимо в момент 1; ' означает количество активированных приборов в момент 1; п количество заявок в очереди.
Диаграмма интенсивностей переходов для описанной системы массового обслуживания показана на рис. 2. Она может иметь бесконечное число уровней в зависимости от количества порогов. В нашей статье мы строим модель для двух пар порогов: (А,Н^ и , поэтому диаграмма
рис.2 построена для К = 3 .
X X X
м м
XXX
(ООЗС-
Рис.2. Диаграмма интенсивностей переходов
Метод исключения состояний
Для вычисления стационарных вероятностей мы используем метод исключения состояний. Состояния цепи Маркова исключаются последовательно один за другим, начиная с конца, пока не будут получены только два состояния (рис. 3): начальное состояние (11,0) и макросостояние (11,1), содержащее все остальные состояния системы.
После исключения состояний мы разворачиваем их один за другим в обратном порядке, записывая уравнения глобального баланса с учетом
11,1
исключенных состоянии.
#
Рис.3. Два состояния после исключения состояний для диаграммы на рис.2 Для состояний рис. 3 получаем соотношение
-А
&11,1 — &11,0 . #
На рис. 4 показано исключение состояний для 1 — 1.
А А А
11,1
А
11,
—# # #
Рис.4. Исключение состояний для первого уровня диаграммы на рис.2 Следовательно, для диаграммы рис. 4 получаем соотношение
Я
V
Для вычисления стационарных вероятностей первого уровня введем
(211 „, Ь\ <П<Н\~\
вспомогательную вероятность 1 1 того, что из состояния
(11, п) состояние (11, п -1) будет достигнуто раньше, чем состояние (11, L1 -1) . На рис. 5 показаны интенсивности с учетом описанной вспомогательной вероятности.
А А А А А т
АУи п +1
(1)
4" alln+\)
Рис.5. Исключение состояний для первого уровня диаграммы на рис.2 Вспомогательные вероятности вычисляются с помощью рекуррентного соотношения
— #
a
11,н
И
1 Я + # '
аП,п - ,
А + р- АЩ 1>и41
Тогда стационарные вероятности с учетом исключенных состояний имеют вид
Щ\,п =
Я
-Л11.И-1.
Я
&11, н,
(2) (3)
2. т 11,н. -1 .
1 # + Я 1
Для вычисления стационарных вероятностей второго уровня, когда
активирован один прибор, введем следующие вспомогательные вероятности:
а21,п > ^2<П<Н2 —вероятность ТОГО, ЧТО ИЗ СОСТОЯНИЯ состояние (21,п ~!) будет достигнуто раньше, чем состояние (22, Ц -1) или состояние (31, Ц2) ;
а*1 —вероятность того, что из состояния (21,Ц2) состояние (21,Ц -1) будет достигнуто раньше, чем состояние (22, Ь2 -1);
а21,п > ¿1+1 ¿и <1^-1 —вероятность ТОГО, ЧТО ИЗ СОСТОЯНИЯ (21'й)
состояние (21,п -1) будет достигнуто раньше, чем состояние (22,Ц2).
Эти вероятности вычисляются по рекуррентным соотношениям
_ #
а21, Н 2
/и + Л + а'
р + Л + а- Да21>н+1
(! - Огщ )-
а21 _ а21,Ь2 +(1 - а '$С21
Л + а
где С21 —вероятность того, что из состояния (31, Н2 +1) состояние
(21, Ц -1) будет достигнуто раньше, чем состояние (22, Ц -1);
_ #
а 21, Ц -1 т т * ,
2 # + Л + а-Ла 21
=-:--> ^йпй^-г.
{¿ + Л + а-Ла2и+1
Далее введем вспомогательные вероятности
; Ь. —вероятность того, что из состояния (21,#1+1)
состояние (21 п) будет достигнуто раньше, чем состояние (22, Ц -1) или состояние (31, Ц2) ;
—вероятность того, что из состояния (21, Н1 +1) состояние (21, Ь2 -1) будет достигнуто раньше, чем состояние (22, Ь2-1);
> ^ <п< ¿2 - 2 —вероятность ТОГО, ЧТО ИЗ СОСТОЯНИЯ (21,#1+1)
состояние (21 п) будет достигнуто раньше, чем состояние (22,Ц) .
Для этих вероятностей справедливы следующие уравнения:
Я!+1
!=Н+1
=421,1^-1+ 1.1-421,1^-1 1-Г^' А А Л+а
*
41,« = 41 П ^М- ^<^<¿2-2.
¡'=>5+1
Используя описанные вспомогательные вероятности, вычислены
стационарные вероятности с учетом исключенных состоянии:
я-а11=Л--,
1 &21,Н1 + &11Н
&21, Н1 +1 =$-ТТ.-^»
1 # + а + Щ - а21, н1+2;
^21,п = Д
^21,73-1
р + а + Я\\ -а21,н+1 1
, Нх + 2<п<Н2-\,
&
21, Н 2 -1
&21, Н 2 л ■
2 # + а+$
(4)
(5)
(6)
(7)
(8)
(9) (10)
Рассмотрим случай, когда активировано два прибора. Введем вспомогательные вероятности и интенсивности:
а ¿9+1 <П<Н~! (22
22 и, 1 1 —вероятность ТОГО, ЧТО ИЗ СОСТОЯНИЯ
состояние (22,7?-1) будет достигнуто раньше, чем состояние (22,^-1);
Л„ Ь<п<Н7
22 и, " 2 —интенсивность непосредственного перехода из
состояний уровня 21 в состояние (22, п) при условии, что исключены состояния (22,п +1),..., (22,Н2) и все состояния уровней 31, 32, 33.
Для этих вероятностей и интенсивностей справедливы уравнения
2ц
а
22, я,
а
22,п
2ц
1 + 2¡л - Ла22г „+1
2ц + Я'
, Ь2 + \<п<Н2-\,
^22 ,Н2 ~ аЯ21Н2 -А 22,;ч = ал21,И + |^22,п+1^122,п+1, к<П<Н2~ 1,
Л22,л I^ <N<¿2-1.
г=п
Используя описанные вспомогательные вероятности и интенсивности, вычислены стационарные вероятности с учетом исключенных состояний:
&
Л&22,Н 2-1 + ' 22, Н2
22, Н 2
(11)
(12) (13)
+ Х (14)
Для вычисления стационарных вероятностей третьего уровня, когда активирован один прибор, введем следующие вспомогательные вероятности:
аъ\,п 1 П - —вероятность ТОГО, ЧТО ИЗ СОСТОЯНИЯ (З1'и) состояние
(31,и — 1) будет достигнуто раньше, чем состояние (22,^-1);
^31.», Ь. - п- Щ —вероятность того, что из состояния (31,Я2 + 1) состояние (31, п) будет достигнуто раньше, чем состояние (22, Ц2 -1);
С31 —вероятность того, что из состояния (31, Ц2) состояние (21, Ц -1) будет достигнуто раньше, чем состояние (22, Ц -1).
Для этих вероятностей справедливы уравнения
X + ¡л + 2а - ^ X + ¡л + 2а ? - 4Ду
а2\,п ~
2Х
= Ь2<п<Н2+ Ь
П > ¿2 +1:
С31 -
¡л + 2а + 1- а31 > Отсюда можно получить формулу для вероятности С21:
С _ А С
21 _ ^131,Ц2^31"
Используя описанные вспомогательные вероятности, получены стационарные вероятности с учетом исключенных состояний:
&31,Ц _ Ч31А31,Ь2&21,Н2, (15)
&
п -Н 2-1
31,п
^31
&
31,Н 2 +15
п > Н + 2,
(16) (17)
где ?31 _
Л
Отметим, что формула (17) представляет собой
# + 2а + $(1 - а31)
бесконечную убывающую геометрическую прогрессию, а значит, сумма вероятностей &л,п, п>Н2+2 может быть легко вычислена.
Рассмотрим случай, когда активировано два прибора. Введем вспомогательные вероятности и интенсивности:
аз2,п, п>-L2 + 1 —вероятность того, что из состояния (32, п) состояние (32, п -1 будет достигнуто раньше, чем состояние (22, L2 -1);
^З2,п, L2—п—Н2 + 1 —вероятность того, что из состояния (32, Н2 +1) состояние (32, п) будет достигнуто раньше, чем состояние (22, L2 -1);
л3
п > L 2 —интенсивность непосредственного перехода из
состояний слоя 31 в состояние (32, п) при условии, что исключены состояния (32,п +1),...,(32, п + 2),... и все состояния слоя 33.
Для этих вероятностей и интенсивностей справедливы уравнения
$ + 2# + а -т]($ + 2# + а)2 -8$#
а
32,п
2$
АХг1 = а$+1-\ 12<п<Н2+Ь
А
32, п ~
2а ..п-н2-1
пз\,н2+ь П>Н2 + \,
1 -а32д31
Л32>„ = 2 атгзи + а32,п+\А32,п+\> ^<п<Н2. Используя описанные вспомогательные вероятности и интенсивности, вычислены стационарные вероятности с учетом исключенных состояний:
&
32,¿2
Л 32,¿2 +$^32,Ь2 &22,Н2
2# + а + $(1 - а32)
яЪ2,п ~ Мз\ где А =
Ъ\ 2
(18)
(19)
^ 2 ^31,Я2 44 +/Г Н^32,н2+ъ п>н2+ 2, Яз\ - /2
2а
;> А2 =
$
(20)
. Отметим, что
(1 - а3^31 )(2# + а + $(1 - а32))' 2 2# + а+$(1 - а32) формула (20) представляет собой сумму нескольких убывающих геометрических прогрессий, а значит, сумма вероятностей &32,и, п>Н2+2 может быть легко вычислена.
Рассмотрим случай, когда активировано три прибора. Введем
вспомогательную интенсивность
л 3
п > L 2 —
интенсивность
непосредственного перехода из состояний слоя 32 в состояние (33, п) при условии, что исключены состояния (33,п +1) , (33,п +2), .... Для нее справедливы уравнения { „п-Я-,-1
А
33,п -
Яз\ - /2
Яз\
32
1~Яз\
^31,^2+1 + ■
а/2 2
2 ;
1-/2
п>Н2+1,
Азз,п = + Лзз,п+1, Ь-А<п<Н2.
Используя описанную вспомогательную интенсивность, вычислены стационарные вероятности с учетом исключенных состояний:
(22)
Аналогично формулам (17) и (20), соотношения для вероятностей -зз,п, п>Ь2+1 представимы в виде суммы нескольких убывающих геометрических прогрессий.
Таким образом, методом исключения состояний мы получили соотношения между стационарными вероятностями всех состояний, представленных на диаграмме рис. 2. Эти соотношения позволяют вычислять стационарное распределение с точностью до константы. Пусть
начальная ненормированная вероятность ^цо =1. По формулам (1)-(22)
^ ~ _ _ _
вычисляем . Суммы вероятностей , " , и
п ^ Ь 2+1 могут быть легко вычислены, так как формулы (17), (20), (22) содержат убывающие геометрические прогрессии. Вычисляется нормирующая константа
2
что позволяет получить нормированные стационарные вероятности:
п | е £
О
Основным достоинством предложенного алгоритма является его линейная вычислительная сложность.
Характеристики производительности системы
С помощью вычисленных вероятностей можно рассчитать основные характеристики производительности системы. Введем подмножество
- {(Ьи, п 1е £ | I ^ Которое включает все состояния с / активными
приборами, I = 1, К . Тогда вероятности того, что i приборов активны,
могут быть вычислены простым суммированием соответствующих вероятностей:
I ЛЬ,™-
Формула для среднего числа м заявок в системе и для среднего времени Т отклика (времени пребывания заявки в очереди и время обслуживания этой заявки на любом приборе) представлены ниже.
(Ь,п)еЛ' (23)
г = N $ ■
Время тi , проведенное заявкой в состоянии ^ , вычисляется по формулам
/ ВТ и. V1
Тх = Р 1.^1
V
£ я*
к=2 J
V1
£ я*
£=3+1
п=Х
Я-1
2<* < Г-1,
= РI. ^ II | .
Численные результаты
При численном анализе нас интересует среднее число ы заявок в системе и среднее время Т отклика системы. Пусть количество обслуживающих приборов К =3 , а интенсивность обслуживания # =1 заявок/мс.
На рис. 6 представлен график зависимости среднего числа заявок м в системе от интенсивности $ (заявок/мс) входящего потока: для значений порогов (А,нх) = (5°Л°0) , = (75,125) на рис. 6а, для
(А,И,) = (250,75^ , (¿2,Н2) = (500,1000) на рис. 6б.
,, —а = 0.1 -а = 1
%заявок_ _ N заявок
-1
-- J (
Я
и
г.5
Я гоо
1 1,Б 1 3,5 э
а. для (А,Я1) = (50,100), (Ь2,Н2) = (75,125) б. для (А,^) = (250,750), (Ь2,Н2) = (500,1000) Рис.6. График зависимости среднего числа заявок от интенсивности входящего потока На рис.7 представлен график зависимости среднего времени Т (мс) отклика от интенсивности $ (заявок/мс) входящего потока: для значений порогов (4,И) = (50,100) , (¿2,И2) = (75,125) на рис. 7а, для (А,И,) = (250,750) , (¿2,И2} = (500,1000) на рис. 7б.
Отметим, что в рассматриваемой системе нет потерь, поэтому параметр $1 # имеет также смысл среднего числа работающих приборов. На графиках рис. 7 видно, что среднее время отклика зависит от значений порогов: чем выше их значения, тем длительней это время. При этом с увеличением времени подключения дополнительного прибора (% =0Л приборов/мс) время отклика увеличивается, что вполне ожидаемо.
— а = 0.1 * = 1
зс£ 26 22 18 14 10
а. для (А,Н) = (50,100), (А,Н2) = (75,125) б. для (А,= (250,750), (¿2,Н2) = (500,1000)
Рис.7. График зависимости среднего времени отклика от интенсивности входящего
потока
Отметим поведение графика на рис. 7а. На достаточно большом интервале нагрузочных параметров (I-3 < $/# < 2 7 ) среднее время отклика практически не меняется. Такое поведение важнейшего показателя производительности системы облачных вычислений оправдывает применение гистерезисного управления, поскольку, правильно подобрав пороги подключения и отключения дополнительных виртуальных машин, провайдер облачных услуг может улучшить энергоэффективность системы, не снижая показателей качества услуг.
График на рис.7б представляет собой пример неправильного подбора порогов. Из-за больших промежутков между порогами на интервалах 1.1 <$/ #< I.9 и 2-1 <$/ #< 29 среднее число заявок в системе почти не меняется, в то время как среднее число работающих приборов линейно возрастает, поэтому на данных интервалах время отклика уменьшается. И наоборот, на интервалах I-9 <$/#< 2-1 и 2 9 <$/#< 3 среднее число заявок резко растет, а среднее число работающих приборов растет медленнее, что приводит к увеличению времени отклика.
Таким образом, из-за неудачного подбора порогов появляются значительные колебания времени отклика системы в зависимости от нагрузки. Следовательно, оптимизация значений порогов является ключевой задачей для повышения эффективности функционирования системы облачных вычислений. Однако данная задача является предметом отдельного исследования.
Заключение
Моделирование процессов в системах облачных вычислений является одной из наиболее востребованных областей применения теории массового обслуживания. В статье исследована модель включения/отключения серверов в сети, для которой в [5] с помощью матрично-геометрического подхода были получены формулы вычисления некоторых стационарных характеристик системы для анализа динамического управления ресурсами при предоставлении услуги «видео по запросу». Однако, в применении к
А{С
1
__ 1— 11
1,5
2,5
Л
% мс
490 450 410 370 330 290 250
Гч
1
н- — Л
1,5
2,5
облачным вычислениям формулы [5] не дают возможности проводить анализ показателей функционирования системы даже для сравнительно небольших значений структурных параметров системы облачных вычислений. Наша цель заключалась в разработке эффективного алгоритма расчета стационарных вероятностей состояний системы, который позволял бы проводить расчеты для близких к реальности значений параметров системы облачных вычислений. В статье мы применили метод исключения состояний, который позволяет вычислить стационарные характеристики системы значительно легче, чем матрично-геометрический подход [5]. Преимущество предложенного алгоритма заключается в том, что его сложность возрастает линейно.
Основной задачей дальнейших исследований является разработка метода вычисления вероятностей для произвольного количества серверов, формализация задачи оптимизации для системы облачных вычислений и проведение численного анализа с целью определения оптимальных значений порогов системы. Также планируется разработать имитационную модель для проверки адекватности математической модели.
Работа выполнена при частичной поддержке РФФИ (проекты № 1307-00223, 14-07-00090). Авторы выражают благодарность магистру кафедры прикладной информатики и математической статистики РУДН Ивану Васильеву, принимавшему участие в вычислительном эксперименте.
Литература
1. IEEE P2301 Guide for Cloud Portability and Interoperability Profiles (GCPIP). URL: https://standards.ieee.org/develop/project/2301.html.
2. IEEE P2302 Standard for Intercloud Interoperability and Federation (SIIF). URL: http://standards.ieee.org/develop/project/2302.html.
3. OASIS Identify in Cloud Technical Committee. URL: https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=id-cloud.
4. Joint Coordination Activity on Cloud Computing (JCA-Cloud). URL: http://www.itu.int/ITUT/
5. L. Golubchik, J. C. S. Lui «Bounding of Performance Measures for Threshold-Based Queuing Systems: Theory and Application to Dynamic Resource Management in Video-on-Demand Servers» // IEEE Trans. Computers. - Vol. 51, No. 4, 2002. - Pp. 353-372.
6. V Goswami, S. S. Patra, G. B. Mund, "Performance Analysis of Cloud with Queue-Dependent Virtual Machines", 1st Int'l Conf. on Recent Advances in Information Technology, RAIT-2012 (2012).
7. A.V. Pechinkin, "On an invariant queuing system", Math. Operationsforsch. und Statist. Ser. Optimization. 1983. Vol. 14. № 3. P. 433-444.
8. P. P. Bocharov, C. D'Apice, A. V. Pechinkin, S. Salerno, Queueing Theory. Ultrecht, Boston: VSP Publishing. 2004.
9. Shorgin S.Y., Pechinkin A.V., Samouylov K.E., Gaidamaka Y.V, Gudkova I.A., and Sopin E.S. Threshold-based queuing system for performance analysis of cloud computing system with dynamic scaling // AIP Conference Proceedings: Proc. of the 12th International Conference of Numerical Analysis and Applied Mathematics ICNAAM-2014 (September 22-28, 2014, Rhodes, Greece). - USA, AIP Publishing. - 2014. - В печати.