Оптимизация управления распределением трафика в программно-управляемой инфраструктуре виртуального ЦОД на основе имитационной модели
Автор: Болодурина И.П., Парфнов Д.И.
Журнал: Вестник Воронежского государственного университета инженерных технологий @vestnik-vsuet
Рубрика: Информационные технологии, моделирование и управление
Статья в выпуске: 1 (71), 2017 года.
Бесплатный доступ
В настоящее время доля использования технологии облачных вычислений в современных бизнес процессах компаний неуклонно растет. Несмотря на то, что это позволяет снижать стоимость владения и эксплуатации ИТ инфраструктуры, существует ряд проблем связанных с управлением центрами обработки данных. Одной из таких проблем является эффективность использования имеющихся в распоряжении компаний вычислительных и сетевых ресурсов. Одним из направлений оптимизации является процесс управления трафиком облачных приложений и сервисов в центрах обработки данных (ЦОД). Учитывая многозвенную архитектуру современных ЦОД, такая задача весьма не тривиальная. Преимуществом современной инфраструктуры виртуализации является возможность использования программно-конфигурируемых сетей и программно-управляемых хранилищ данных. Однако существующие алгоритмические решения при оптимизации не учитывают ряд особенностей формирования трафика в сети с несколькими классами приложений. В рамках проведенного исследования решена задача оптимизации распределения трафика облачных приложений и сервисов для программно-управляемой инфраструктуры виртуального ЦОД. Предложена имитационная модель, позволяющая описать трафик в программно-конфигурируемых сегментах сети ЦОД, участвующих в обработки запросов пользователей к приложениям и сервисам расположенных сетевой среде, включающей в себя гетерогенную облачную платформу и программно-конфигурируемые хранилища данных. Разработанная модель позволила реализовать алгоритм управления трафиком облачных приложений и оптимизировать доступ системе хранения, за счет эффективного использование канала для передачи данных. В ходе экспериментальных исследований установлено, что применение разработанного алгоритма позволяет сократить время отклика облачных приложений и сервисов, и, как следствие, повысить производительность обработки запросов пользователей и снизить количество отказов.
Облачные вычисления, виртуальный центр обработки данных, программно-конфигурируемая инфраструктура, программно-конфигурируемая сеть
Короткий адрес: https://sciup.org/140229787
IDR: 140229787 | DOI: 10.20914/2310-1202-2017-1-99-105
Текст научной статьи Оптимизация управления распределением трафика в программно-управляемой инфраструктуре виртуального ЦОД на основе имитационной модели
В настоящее время доля использования облачных приложений и сервисов для автоматизации современных бизнес процессов в средних и крупных компаниях неуклонно растет. Это позволяет снижать стоимость владения и эксплуатации ИТ инфраструктуры за счет более эффективного использования имеющихся в распоряжении компании вычислительных и сетевых ресурсов. На сегодняшний день решения, применяемые при построении виртуальной инфраструктуры, динамично развиваются. Так в последнее время для размещения облачных приложений и сервисов в инфраструктуре виртуального центра обработки данных (ЦОД) активно применяется технология контейнеров. Наиболее востребованным подходом является использование контейнеризации приложений
и сервисов на базе Docker. Кроме того современные ЦОД переходят от физической инфраструктуры к виртуальной с применением программно-конфигурируемых компонентов (сетей, хранилищ данных и др.) [2, 3]. Это вносит свои коррективы в механизмы управления запуском и размещением приложений и сервисов.
Наиболее существенные изменения происходят в задачи планирования SaaS- и PaaS-сервисов [4]. При этом традиционные способы решения задач планирования и управления распределением ресурсов, количественно максимизирующие выполнение запросов пользователей, применяемые в высокопроизводительных (High Performance Computing, HPC) системах, оказываются не эффективны [1, 5]. В основном это связано с тем, что для HPC время отклика на выполнения запроса пользователя при решении задач из пакета запросов играет значительно меньшую роль, нежели сам факт выполнения запроса. При этом в HPC задачах чаще всего делается акцент на скорость выполнения на различных конфигурациях вычислительных систем. Для облачных приложений и сервисов наоборот наиболее критичным параметром является время отклика на запрос пользователя.
В рамках настоящего исследования построена имитационная модель программно-управляемой инфраструктуры виртуального ЦОД, позволяющая описать трафик запросов пользователей к приложениям и сервисам в гибко реконфигурируемой виртуальной сетевой среде, включающей в себя гетерогенную облачную платформу и программно-конфигурируемые хранилища данных.
Материал и методы исследования
Как правило, в программно-управляемой инфраструктуре виртуального ЦОД размещаются несколько неоднородных приложений и сервисов. На основании этого предположим, что, в сети виртуального ЦОД присутствует как минимум три класса трафика приложений, таких как: веб-приложения; case-приложения (прикладное ПО, доступное по DaaS или SaaS модели); видео сервисы. При этом в качестве трафика приложений будем рассматривать запросы пользователей к каждому классу приложений. Для генерации запросов пользователей в имитационной модели применим к каждому классу трафика весовые коэффициенты k 1 , k 2 , k 3 . Каждый из перечисленных коэффициентов позволяет разделить заявки на классы и оказывает влияние на следующий набор параметров: время выполнения, маршрут в имитационной модели, приоритет в очереди на обработку, интенсивность поступления, а так же закон распределения, согласно которому осуществляется генерация трафика определенного класса.
Представим имитационную модель программно-управляемой инфраструктуры виртуального ЦОД в виде многоканальной системы массового обслуживания. В ее состав входит источник заявок пользователей (I), очередь (Q s ) и планировщик (S), управляющий процессами размещения и запуска приложений и сервисов (App), а также пул вычислительных узлов (Srv) и систем хранение (Stg) ЦОД, содержащие как сами приложения, так и требуемые им данные. Схема СМО программно-управляемой инфраструктуры виртуального ЦОД представлена на рисунке 1.

