УДК 004.052.3
РАСПРЕДЕЛЕНИЕ ВИРТУАЛЬНЫХ МАШИН ВНУТРИ ОБЛАЧНОЙ ИНФРАСТРУКТУРЫ
С УЧЕТОМ РАЗЛИЧНЫХ ВОЗМОЖНОСТЕЙ ДОСТУПА К СИСТЕМАМ ХРАНЕНИЯ ДАННЫХ
DISTRIBUTION OF VIRTUAL MACHINES IN CLOUDY WITH THE ACCOUNT OF VARIOUS ACCESS TO DATA STORAGE SYSTEMS
А. В. Жариков, О. В. Константинова, О. С. Терновой
Алтайский государственный университет, г. Барнаул, Россия
A. V. Zharikov, O. V. Konstantinova, O. S. Ternovoy
Altay state university, Barnaul, Russia
Аннотация. В статье решается известная «задача о ранце» в контексте распределения виртуальных серверов внутри облачной инфраструктуры. При этом основное внимание при решении этой задачи уделяется распределению виртуальных машин внутри облака, имеющего в своём составе ресурсы с различными возможностями доступа. Предложенная в статье математическая модель позволяет оптимально распределять ресурсы, не только учитывая такие параметры, как оперативная память и мощность процессора, но и параметры систем хранения данных, связанных с объемом и скоростью доступа. Полученная модель была апробирована на реальной сетевой инфраструктуре. С практической точки зрения, рассматриваемый способ распределения виртуальных машин позволяет задействовать имеющиеся в составе центра обработки данных ресурсы небольшой мощности.
Ключевые слова: задача о ранце, оптимизация облачной инфраструктуры, виртуальные машины.
DOI: 10.25206/2310-9793-2018-6-4-114-120
I. Введение
Способ организации IT-инфраструктуры в настоящее время все больше склоняется в сторону облачных вычислений, что спровоцировало рост рынка облачных технологий. Любая компания может гибко настроить объем потребляемых ресурсов в соответствии со своими потребностями посредством использования облачных ресурсов. Для поставщиков облачных ресурсов остро встает задача создания и модернизации современных ЦОД (Центров обработки данных), а также обслуживания и эффективного распределения ресурсов. Основные показатели, которые характеризуют облачные ресурсы: гибкость модели обслуживания; качество обслуживания; отказоустойчивость. Таким образом, наиболее важными аспектами в работе ЦОД являются загрузка ресурсов, энергопотребление и сложность управления.
Ключевой технологией в управлении ЦОД является виртуализация. Один физический сервер может выступать в качестве Host-Server (HS) или Network Attached Storage (NAS), каждый из которых может предоставлять ресурсы для размещения облачных ресурсов, т.е. Virtual Machine (VM).
II. Постановка задачи
Нагрузка на подобного рода сервера обеспечивается работой различных приложений на выделенных облачных ресурсах, что приводит к неравномерной нагрузке в течение суток за счет случайных всплесков производительности. Определим два типа размещения виртуальных серверов (VM) - статический и динамический. Статический способ обусловлен решением задачи оптимального размещения облачных ресурсов на длительный период (не менее суток). Принятие решения о размещение на более короткий срок может привести к частым миграциям облачных ресурсов между физическими серверами, что не всегда технически возможно.
Динамическое распределение ресурсов подразумевает учет фактора загрузки во временном аспекте, где временной интервал между двумя моментами принятия решения о распределении облачных ресурсов не более
10 минут. Приведенный способ распределения ресурсов необходимо реализовывать при наличии технологии Live Migration (живая миграция), применяемой на компьютерных системах высокой доступности (High Availability).
В обоих случаях достижение лучшей производительности и рационального использования ресурсов является главной задачей ЦОД, чем обусловлена актуальность оптимального размещения облачных ресурсов.
Указанная задача относится к типу так называемых «задача о ранцах», в рамках которой предлагается распределить в рюкзаке максимально возможное количество предметов [1].
Классическую постановку «задачи о ранцах» можно сформулировать так: имеется рюкзак определённой вместимости и набор предметов с характеристиками «вес» и «стоимость»; необходимо собрать рюкзак, соблюдая ограничение на суммарный вес с максимальной ценностью предметов внутри. Существует множество вариантов с различными условиями этой задачи, наложенными на рюкзак, предметы или их выбор. Некоторые модификации решений «задачи о ранцах» в области информационных технологий представлены в следующих статьях.
В статье [2] получена математическая модель, которая рассматривает горизонтальное и вертикальное масштабирование облачных серверов. С помощью анализа критериев оптимизации ресурсов центра выделены группы, имеющие различные размерности, большой диапазон изменений и по характеру, относящиеся к непрерывным нелинейным функциям. Предлагается получить оптимальное решение Парето за приемлемое время переключения физических серверов. Нами временное решение распределения VM будет разработано в дальнейшем.
Chen и его соавторы [3] предлагают стратегию миграции VM на основе трёх параметров: загрузки процессора, пропускной способности сети и скорости ввода-вывода дисков, решая при этих данных задачу о так называемом мультипликативном рюкзаке. Полученные результаты экспериментов показывают, что алгоритм помогает достичь цели повышения использования ресурсов и снижения потребления электроэнергии в облачных размещениях VM. Но в этой работе не учитывается общая нагрузка физической машины.
Проблему максимизации использования ресурсов рассматривают Feng и другие авторы [4], где используют три параметра нагрузки: хранение, пропускную способность и циклы процессора. Однако в этой работе фокус рассмотрения смещён в сторону центров обработки данных потоковых служб P2P, поэтому эта задача получается суженной, c небольшим диапазоном применения.
В статье [5] рассмотрена политика размещения VM на основе пропускной способности сети, но при этом не учитываются параметры VM. В работе [6] предлагается оптимизированный алгоритм планирования размещения VM для оптимизации или субоптимизации задач планирования облачных размещений. Авторы исследуют возможность размещения VM с помощью повышения скорости наилучшего распределения при выполнении условия максимального использования ресурсов физических серверов. Проблему планирования размещения VM сводят к несбалансированной задаче о назначениях.
Younge и его соавторы [7] рассматривают те же проблемы, для решения которых предлагается вычислять новую структуру размещения вместо простого размещения VM, используя технологии планирования, гибкого управления ресурсами и общей эффективности системы, которые обеспечивают заметные улучшения в масштабируемой облачной архитектуре.
В статье [8] рассматривается проблема размещения многопользовательских VM в ЦОД, учитывая требования для VM различных арендаторов и введения цели распределения с целью минимизации величины сети VM всех арендаторов. Авторы предлагают алгоритм распределения многоуровневых ресурсов для многопользовательских облачных центров обработки данных на основе проблемы множественного рюкзака (LP-MKP). Алгоритм LP-MKP использует многоступенчатый многоуровневый прогрессивный алгоритм для размещения многопользовательских VM, который эффективно обрабатывает потребности арендаторов на каждом уровне, что уменьшает фрагментацию ресурсов в ЦОД, уменьшает различия в технологии предоставления различным классам трафика различных приоритетов в обслуживании (QoS) среди арендаторов и улучшает общее QoS арендаторов в облачных ЦОД. Описываются эксперименты по оценке LP-MKP алгоритма и демонстрируется, что он может обеспечить значительный выигрыш по сравнению с другими алгоритмами распределения.
Распределение ресурсов VM во многих исследованиях решается как задача упаковки одномерного или многомерного ящика [9], [10]. Gao и другие авторы [11] рассмотрели применение алгоритма многоцелевой муравь-
иной колонии для виртуального размещение машин. Song и другие [12] абстрагировали размещение VM как проблему оптимизации, в которой считали неотъемлемыми частями зависимость и трафик между виртуальными машинами. Zhu и его соавторы [13] изучили проблему надёжного размещения VM с целью минимизации общей вероятности отказа.
Некоторые исследования рассматривались в режиме онлайн или по заранее известным требованиям распределения ресурсов в облачных ЦОД. Например, Song и другие [14] предложили механизм двухуровневого распределения ресурсов по требованию, который состоит из местного и глобального распределения ресурсов с обратной связью для предоставления ёмкости по требованию для одновременного использования серверов.
Hao и его соавторы [15] предложили обобщённое размещение ресурсов методом, который позволяет работать в разных облачных архитектурах и ограничения запросов ресурсов, будь то их увеличение или уменьшение в режиме реального времени. Ahmed и Wu [16] разработали новый подход, используя цепи Маркова для оценки будущего спроса на облачные узлы распределения ресурсов.
Кроме того, в некоторых исследованиях изучались ресурсы и проблема распределения с других точек зрения. В статье [17] изучили сетевой ресурс распределения и предложили алгоритм эвристического распределения на основе построения минимального остовного дерева.
Некоторые авторы предлагают модели планировщиков включения и отключения аномальных VM. Так, в работе [18] авторы предлагают модель планировщика, который уменьшает интерференцию запуска VM арендаторов путём приостановки VM, которые оказывают большее влияние на загрузку физического сервера. Планировщик распределяет это, выбирая группу VM, которая производит наименьшие помехи. Данная модель была построена с помощью решения задачи о рюкзаке 0-1. Выбранные виртуальные машины предлагается запускать в то время, как другие, выпавшие из группы, виртуальные машины приостановлены. Причём обеспокоенность пользователей приостановкой и возобновлением работы VM в течение короткого времени не бралась во внимание, поскольку планировщик был разработан для выполнения приложений пакетного типа таких как, например, научные приложения.
Обобщая выводы по рассмотренным выше статьям, можно обратить внимание, что все предложенные подходы по оптимальному размещению виртуальных серверов не учитывают основных параметров систем хранения данных, связанных со скоростью доступа, объемом и их типом. Кроме того, у ряда подходов реализуется решение только для статичного или динамичного размещения и не может быть использовано для другого.
Цель данного исследования - предложить математическую модель для статичного распределения ресурсов, способную учитывать нюансы в работе систем хранения данных и которую было бы возможно в дальнейшем использовать в качестве базовой модели при динамическом размещении ресурсов.
III. Теория
В предложенной работе рассмотрена математическая модель для статического случая размещения. Введем обозначения для формализации модели:
• NAS (Network Attached Storage - сетевой сервер для хранения данных на файловом уровне);
• HS (Host-Server - это узел сети (физическая единица компьютерной техники), подключённая к сети);
• VM (Virtual Machine - программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы и исполняющая программы для target-платформы на host-платформе).
Распределяемые ресурсы:
• S (Storage - хранилище данных);
• IOPS (Input/Output Operations per Second - количество операций ввода-вывода в секунду);
• RAM (Random Access Memory - оперативная память);
• CPU (Central Processing Unit - центральный процессор).
Введем серию параметров VM_{RAM,CPU,IOPS,S}, характеризующую потребление распределяемых ресурсов виртуальным сервером (VM). Потребности и возможности виртуальных и физических серверов соответственно представлены на рис. 1. Каждый виртуальный сервер может быть размещен только на одном сетевом хранилище данных и одном физическом сервере, а физические сервера и сетевые хранилища могут размещать ресурсы нескольких виртуальных машин.
Рис. 1. Ресурсы физических серверов и потребности облачных ресурсов
Таким образом, решается задача одновременного распределения ресурсов на различных типах физических серверов (рис. 2). На рис. 2 представлено размещение ресурсов виртуальных машин на сетевых хранилищах и физических серверах. Размещение характеризуется соответствующими множествами индексов.
Рис. 2. Распределение виртуальных серверов
Множества 1р,]ч определяют индексы распределения виртуальных серверов, причем выполнено условие
1РП1Ч = 0,]р П1Ч = 0, Ур, ц: рФц. (1)
Обозначим переменную размещения VMk на серверах NASi и HSj как Е {0,1}. Критерием оптимальности примем максимальную плотность. Введем ограничения:
• закрепление размещения виртуальных машин (VM):
ь м
= 1,к = 1^ N; (2)
1=1 ]=1
• ограничения для физических характеристик серверов:
^ ^ VM_IOPSfcXyfc < IOPSj, i = 1 ... L, (3)
j=l к=1 M N
^^ VM_SkxiJk <Si, i = 1. L, (4)
j=l k=l L N
^ ^ VM_CPUfcXyfc < CPU,, j = 1... M, (5)
¿ = 1 k=1 L N
^ ^ VM_RAMfcXyfc < RAM,, j = 1 ... M. (6)
¿ = 1 k = 1
Помимо ограничений для физических характеристик (3)-(6), можно учитывать особенности организации сетевого взаимодействия Host-Server и Network Attached Storage. Многие поставщики облачных ресурсов используют блейд-сервера в качестве технического решения. Сетевой доступ в подобного рода системах может предоставляться с разной скоростью, что влияет на параметр IOPS. Например, для лезвий блейд-сервера с компонентом сетевого хранилища скорость доступа к сетевому хранилищу гораздо выше, чем для остальных физических серверов.
Таким образом, ограничение (3) для несовпадающей скорости доступа физических серверов (HS) к ресурсам сетевых хранилищ (NAS) примет вид
N
^ VM_IOPSyXyfc < IOPSy, i = 1. L, j = 1... M, (7)
k=1
где IOPSy описывает возможное количество операций ввода/вывода j-го физического сервера HS на i-ом сетевом хранилище данных (NAS).
Критерии оптимальности.
Высокая производительность для IOPS:
max
xijk
VM-IOPSOxO<c. (8)
i=l j=i к=1 Полнота загрузки ресурсов CPU, RAM:
L M N
mm XXZ^1 - vMcpufc*yk)(i VM RAMkXijk)- (9)
l'k ¿=1 j=l k=1
Таким образом, сформулирована математическая модель (2), (4)-(9) учитывающая несовпадающие возможности доступа к сетевым хранилищам в рамках ЦОД.
IV. Результаты экспериментов
Для проверки состоятельности математической модели было проведено её тестирование в реальных условиях. Исходные данные были получены из дата-центра Алтайского государственного университета. Дата-центр включает в себя следующий набор серверного оборудования:
1. Один блейд-сервер, укомплектованный восемью лезвиями. Параметры каждого лезвия: CPU 4 ядра по 2300MHz; RAM 48Gb: 2HDD по 300Gb каждый.
2. Система хранения данных емкостью 40Tb, интегрированная в шасси блейд-сервера по высокоскоростному каналу передачи данных.
3. Сетевая система хранения данных ёмкостью 10Tb, доступная по Enternet соединению.
4. 9 отдельных физических серверов. Параметры каждого сервера: CPU 4 ядра по 2700MHz; RAM 16Gb: 1HDD 500Gb.
На указанном оборудовании эксплуатируются 62 виртуальные машины различной конфигурации. Технический персонал дата-центра периодически фиксирует недостаток физических ресурсов в моменты одновременной высокой нагрузки на один или несколько физических ресурсов, при этом на некоторых физических серверах имеется необходимое количество ресурсов. В рамках проведения эксперимента по проверке, представленной выше математической модели, ставилась задача выбора оптимального размещения виртуальных машин на имеющихся физических ресурсах.
Для каждой виртуальной машины назначено определенное количество ресурсов CPU, RAM и доступного дискового пространства. Эти ресурсы выбраны с учетом максимальной суточной нагрузки и необходимого для работы сервисов дискового пространства.
Дополнительно для оценки нагрузки на дисковые подсистемы были проведены замеры по количеству операций ввода/вывода и записанных/прочитанных данных. На этой стадии эксперимента было выявлено, что причиной затруднения доступа к сервисам в моменты пиковой нагрузки является большое количество запросов к дисковым подсистемам.
Используя представленную модель и данные о нагрузке на вычислительные ресурсы была решена задача по оптимальному размещению виртуальных машин, с учетом несовпадающих возможностей доступа к сетевым хранилищам в рамках ЦОД. В связи с конечным и незначительным числом виртуальных машин решение задачи проводилось методом прямого перебора всех возможных вариантов. Результаты тестирования представлены в табл. 1.
ТАБЛИЦА 1
СВОДНАЯ ТАБЛИЦА СВОБОДНЫХ РЕСУРСОВ
Свободные ресурсы ДО оптимизации ПОСЛЕ оптимизации
CPU, % « 5% « 22%
RAM, ГБ « 3Гб « 4,5Гб
В результате эксперимента была перестроена виртуальная инфраструктура. Основные изменения затронули распределения образов виртуальных машин на NAS. При этом удалось снизить суммарную нереализованную производительность на 19%, которая вычисляется как сумма разностей правых и левых частей ограничения (7).
Результат такого распределения позволяет избежать отказов в обслуживании в пиковые моменты нагрузки, кроме того, в результате плотной упаковки виртуальных машин удалось аккумулировать свободные ресурсы в рамках одного физического сервера.
V. Обсуждение результатов
Отличительная черта нашей работы - это учёт при оптимальном размещении виртуальных машин на ресурсах с несовпадающими возможностями доступа. Эта проблема особенно актуальна для центров обработки данных, имеющих в своем составе большое количество оборудования различной конфигурации. Как правило, это достаточно давно функционирующие ЦОДы, в которых часть оборудования уже заменена новым, а часть еще не достаточно устарела, чтобы быть исключённой из работы.
VI. Выводы и заключение
В статье предложена и проверена математическая модель, позволяющая решить задачу оптимального статического разделения физических ресурсов между виртуальными машинами облачной платформы. Данная модель может быть использована в качестве базовой при решении задачи с динамическим размещением. Это открывает возможности для реализации следующего шага исследований, в рамках которого будет рассмотрена возможность масштабирования ресурсов виртуальных машин, в соответствии с их внутрисуточной нагрузкой, и динамическое распределение их на узлах облачной платформы. При этом критериям, связанным с максимальной плотностью, добавится критерий по минимизации миграций виртуальной машины между различными узлами кластера.
Список литературы
1. Kellerer H., Pferschy U., Pisinger D. Knapsack Problems // Springer Science+Business Media. 2004. P. 548.
2. Ворожцов А. С., Тутова Н. В., Тутов А. В. Оптимизация размещения облачных серверов в центрах обработки данных // T-Comm: Телекоммуникации и транспорт. 2015. Т. 9, № 6. С. 4-8.
3. Chen S., Wu J., Lu Z. A cloud computing resource scheduling policy based on genetic algorithm with multiple fitness // Proceedings - IEEE 12th International Conference on Computer and Information Technology, CIT 2012, art. № 6391895. 2012. P. 177-184.
4. Feng Y., Li B., Li B. Bargaining towards maximized resource utilization in video streaming datacenters // Proceedings - IEEE INFOCOM, art. № 6195472. 2012. P. 1134-1142.
5. Meng X., Pappas V., Zhang L. Improving the scalability of data center networks with traffic-aware virtual machine placement // Proceedings - IEEE INFOCOM, art. № 5461930. 2010. P. 1154-1162.
6. Zheng Z., Wang R., Zhong H., Zhang X. An approach for cloud resource scheduling based on parallel genetic algorithm // ICCRD2011 - 2011 3rd International Conference on Computer Research and Development. 2011. 2. 5764170. P. 444-447.
7. Younge A.J., Von Laszewski G., Wang L., Lopez-Alarcon S., Carithers W. Efficient resource management for cloud computing environments // 2010 International Conference on Green Computing, Green Comp 2010, art. № 5598294. 2010. P. 357-364.
8. Li J., Li D., Ye Y., Lu X. Efficient multi-tenant virtual machine allocation in cloud data centers // Tsinghua Science and Technology. 2015. 20 (1). P. 81-89.
9. Nakada H., Hirofuchi T., Ogawa H., Itoh S. Toward virtual machine packing optimization based on genetic algorithm // Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 5518 LNCS(PART 2). 2009. P. 651-654.
10. Fernandez de la Vega W., Lueker G.S. Bin packing can be solved within 1 + e in linear time // Combinatorica. 1981. 1 (4). P. 349-355.
11. Gao Y., Guan H., Qi Z., Hou Y., Liu L. A multi-objective ant colony system algorithm for virtual machine placement in cloud computing // Journal of Computer and System Sciences 79(8). 2013. P. 1230-1242.
12. Song F., Huang D., Zhou H., Zhang H., You I. An optimization-based scheme for efficient virtual machine placement // International Journal of Parallel Programming. 2014. 42 (5). P. 853-872.
13. Zhu Y., Liang Y., Zhang Q., Wang X, Palacharla P., Sekiya M. Reliable resource allocation for optically interconnected distributed clouds // 2014 IEEE International Conference on Communications, ICC 2014, art. № 6883830. 2014. P. 3301-3306.
14. Song Y., Sun Y., Shi W. A two-tiered on-demand resource allocation mechanism for VM-based data centers // IEEE Transactions on Services Computing 6(1), art. № 5928321. 2013. P. 116-129.
15. Hao F., Kodialam M., Lakshman T.V., Mukherjee S. Online allocation of virtual machines in a distributed cloud // Proceedings - IEEE INFOCOM, art. № 6847919. 2014. P. 10-18.
16. Ahmed W., Wu Y. Estimation of cloud node acquisition // Tsinghua Science and Technology. 2014. 19 (1). P. 1-12.
17. Alicherry M., Lakshman T.V. Network aware resource allocation in distributed clouds // Proceedings - IEEE INFOCOM, art. № 6195847. 2012. P. 963-971.
18. Salimi H., Sharifi M. Batch scheduling of consolidated virtual machines based on their workload interference model // Future Generation Computer Systems. 2013. 29 (8). P. 2057-2066.