Выпуск #4/2018
С. Назаров, А. Барсуков
Управление предоставлением облачных вычислительных ресурсов в виртуальных дата-центрах
Управление предоставлением облачных вычислительных ресурсов в виртуальных дата-центрах
Просмотры: 1590
DOI: 10.22184/1992-4178.2018.175.4.108.112
Ведущие ИТ-компании и инженеры давно обсуждают плюсы и минусы использования облачных технологий. Эксперты прогнозируют проблемы и возможные потери конфиденциальных данных в «облаках» из-за широкого спроса и притока пользователей. К основным достоинствам облачных технологий относятся высокий уровень безопасности и конфиденциальности хранения данных, степень надежности и неограниченные вычислительные ресурсы. «Облако» удобно в использовании, поскольку требуется лишь установка простых приложений на любые пользовательские терминалы, и позволяет сэкономить на покупке лицензионных продуктов, ресурсов и программ. В результате применения облачных технологий уменьшаются расходы на приобретение дорогостоящих мощных компьютеров, серверов, сокращаются затраты на оплату труда ИТ-специалистов, обслуживающих локальный дата-центр.[1]
Рассмотрим создание системы реального времени (СРВ), сочетающей в себе веб-серверы, вычислительная мощность которых формируется на основе арендованной инфраструктуры IaaS (Infrastructure-as-a-Service – инфраструктура как сервис). Арендатор создает собственный парк виртуальных серверов (виртуальный дата-центр) и разворачивает коммерческую систему для обслуживания пользователей, получая прибыль. В предложенной модели с точки зрения теории стратегических игр два партнера: СРВ (виртуальный дата-центр – арендуемая часть IaaS) и природа (сеть клиентов), как принято в теории игр именовать непредсказуемого партнера. Модель и система мониторинга СРВ позволяют управлять предоставлением облачной вычислительной мощности и сбалансировать расходы на аренду и прибыль, получаемую в результате обслуживания пользователей.
Остановимся подробнее на одном из вопросов организации функционирования широкого класса компьютерных систем, используемых в электронном бизнесе. Имеются в виду электронная коммерция, онлайновый маркетинг, оформление заявок, осуществление платежей, информационная поддержка доставки товаров, электронный документооборот, информационно-справочные системы, финансовые системы, системы взаимодействия с клиентами и т. п. [1–7]. Подобные системы используют интернет-технологии для передачи данных и предоставления веб-сервисов на основе специализированных веб-сайтов. Последние представляют собой системы реального времени на основе веб-серверов.
Современные облачные технологии позволяют получать требуемые для этого ресурсы в форме инфраструктуры IaaS, на базе которой предоставляются услуги аренды вычислительных ресурсов и систем хранения, таких как виртуальные серверы с заданной вычислительной мощностью и каналы связи нужной пропускной способности для доступа к хранилищам данных и внешним ресурсам. При этом клиент может использовать любые операционные системы и приложения [8–11].
Рассмотрим вопросы организации работы систем реального времени и требования к вычислительным ресурсам (количеству процессоров), обеспечивающим работу систем реального времени. Как правило, СРВ предназначены для своевременного и предсказуемого реагирования на запросы, поступающие в систему. Для таких систем характерен определенный набор запросов некоторого типа Z = {zi,i = 1, 2, …, M}, для каждого из них в системе предусмотрена заранее разработанная программа Pi, хранящаяся в памяти системы. Основное требование к СРВ заключается в своевременности обработки запросов. Реакция на запрос zi должна уложиться в заранее заданный интервал времени Ri.
Все системы реального времени принято подразделять на жесткие системы реального времени Ri, в которых недопустимо превышение заданного значения для реализации запроса zi, и мягкие (гибкие системы реального времени). В последних допускается «опоздание» при обработке запроса, но повышается «стоимость» опоздания, которую обозначим ci.
Внешние запросы (события), на которые СРВ должна реагировать, можно разделить на периодические (возникающие через регулярные интервалы времени) и непериодические (непредсказуемые). Если в систему поступает M потоков периодических запросов и запрос zi поступает с периодом Ti, а на его обработку затрачивается ti времени системы, то все потоки могут быть своевременно обработаны в однопроцессорной системе только при выполнении условия:
. (1)
Системы реального времени, удовлетворяющие этому условию, считают поддающимися планированию или планируемыми.
Классический пример статического алгоритма планирования реального времени для прерываемых периодических процессов – алгоритм DMS (Date Monotonic Scheduling) [12]. Основанный на статических приоритетах алгоритм подходит для планирования независимых периодических процессов с заданным директивным временем выполнения. Как было показано Лю (Liu) и Лейлэнд (Layland) в [13], использование статических приоритетов целесообразно только при не слишком высокой загруженности центрального процессора. Алгоритм DMS гарантированно работает в любой системе периодических процессов при условии:
. (2)
Например, U ≤ 0,8284 для двух процессов. Когда количество процессов M стремится к бесконечности, это выражение имеет вид:
Гиперболическая граница (2) – более жесткое условие планирования, чем то, которое было представлено Лю и Лейлэнд, то есть имеем:
, (3)
где Ui – использование ЦП для каждой задачи. Приблизительная оценка заключается в том, что DMS может удовлетворить все предельные сроки, если загрузка процессора составляет менее 69,32%. Другие 30,7% ЦП могут быть выделены для задач с меньшим приоритетом (не для реального времени). Известно, что случайно созданная система периодических задач будет соответствовать всем предельным срокам, когда использование ЦП составляет 85% или меньше, однако это зависит от знания точной статистики задачи (периодов, крайних сроков), которая не может быть гарантирована для всех наборов задач.
Таким образом, алгоритм DMS надежен при относительно невысокой загрузке процессора. К тому же статическое планирование, используемое алгоритмом, не всегда возможно. Другой недостаток алгоритма DMS – неэффективность для планирования непериодических процессов и непостоянных временных интервалов использования центрального процессора. А именно эти условия характерны для систем мягкого реального времени.
Наиболее подходящий алгоритм планирования для таких систем – EDF (Earliest Deadline – First) – процесс с ближайшим сроком завершения первым. Это динамический алгоритм планирования, не требующий периодичности процессов и постоянства временных интервалов использования центрального процессора. Каждый раз при поступлении в систему процесс объявляет о своем присутствии и о сроке выполнения задания. Планировщик хранит список процессов, отсортированный по срокам выполнения. Алгоритм запускает процесс с ближайшим по времени сроком. В случае перехода нового процесса в состояние готовности система сравнивает его срок выполнения со сроком текущего процесса. Если у нового процесса график более жесткий, он прерывает работу текущего процесса. Алгоритм EDF работает с любым набором процессов, для которого возможно планирование. При этом коэффициент загрузки процессора может достигать 100%.
ПОСТАНОВКА ЗАДАЧИ
Алгоритм EDF можно считать достаточно неплохим для планирования работы систем мягкого реального времени. В целом с учетом непредвиденного характера нагрузки систем рассматриваемого класса следует ввести некоторую метрику (показатель) функционирования системы. Наиболее целесообразной метрикой считается «штраф» за опоздание в обслуживании запросов, поступающих в систему. Размер штрафа Ci, получаемого системой за опоздание с обработкой процесса zi, можно сформировать следующим образом:
• Ci– =K1 (Di, ti), если имеется дефицит производительности процессоров СРВ, в результате которого превышено время обработки запроса ti по сравнению с заданным директивным значением Di (в данном случае ti > Di);
• Ci+ =K2 (Di, ti), если имеется избыточная производительность процессора СРВ, в результате чего запрос zi обрабатывается быстрее директивного значения (в данном случае ti < Di);
• Ci = 0, если ti = Di.
Коэффициент K1 можно трактовать как удельные финансовые издержки, связанные с потерями системой клиентов, которые отказались от ее услуг из-за неудовлетворительного обслуживания. Коэффициент K2 можно трактовать как удельные финансовые издержки, обусловленные эксплуатацией СРВ избыточной производительности.
Будем считать, что СРВ на платформе IaaS строится как многопроцессорная (и возможно, многоядерная) система с возможностью динамического выделения некоторого числа процессоров (от 1 до n) для обслуживания входящих запросов. Выбор количества работающих в конкретный момент времени процессоров зависит от интенсивности поступления запросов в систему, которая в общем случае слабо предсказуемая либо непредсказуемая. В условиях полной неопределенности можно попробовать решить задачу на основе теории стратегических игр.
РЕШЕНИЕ ЗАДАЧИ
С точки зрения теории стратегических игр в данной игре два партнера: СРВ (арендуемая часть IaaS) и природа (сеть клиентов), как принято в теории игр именовать полностью непредсказуемого партнера [14]. Стратегии СРВ обозначим R1, R2,..., Rn, а стратегии природы – P1, P2,..., Pk. Предположительно потребность в производительности в некоторые периоды функционирования (например, рабочий день, вечер, праздничные дни и т. п.) составляет P1, P2,..., Pk, а СРВ может состоять из 1, 2,..., n процессоров, обеспечивающих соответственно значения реальной производительности R1, R2,..., Rn.
Схематично матрицу выигрышей можно записать в следующем виде:
P1 P2 ... Pk
R1 C11 C12 ... C1k
R2 C21 C22 ... C2k
... ... ... ... ...
Rn Cn1 Cn2 ... Cnk. (4)
Здесь Cij – штраф, получаемый системой при имеющейся производительности системы реального времени Ri и требуемой производительности Pj. Предположим, что с использованием тех или иных методов матрица (4) получена. В соответствии с теоремой стратегических игр для нашего случая, когда значения из множеств P = {P1, P2,..., Pk} и R = {R1, R2,..., Rn} могут принимать конечное число, оптимальное решение заключается в поиске смешанных стратегий.
Из теории стратегических игр следует, что при использовании смешанных стратегий есть, по крайней мере, одно оптимальное решение с ценой игры V, которое находится между верхним и нижним значениями [14–16]. Следует заметить, что всегда V > 0.
Допустим, оптимальная смешанная стратегия СРВ складывается из стратегий R1, R2,..., Rn с вероятностями, равными p1, p2,..., pn (p1 + p2 + ... + pn = 1), а оптимальная стратегия клиентской сети – из стратегий P1, P2,..., Pk, которые применяются с вероятностями, равными q1, q2,…, qn (q1 + q2 + ... + qn = 1). Если СРВ применяет оптимальную стратегию, а клиентская сеть чистую стратегию Pj (j = 1, 2,…, k), то средний штраф, получаемый системой, составит: Cj = p1 ∙ c1j + p2 ∙ c2j + ... + pn ∙ cnj (j = 1, 2 ,…, k).
Особенность оптимальной стратегии СРВ состоит в том, чтобы при произвольном поведении противника (клиентской сети) она обеспечивала штраф не больший, чем цена игр V. Отсюда имеем систему ограничений:
(5)
Систему (5) можно преобразовать, разделив по частям на V:
(6)
Здесь, x1 = P1 / V, x2 = P2 / V, ..., xn = Pn / V. Из условия p1 + p2 + ... + pn = 1 следует, что
x2 + ... + xn = 1 / V. (7)
Значения величин p1, p2,... pn должны быть подобраны таким образом, чтобы гарантированное значение штрафа СРВ было по возможности минимальным, то есть чтобы достигалось
V = min или 1 / V = max.
Таким образом, задача сводится к нахождению таких значений x1, x1,..., xn, чтобы
x1 + x2 + ... + xn = max. (8)
Кроме того, должны выполняться дополнительные граничные условия, а именно, pi ≥ 0 (i = 1, 2,…, n), следовательно, имеем:
xi = Pi / V ≥ 0 для i = 1, 2,…, n. (9)
Из этого следует, что нахождение оптимальной смешанной стратегии СРВ сводится к решению классической задачи линейного программирования с целевой функцией (8), ограничениями (6) и (9).
В результате решения этой задачи по определенным значениям x1 + x2 + ... + xn из уравнения (7) можно определить значение V, а затем из соотношений (9) значения p1, p2,..., pn, которые определяют оптимальную смешанную стратегию СРВ.
ПРИМЕР
Задана матрица игры (табл. 1), в которой стратегии СРВ (арендуемая часть IaaS) обозначены R1,R2,…,R5. Каждая стратегия предполагает включение в работу одного, двух, ..., пяти процессоров. Возможные стратегии клиентов, обозначенные P1,P2,…,P4, предусматривают нужную производительность, обеспечиваемую загрузку 0,5; 1,25; 2,5 и 4,5 процессоров (здесь 0,5 следует понимать как загрузку одного процессора на 50%, соответственно это относится к другим данным). Пусть за дефицит производительности СРВ получает штраф, равный 5 условным единицам (K1 = 5), если не достает производительности, обеспечиваемой одним процессором, то есть за избыточную производительность система получает штраф в 4 единицы за каждый лишний выделенный процессор (K2 = 4). Например, для совокупности стратегий {R2, P3} клиенту необходимо 2,5 процессора, система предоставляет 2 процессора, имеет место нехватка производительности. Штраф составляет 5 · (2,5 – 2) = 2,5 штрафной единицы.
Для совокупности стратегий {R4, P2} клиенту нужно 1,25 процессора, система предоставляет 4 процессора. В этом случае имеет место избыточная производительность, штраф за которую составляет 4 · (4 – 1,25) = 11 штрафных единиц.
Как видно из решения (табл. 2), цена игры в данном примере равна 7,5 штрафной единицы. Решение определяет использование стратегий R2, R3 и R4 с вероятностями, соответственно равными 0,36451; 0,27097 и 0,36451. Это позволяет считать целесообразным выбор числа процессоров СРВ из соотношения
N = n (R2) ∙ p2 + n (R3) ∙ p3 +n (R4) ∙ p4 =
= 2 ∙ 0,36451 + 3 ∙ 0,27097 + 4 ∙ 0,36451 ≈ 3.
* * *
Использование представленной модели предполагает создание системы реального времени в форме совокупности веб-серверов, вычислительная мощность которых формируется на основе арендованной инфраструктуры IaaS. Арендатор создает собственный парк виртуальных серверов (виртуальный дата-центр) и разворачивает коммерческую систему для обслуживания пользователей, получая определенную прибыль. Предложенная игровая модель позволяет сбалансировать расходы на аренду и прибыль, получаемую от обслуживания пользователей. Для решения этой задачи большое значение имеет установление значений коэффициентов K1 и K2. Наблюдение за работой системы позволяет решить задачу. Что касается значений множеств Di, ti, зависящих от задач пользователей, то встроенные средства мониторинга вычислительного процесса, имеющиеся в операционных системах, позволяют найти простое решение.
С использованием средств мониторинга и установленных значений коэффициентов K1 и K2 определяется текущее значение штрафа (цены игры) Sэ, характерного для эффективной работы арендуемой системы. В процессе функционирования в зависимости от сложившейся ситуации (интенсивности потока запросов) средства мониторинга СРВ получают текущее значение штрафа, которое может отличаться от Sэ. В этом случае необходимо уточнить множество возможных стратегий P = {P1, P2,…, Pk} и R = {R1, R2,…, Rn } и вновь решить задачу определения требуемой производительности СРВ. В идеале можно построить адаптивную СРВ на основе средств мониторинга и предложенной игровой задачи.
ЛИТЕРАТУРА
1. Облачные сервисы 2013.
Cnews-аналитика. –
URL: http://www.cnews.ru/reviews/new/oblachnye_ servisy_2013/
2. Батаев А. В. Анализ использования облачных сервисов в банковском секторе // Молодой ученый. 2015. № 5. С. 234–240. URL: https://moluch.ru/archive/85/15818/
3. Батаев А. В. Перспективы внедрения облачных технологий в банковском секторе России // Научно-технические ведомости СПбГПУ. Экономические науки № 2 (192). 2014. С. 156–164.
4. Монахов Д.Н., Монахов Н. В., Прончев Г. Б., Кузьменков Д. А. Облачные технологии. – М.: Издательство МГУ им. М. В. Ломоносова, 2013.
5. Риз Дж. Облачные вычисления. – БХВ-Петербург, 2011. 288 с.
6. Гордюшин А.В., Лебедева С. В. Облачные технологии: технология создания «облака» // Вестник молодых ученых Санкт-Петербургского государственного университета технологии и дизайна. 2014. № 3. С. 53–57.
7. Романова И. Облачные технологии и их применение // Молодой ученый. 2016. № 17.1. С. 109–112.
URL: https://moluch.ru/archive/121/33593/
8. Макаров Д.В., Романчук В. А. Облачные SaaS, IaaS, PaaS системы для искусственного интеллекта // Современная техника и технологии. 2015. № 5 URL:
http://technology.snauka.ru/2015/05/6731
9. Круликовский А.П., Тупота Е. С. Инструментарий для управления «облачными» технологиями // В сб.: Актуальные проблемы и перспективы развития экономики Труды Юбилейной XV международной научно-практической конференции. Крымский федеральный университет им. В. И. Вернадского. 2016. С. 218–219.
10. Кондратьев А.А., Тищенко И. П., Фраленко В. П. Разработка распределенной системы защиты облачных вычислений // Программные системы: теория и приложения. 2011. № 4(8). C. 61–70.
11. Гатиятуллин Т.Р., Сухова А. Р. Проблемы безопасности в облачных технологиях // Проблемы развития современной науки // Сб. ст. Международной научно-практической конференции / Отв. ред. Сукиасян А. А.. 2015. С. 44–46.
12. Enrico Bini, Giorgio C. Buttazzo and Giuseppe M. Buttazzo. Rate Monotonic Analysis: the Hyperbolic Bound // IEEE Transactions on Computers. 2003 52:
933–942.
13. Liu C.L., Layland J. W. Scheduling Algorithms foR Multiprogramming in a Hard Real-Time Environment. J. ACM, 1973–20, pp. 46–61.
14. Оскар Ланге. Оптимальные решения. – М.: Прогресс, 1967. 286 с.
15. Романьков В. А.Введение в Теорию Игр: уч. пособ. – М.: РГГУ, 2014. 699 c.
16. Захаров А. В. Теория игр в общественных науках: учебник для вузов / Нац. исслед. ун-т «Высшая школа экономики». – М.: Изд. дом Высшей школы экономики, 2015. 304 с.
Рассмотрим создание системы реального времени (СРВ), сочетающей в себе веб-серверы, вычислительная мощность которых формируется на основе арендованной инфраструктуры IaaS (Infrastructure-as-a-Service – инфраструктура как сервис). Арендатор создает собственный парк виртуальных серверов (виртуальный дата-центр) и разворачивает коммерческую систему для обслуживания пользователей, получая прибыль. В предложенной модели с точки зрения теории стратегических игр два партнера: СРВ (виртуальный дата-центр – арендуемая часть IaaS) и природа (сеть клиентов), как принято в теории игр именовать непредсказуемого партнера. Модель и система мониторинга СРВ позволяют управлять предоставлением облачной вычислительной мощности и сбалансировать расходы на аренду и прибыль, получаемую в результате обслуживания пользователей.
Остановимся подробнее на одном из вопросов организации функционирования широкого класса компьютерных систем, используемых в электронном бизнесе. Имеются в виду электронная коммерция, онлайновый маркетинг, оформление заявок, осуществление платежей, информационная поддержка доставки товаров, электронный документооборот, информационно-справочные системы, финансовые системы, системы взаимодействия с клиентами и т. п. [1–7]. Подобные системы используют интернет-технологии для передачи данных и предоставления веб-сервисов на основе специализированных веб-сайтов. Последние представляют собой системы реального времени на основе веб-серверов.
Современные облачные технологии позволяют получать требуемые для этого ресурсы в форме инфраструктуры IaaS, на базе которой предоставляются услуги аренды вычислительных ресурсов и систем хранения, таких как виртуальные серверы с заданной вычислительной мощностью и каналы связи нужной пропускной способности для доступа к хранилищам данных и внешним ресурсам. При этом клиент может использовать любые операционные системы и приложения [8–11].
Рассмотрим вопросы организации работы систем реального времени и требования к вычислительным ресурсам (количеству процессоров), обеспечивающим работу систем реального времени. Как правило, СРВ предназначены для своевременного и предсказуемого реагирования на запросы, поступающие в систему. Для таких систем характерен определенный набор запросов некоторого типа Z = {zi,i = 1, 2, …, M}, для каждого из них в системе предусмотрена заранее разработанная программа Pi, хранящаяся в памяти системы. Основное требование к СРВ заключается в своевременности обработки запросов. Реакция на запрос zi должна уложиться в заранее заданный интервал времени Ri.
Все системы реального времени принято подразделять на жесткие системы реального времени Ri, в которых недопустимо превышение заданного значения для реализации запроса zi, и мягкие (гибкие системы реального времени). В последних допускается «опоздание» при обработке запроса, но повышается «стоимость» опоздания, которую обозначим ci.
Внешние запросы (события), на которые СРВ должна реагировать, можно разделить на периодические (возникающие через регулярные интервалы времени) и непериодические (непредсказуемые). Если в систему поступает M потоков периодических запросов и запрос zi поступает с периодом Ti, а на его обработку затрачивается ti времени системы, то все потоки могут быть своевременно обработаны в однопроцессорной системе только при выполнении условия:
. (1)
Системы реального времени, удовлетворяющие этому условию, считают поддающимися планированию или планируемыми.
Классический пример статического алгоритма планирования реального времени для прерываемых периодических процессов – алгоритм DMS (Date Monotonic Scheduling) [12]. Основанный на статических приоритетах алгоритм подходит для планирования независимых периодических процессов с заданным директивным временем выполнения. Как было показано Лю (Liu) и Лейлэнд (Layland) в [13], использование статических приоритетов целесообразно только при не слишком высокой загруженности центрального процессора. Алгоритм DMS гарантированно работает в любой системе периодических процессов при условии:
. (2)
Например, U ≤ 0,8284 для двух процессов. Когда количество процессов M стремится к бесконечности, это выражение имеет вид:
Гиперболическая граница (2) – более жесткое условие планирования, чем то, которое было представлено Лю и Лейлэнд, то есть имеем:
, (3)
где Ui – использование ЦП для каждой задачи. Приблизительная оценка заключается в том, что DMS может удовлетворить все предельные сроки, если загрузка процессора составляет менее 69,32%. Другие 30,7% ЦП могут быть выделены для задач с меньшим приоритетом (не для реального времени). Известно, что случайно созданная система периодических задач будет соответствовать всем предельным срокам, когда использование ЦП составляет 85% или меньше, однако это зависит от знания точной статистики задачи (периодов, крайних сроков), которая не может быть гарантирована для всех наборов задач.
Таким образом, алгоритм DMS надежен при относительно невысокой загрузке процессора. К тому же статическое планирование, используемое алгоритмом, не всегда возможно. Другой недостаток алгоритма DMS – неэффективность для планирования непериодических процессов и непостоянных временных интервалов использования центрального процессора. А именно эти условия характерны для систем мягкого реального времени.
Наиболее подходящий алгоритм планирования для таких систем – EDF (Earliest Deadline – First) – процесс с ближайшим сроком завершения первым. Это динамический алгоритм планирования, не требующий периодичности процессов и постоянства временных интервалов использования центрального процессора. Каждый раз при поступлении в систему процесс объявляет о своем присутствии и о сроке выполнения задания. Планировщик хранит список процессов, отсортированный по срокам выполнения. Алгоритм запускает процесс с ближайшим по времени сроком. В случае перехода нового процесса в состояние готовности система сравнивает его срок выполнения со сроком текущего процесса. Если у нового процесса график более жесткий, он прерывает работу текущего процесса. Алгоритм EDF работает с любым набором процессов, для которого возможно планирование. При этом коэффициент загрузки процессора может достигать 100%.
ПОСТАНОВКА ЗАДАЧИ
Алгоритм EDF можно считать достаточно неплохим для планирования работы систем мягкого реального времени. В целом с учетом непредвиденного характера нагрузки систем рассматриваемого класса следует ввести некоторую метрику (показатель) функционирования системы. Наиболее целесообразной метрикой считается «штраф» за опоздание в обслуживании запросов, поступающих в систему. Размер штрафа Ci, получаемого системой за опоздание с обработкой процесса zi, можно сформировать следующим образом:
• Ci– =K1 (Di, ti), если имеется дефицит производительности процессоров СРВ, в результате которого превышено время обработки запроса ti по сравнению с заданным директивным значением Di (в данном случае ti > Di);
• Ci+ =K2 (Di, ti), если имеется избыточная производительность процессора СРВ, в результате чего запрос zi обрабатывается быстрее директивного значения (в данном случае ti < Di);
• Ci = 0, если ti = Di.
Коэффициент K1 можно трактовать как удельные финансовые издержки, связанные с потерями системой клиентов, которые отказались от ее услуг из-за неудовлетворительного обслуживания. Коэффициент K2 можно трактовать как удельные финансовые издержки, обусловленные эксплуатацией СРВ избыточной производительности.
Будем считать, что СРВ на платформе IaaS строится как многопроцессорная (и возможно, многоядерная) система с возможностью динамического выделения некоторого числа процессоров (от 1 до n) для обслуживания входящих запросов. Выбор количества работающих в конкретный момент времени процессоров зависит от интенсивности поступления запросов в систему, которая в общем случае слабо предсказуемая либо непредсказуемая. В условиях полной неопределенности можно попробовать решить задачу на основе теории стратегических игр.
РЕШЕНИЕ ЗАДАЧИ
С точки зрения теории стратегических игр в данной игре два партнера: СРВ (арендуемая часть IaaS) и природа (сеть клиентов), как принято в теории игр именовать полностью непредсказуемого партнера [14]. Стратегии СРВ обозначим R1, R2,..., Rn, а стратегии природы – P1, P2,..., Pk. Предположительно потребность в производительности в некоторые периоды функционирования (например, рабочий день, вечер, праздничные дни и т. п.) составляет P1, P2,..., Pk, а СРВ может состоять из 1, 2,..., n процессоров, обеспечивающих соответственно значения реальной производительности R1, R2,..., Rn.
Схематично матрицу выигрышей можно записать в следующем виде:
P1 P2 ... Pk
R1 C11 C12 ... C1k
R2 C21 C22 ... C2k
... ... ... ... ...
Rn Cn1 Cn2 ... Cnk. (4)
Здесь Cij – штраф, получаемый системой при имеющейся производительности системы реального времени Ri и требуемой производительности Pj. Предположим, что с использованием тех или иных методов матрица (4) получена. В соответствии с теоремой стратегических игр для нашего случая, когда значения из множеств P = {P1, P2,..., Pk} и R = {R1, R2,..., Rn} могут принимать конечное число, оптимальное решение заключается в поиске смешанных стратегий.
Из теории стратегических игр следует, что при использовании смешанных стратегий есть, по крайней мере, одно оптимальное решение с ценой игры V, которое находится между верхним и нижним значениями [14–16]. Следует заметить, что всегда V > 0.
Допустим, оптимальная смешанная стратегия СРВ складывается из стратегий R1, R2,..., Rn с вероятностями, равными p1, p2,..., pn (p1 + p2 + ... + pn = 1), а оптимальная стратегия клиентской сети – из стратегий P1, P2,..., Pk, которые применяются с вероятностями, равными q1, q2,…, qn (q1 + q2 + ... + qn = 1). Если СРВ применяет оптимальную стратегию, а клиентская сеть чистую стратегию Pj (j = 1, 2,…, k), то средний штраф, получаемый системой, составит: Cj = p1 ∙ c1j + p2 ∙ c2j + ... + pn ∙ cnj (j = 1, 2 ,…, k).
Особенность оптимальной стратегии СРВ состоит в том, чтобы при произвольном поведении противника (клиентской сети) она обеспечивала штраф не больший, чем цена игр V. Отсюда имеем систему ограничений:
(5)
Систему (5) можно преобразовать, разделив по частям на V:
(6)
Здесь, x1 = P1 / V, x2 = P2 / V, ..., xn = Pn / V. Из условия p1 + p2 + ... + pn = 1 следует, что
x2 + ... + xn = 1 / V. (7)
Значения величин p1, p2,... pn должны быть подобраны таким образом, чтобы гарантированное значение штрафа СРВ было по возможности минимальным, то есть чтобы достигалось
V = min или 1 / V = max.
Таким образом, задача сводится к нахождению таких значений x1, x1,..., xn, чтобы
x1 + x2 + ... + xn = max. (8)
Кроме того, должны выполняться дополнительные граничные условия, а именно, pi ≥ 0 (i = 1, 2,…, n), следовательно, имеем:
xi = Pi / V ≥ 0 для i = 1, 2,…, n. (9)
Из этого следует, что нахождение оптимальной смешанной стратегии СРВ сводится к решению классической задачи линейного программирования с целевой функцией (8), ограничениями (6) и (9).
В результате решения этой задачи по определенным значениям x1 + x2 + ... + xn из уравнения (7) можно определить значение V, а затем из соотношений (9) значения p1, p2,..., pn, которые определяют оптимальную смешанную стратегию СРВ.
ПРИМЕР
Задана матрица игры (табл. 1), в которой стратегии СРВ (арендуемая часть IaaS) обозначены R1,R2,…,R5. Каждая стратегия предполагает включение в работу одного, двух, ..., пяти процессоров. Возможные стратегии клиентов, обозначенные P1,P2,…,P4, предусматривают нужную производительность, обеспечиваемую загрузку 0,5; 1,25; 2,5 и 4,5 процессоров (здесь 0,5 следует понимать как загрузку одного процессора на 50%, соответственно это относится к другим данным). Пусть за дефицит производительности СРВ получает штраф, равный 5 условным единицам (K1 = 5), если не достает производительности, обеспечиваемой одним процессором, то есть за избыточную производительность система получает штраф в 4 единицы за каждый лишний выделенный процессор (K2 = 4). Например, для совокупности стратегий {R2, P3} клиенту необходимо 2,5 процессора, система предоставляет 2 процессора, имеет место нехватка производительности. Штраф составляет 5 · (2,5 – 2) = 2,5 штрафной единицы.
Для совокупности стратегий {R4, P2} клиенту нужно 1,25 процессора, система предоставляет 4 процессора. В этом случае имеет место избыточная производительность, штраф за которую составляет 4 · (4 – 1,25) = 11 штрафных единиц.
Как видно из решения (табл. 2), цена игры в данном примере равна 7,5 штрафной единицы. Решение определяет использование стратегий R2, R3 и R4 с вероятностями, соответственно равными 0,36451; 0,27097 и 0,36451. Это позволяет считать целесообразным выбор числа процессоров СРВ из соотношения
N = n (R2) ∙ p2 + n (R3) ∙ p3 +n (R4) ∙ p4 =
= 2 ∙ 0,36451 + 3 ∙ 0,27097 + 4 ∙ 0,36451 ≈ 3.
* * *
Использование представленной модели предполагает создание системы реального времени в форме совокупности веб-серверов, вычислительная мощность которых формируется на основе арендованной инфраструктуры IaaS. Арендатор создает собственный парк виртуальных серверов (виртуальный дата-центр) и разворачивает коммерческую систему для обслуживания пользователей, получая определенную прибыль. Предложенная игровая модель позволяет сбалансировать расходы на аренду и прибыль, получаемую от обслуживания пользователей. Для решения этой задачи большое значение имеет установление значений коэффициентов K1 и K2. Наблюдение за работой системы позволяет решить задачу. Что касается значений множеств Di, ti, зависящих от задач пользователей, то встроенные средства мониторинга вычислительного процесса, имеющиеся в операционных системах, позволяют найти простое решение.
С использованием средств мониторинга и установленных значений коэффициентов K1 и K2 определяется текущее значение штрафа (цены игры) Sэ, характерного для эффективной работы арендуемой системы. В процессе функционирования в зависимости от сложившейся ситуации (интенсивности потока запросов) средства мониторинга СРВ получают текущее значение штрафа, которое может отличаться от Sэ. В этом случае необходимо уточнить множество возможных стратегий P = {P1, P2,…, Pk} и R = {R1, R2,…, Rn } и вновь решить задачу определения требуемой производительности СРВ. В идеале можно построить адаптивную СРВ на основе средств мониторинга и предложенной игровой задачи.
ЛИТЕРАТУРА
1. Облачные сервисы 2013.
Cnews-аналитика. –
URL: http://www.cnews.ru/reviews/new/oblachnye_ servisy_2013/
2. Батаев А. В. Анализ использования облачных сервисов в банковском секторе // Молодой ученый. 2015. № 5. С. 234–240. URL: https://moluch.ru/archive/85/15818/
3. Батаев А. В. Перспективы внедрения облачных технологий в банковском секторе России // Научно-технические ведомости СПбГПУ. Экономические науки № 2 (192). 2014. С. 156–164.
4. Монахов Д.Н., Монахов Н. В., Прончев Г. Б., Кузьменков Д. А. Облачные технологии. – М.: Издательство МГУ им. М. В. Ломоносова, 2013.
5. Риз Дж. Облачные вычисления. – БХВ-Петербург, 2011. 288 с.
6. Гордюшин А.В., Лебедева С. В. Облачные технологии: технология создания «облака» // Вестник молодых ученых Санкт-Петербургского государственного университета технологии и дизайна. 2014. № 3. С. 53–57.
7. Романова И. Облачные технологии и их применение // Молодой ученый. 2016. № 17.1. С. 109–112.
URL: https://moluch.ru/archive/121/33593/
8. Макаров Д.В., Романчук В. А. Облачные SaaS, IaaS, PaaS системы для искусственного интеллекта // Современная техника и технологии. 2015. № 5 URL:
http://technology.snauka.ru/2015/05/6731
9. Круликовский А.П., Тупота Е. С. Инструментарий для управления «облачными» технологиями // В сб.: Актуальные проблемы и перспективы развития экономики Труды Юбилейной XV международной научно-практической конференции. Крымский федеральный университет им. В. И. Вернадского. 2016. С. 218–219.
10. Кондратьев А.А., Тищенко И. П., Фраленко В. П. Разработка распределенной системы защиты облачных вычислений // Программные системы: теория и приложения. 2011. № 4(8). C. 61–70.
11. Гатиятуллин Т.Р., Сухова А. Р. Проблемы безопасности в облачных технологиях // Проблемы развития современной науки // Сб. ст. Международной научно-практической конференции / Отв. ред. Сукиасян А. А.. 2015. С. 44–46.
12. Enrico Bini, Giorgio C. Buttazzo and Giuseppe M. Buttazzo. Rate Monotonic Analysis: the Hyperbolic Bound // IEEE Transactions on Computers. 2003 52:
933–942.
13. Liu C.L., Layland J. W. Scheduling Algorithms foR Multiprogramming in a Hard Real-Time Environment. J. ACM, 1973–20, pp. 46–61.
14. Оскар Ланге. Оптимальные решения. – М.: Прогресс, 1967. 286 с.
15. Романьков В. А.Введение в Теорию Игр: уч. пособ. – М.: РГГУ, 2014. 699 c.
16. Захаров А. В. Теория игр в общественных науках: учебник для вузов / Нац. исслед. ун-т «Высшая школа экономики». – М.: Изд. дом Высшей школы экономики, 2015. 304 с.
Отзывы читателей