Вычислительные узлы
Приложения и Очередь к сервисы СХД
СХД
Рисунок 1. Схема СМО программно-управляемой инфраструктуры виртуального ЦОД
Figure 1. QS scheme of the software-configurable infrastructure of virtual data center
Модель СМО носит стохастический характер.
Для ее работы необходимо создать поток запросов пользователей к облачным приложениям и сервисам, учитывающий законы распределения и интенсивность поступления заявок для каждого класса облачного приложения и сервиса.
Для решения задачи по оптимизации управления размещением приложений в облачной среде виртуального ЦОД необходимо опередить законы распределения трафика для каждого класса приложений, а так же распределить сам трафик по объектам доступа (виртуальным серверам, контейнерам и системам хранения). Для этого необходимо установить определенный маршрут и построить для него закон управления на временном интервале T=[t 1 , t 2 ].
В динамике трафик облачных приложений и сервисов в программно-управляемой инфраструктуре виртуального ЦОД можно описать следующей дискретной системой:
KN xi,j(t+∆t)=xi,j(t)-∑∑si,j(t)uij,l,k(t)+ k=1 l=1 (1)
N
+ ∑ s m , i ( t ) u m j , l ( t ) + y i , j ( t ) m = 1
где N – количество виртуальных узлов в сети; K – количество классов приложений и сервисов в сети; s i , j ( t ) – пропускная способность каналов между i -м вычислительным узлом и j -ой системой хранения данных ( i ≠ j ); y i , j ( t ) = λ i , j ( t ) ∆ t – объем трафика (количество запросов пользователей), поступающий в момент времени t на виртуальный узел i и предназначенной для передачи системе хранения j ; λ i , j ( t ) – интенсивность поступающей нагрузки, которая определяется как суммарная интенсивность потока запросов пользователей, подключаемых к виртуальному узлу i и ведущих обмен с j -ом узлом системы хранения данных; u i j , l , k ( t ) – доля пропускной способности канала выделенного в сегменте программно-конфигу-рируемой сети ( i , l ), в момент времени t потоку запросов пользователей к приложению k -го класса, осуществляющего работу с данными в системе хранения j .
Чтобы исключить возможность перегрузки объектов виртуального ЦОД, ввиду ограниченности буферов очередей на вычислительных узлах, а так же эффективного использования пропускной способностей каналов передачи данных на переменные, отвечающие за управление и формирование канала для облачных приложений в программно-конфигурируемой сети (ПКС) накладывается ряд ограничений.
Ограничения на переменные динамического управления сетевыми ресурсами связаны с ограниченностью физической пропускной способности каналов между сетевыми устройствами и могут быть записаны в следующем виде:
N
-
0 ≤ u ij , l ( t ) ≤ u ij , l (max) ≤ 1; ∑ u ij , l ( t ) ≤ ε i , jl , k ≤ 1 (2) l = 1
где u i j , l (max) – максимальный предел выделяемой доли пропускной способности доступный вычислительному узлу i в сегменте ПКС l для передачи трафика к системе хранения j ; ε i , j l , k – доля пропускной способности канала для вычислительного узла i в сегменте ПКС l , выделенная для передачи пакетов запросов пользователей к приложению k- го класса для реализации динамической стратегии управления виртуальными ресурсами при доступе к системе хранения j .
Организация программно-управляемой инфраструктуры виртуального ЦОД с применение программно-конфигурируемой сети, позволяет управлять механизмами формирования очередей, что вводит дополнительные ограничения на переменные состояния
N
-
0 ≤ x i , j ( t ) ≤ x i (,m j ax) ; ∑ x i , j ( t ) ≤ x i (max) (3)
l = 1
где x i ( , m j ax) – максимально допустимая длина очереди на i -м вычислительном узле x выделенная для обработки поступающего трафика к системе хранения j; xi (max) – максимально допустимый объем буфера на узле вычислительном узле i .
В качестве критерия оптимальности рассмотрим максимизацию производительности системы, достигаемой за фиксированный период T=[t 1 , t 2 ], которая в рамках модели формализуется в виде целевой функции вида t - 1 KNN ∑∑∑∑ s i , j ( t ) u ij , l , k ( t ) → max (4)
t = 0 k = 1 i = 1 j = 1
Для решения задачи оптимизации применим итерационный метод, который позволяет исследовать динамику работы системы на интервале T=[t 1 , t 2 ] и осуществлять управление пропускной способностью канала для выделенного класса приложений в программно-конфигурируемой сети.
Предлагаемые алгоритмы
Для решения оптимизационной задачи нами разработан алгоритм управления трафиком облачных приложений и сервисов в программноуправляемой инфраструктуре виртуального центра обработки данных. По сравнению с имеющимися аналогами алгоритм использует эвристический анализ потоков запросов, а также классификацию трафика по типу передаваемых данных в процессе работы приложения, размещенного в облачной платформе. Гибкость предлагаемого решения обусловлена виртуализацией хранилища данных. Это позволяет динамически изменять расположение приложений в облачной системе относительно физических устройств, что дает возможность предоставлять непрерывный доступ к услугам и сервисам. Предлагаемое решение прозрачно для клиента и масштабирует облачные приложения на несколько виртуальных устройств хранения. Это обеспечивает сокращение времени отклика приложения, а так же повышает отказоустойчивость всей системы в целом. Формирование программно-управляемых самоорганизующихся хранилищ данных на базе виртуальных машин и контейнеров позволяет не только снизить риски, связанные с потерей или недоступностью данных, но и обеспечивает интеллектуальный анализ востребованности облачных приложений. На базе полученных данных формируются карты размещения виртуальных машин и контейнеров, а так же правила для формирования потоков в программно-конфигурируемой сети виртуального ЦОД. В основу алгоритма управления трафиком облачных приложений и сервисов в программно-управляемой инфраструктуре положена разработанная имитационная модель. Полученная информация о характере распределения и интенсивности поступления запросов подвергается анализу с применением алгоритмов машинного обучения (Data Mining), основанного на нейросетевом подходе. В результате которого формируется карта оптимального расположения приложений и сервисов внутри самой облачной платформы с привязкой к физическим устройствам, а так же создается карта маршрутов для формирования потоков трафика с учетом востребованности данных в системе хранения. Путем анализа двух карт и эвристического алгоритма прогнозирования система управления виртуальным ЦОД принимается решение о реконфигурации структуры облачной платформы и перестройке маршрутов для выделенных классов трафика. При этом обе карты являются динамическими объектами, формируемыми не только по мере возникновения событий в программно-управляемой инфраструктуре, но и с заданным интервалом времени ∆t , подбираемым индивидуально для каждой облачной платформы. В рамках исследования определен наиболее оптимальный интервал времени для анализа и перестроения карт, при котором работа системы будет наиболее эффективной.
При работе с облачными приложениями и сервисами не исключена ситуация, при которой для обслуживания запроса пользователя могут быть задействованы сразу несколько типов ресурсов инфраструктуры виртуального ЦОД с различными характеристиками доступа. При работе с такими данными облачной системе необходимо осуществлять подготовку инфраструктуры доступа для оптимизации времени отклика на запрос. Для этого разработанный алгоритм управления трафиком облачных приложений и сервисов в программно-управляемой инфраструктуре виртуального ЦОД в ходе работы строит план выполнения запросов, тем самым подстраивая каждый задействованный объект инфраструктуры под поток запросов пользователей. В результате, план выполнения потока запросов пользователей с одинаковой интенсивностью в разные моменты времени может быть составлен по-разному. Перестроение плана происходит в соответствии с востребованностью ресурсов, что позволяет эффективно управлять распределением и динамической балансировкой нагрузки в программно-управляемой инфраструктуре виртуального ЦОД. Обобщенная блок-схема работы алгоритма управления трафиком облачных приложений и сервисов в программно-управляемой инфраструктуре виртуального центра обработки данных представлена на рисунке 2.

Рисунок 2. Обобщенная блок-схема работы алгоритма управления трафиком облачных приложений и сервисов в программно-управляемой инфраструктуре виртуального центра обработки данных
Figure 2. A generalized block scheme of the algorithm of control traffic of cloud applications and services in a software-configurable infrastructure in virtual data center
Всего в работе алгоритма управления трафиком облачных приложений и сервисов в программно-управляемой инфраструктуре виртуального центра обработки данных можно выделить три этапа планирования и оптимизации, выполняемых для обслуживания запросов пользователей.
На первом этапе в плане выполнения анализируются характеристики запроса, поступающего от пользователя к приложению, а именно, определяется тип приложения и вид передаваемых данных. Запрос данных является многокомпонентным, т. е. для организации канала задействуется сразу несколько элементов системы. Поэтому на втором этапе система управления определяет наиболее подходящие ресурсы, способные гарантировать выполнение запроса. При этом если среди ресурсов существует вариативность, то на основе информации о прогнозе востребованности каждого из доступных вариантов ресурса строится ранжированный список с привязкой к виртуальному хранилищу данных. При этом при построении маршрута трафика учитываются только наименее загруженные хранилища данных и каналы связи. На третьем этапе работы алгоритма анализируются текущие параметры ресурсов и прогнозируется время, необходимое на выполнения текущего запроса. Полученные результаты сохраняются для дальнейшего использования при самообучении алгоритма. В случаях высокой ресурсоемкости запроса для предварительной оценки в алгоритме применяется поэлементный анализ объектов доступа, входящих в запрос.
Экспериментальная часть
Для оценки эффективности разработанного алгоритма управления трафиком облачных приложений и сервисов в программно-конфигури-руемых хранилищах данных виртуального ЦОД, нами проведено исследование работы облачной системы, построенной на базе Openstack с различными параметрами. Для сравнения в эксперименте использовались алгоритмы, применяемые в облачных системах для управления запуском приложений и размещением данных. Для анализа эффективности и производительности работы алгоритмов на различных системах хранения, нами определены типовые условия эксперимента, включающие традиционные устройства на магнитных дисках (HDD), твердотельные накопители (SSD) и виртуальные хранилища (SDS). Для экспериментального исследования создан прототип облачный среды, включающий в себя основные узлы, а так же программные модули для разработанных алгоритмов, выполняющие перераспределение запросов пользователей к данным в программно-конфигурируемом хранилище.
В облачной системе OpenStack реализован модуль, применяющий разработанные алгоритм управления трафиком облачных приложений и сервисов в программно-конфигурируемых хранилищах данных виртуального ЦОД для рационального использования вычислительных ресурсов облачной системы и эффективного размещения виртуальных машин по физическим узлам, а так же связанных с ними данных. В ходе эксперимента для анализа данных создан поток запросов, аналогичный реальным запросам пользователей к облачным приложениям, основанный на данных лог-записей доступа к определенным видам ресурсов с классификацией по типам приложений и структуре запроса. Ретроспектива воспроизводимых запросов составила 3 года, при этом для нагрузочного эксперимента применялись усредненные данные. Полученные данные распределены на пул виртуальных машин по следующим критериям: тип клиента, осуществившего обращение к данным, тип сервиса, востребованного при подключении. При этом количество одновременных запросов, поступивших в систему, составило 100000, что соответствует максимальному числу потенциальных пользователей системы.
Все сформированные запросы воспроизводились последовательно на трех экспериментальных площадках. Данное ограничение введено в связи необходимостью сопоставления результатов с физическими системами хранения данных, не способных к реконфигурации. Основным отличием экспериментальных площадок является использование твердотельных накопителей.
Помимо площадок для анализа эффективности сформировано 3 группы экспериментов, направленных на интенсивное выполнение запросов по чтению (эксперимент 1), записи (эксперимент 2) и одновременных операциях чтения и записи данных (эксперимент 3) для каждого класса приложения.

Рисунок 3. Анализ времени отклика приложений при выполнении запросов на чтение данных (эксперимент 1)
Figure 3. Analysis of application response time when performing queries to read data (experiment 1)

Рисунок 4. Анализ времени отклика приложений при выполнении запросов на запись данных (эксперимент 2)
Figure 4. Analysis of application response time when performing queries on data entry (experiment 2)

Рисунок 5. Анализ времени отклика приложений при одновременном выполнении запросов на чтение и записи данных (эксперимент 3)
Figure 5. Analysis of the response time of the applications while executing requests for reading and writing data (experiment 3)
Время эксперимента составило один час, что соответствует наиболее длительному периоду времени пиковой нагрузки системы, зафиксированному в реальном трафике. Анализ данных экспериментальных исследований доказал, что управления трафиком облачных приложений и сервисов в программно-конфигурируемых хранилищах данных виртуального ЦОД с использованием предложенного алгоритма более
Список литературы Оптимизация управления распределением трафика в программно-управляемой инфраструктуре виртуального ЦОД на основе имитационной модели
- Bolodurina I., Parfenov D. Effective use of resources distributed cloud computing platform for providing quality multimedia services//Труды Института системного программирования РАН. 2015. Т. 27, № 3. С. 315-328. 2015-27(3) -22 DOI: 10.15514/ISPRAS
- Bocchi E., Drago I., Mellia M. Personal Cloud Storage Benchmarks and Comparison//IEEE Transactions on Cloud Computing. 2015. V. 99 DOI: 10.1109/TCC.2015.2427191
- Rajiv R., Benatallah B., Schahram D., Michael P. Cloud Resource Orchestration Programming: Overview, Issues, and Directions//IEEE Internet Computing. 2015. V. 19. № 5 DOI: 10.1109/MIC.2015.20
- Thiago A.L., Genez L.F., Bittencourt E., Madeira R.M. Workflow scheduling for SaaS/PaaS cloud providers considering two SLA levels//Network Operations and Management Symposium (NOMS). 2012 DOI: 10.1109/NOMS.2012.6212007
- Wuhib F., Stadler R., Lindgren H. Dynamic resource allocation with management objectives -Implementation for an OpenStack cloud//Network and service management, 2012 8th international conference and 2012 workshop on systems virtualization management, 2012. P. 309-315.