ОПТИМИЗАЦИЯ РАЗМЕЩЕНИЯ ОБЛАЧНЫХ СЕРВЕРОВ В ЦЕНТРАХ ОБРАБОТКИ ДАННЫХ
Ворожцов Анатолий Сергеевич,
к.т.н., доцент, доцент кафедры ИС МТУСИ, Москва, Россия, [email protected]
Тутова Наталья Владимировна,
к.т.н., доцент кафедры ИС МТУСИ, Москва, Россия, [email protected]
Тутов Андрей Владимирович, Ключевые слова: оптимальное размещение серверов,
аспирант МТУСИ, Москва, Россия, облачные вычисления, управление ресурсами, размещение
[email protected] виртуальных машин, многокритериальная оптимизация.
Oбъяснена актуальность оптимизации размещения облачных серверов в центрах обработки данных, обусловленная значительным и все возрастающим числом виртуальных машин, необходимостью оплаты только за используемые ресурсы, а также требованиями облачных сервисов. Сущность размещения облачных серверов состоит в процессе их оптимального закрепления за физическими машинами. Предложена содержательная постановка задачи оптимального размещения облачных серверов по таким критериям, как минимум энергопотребления, неиспользованных ресурсов, неравномерности тепловыделения и нарушений SLA-соглашений. Разработана математическая модель задачи, которая в отличие от известных, впервые учитывает требования облачных сервисов, таких как горизонтальное и вертикальное масштабирование. Данная задача отнесена к классу многокритериальных задач большой размерности. Приведен анализ критериев, используемых в задачах оптимизации ресурсов центров обработки данных, который позволил выделить группу попарно противоречивых критериев, имеющих различные размерности, большой диапазон изменения и по характеру относящихся к непрерывным нелинейным функциям. При выборе метода решения задачи сделан вывод, что чаще всего использовались методы формирования обобщенного критерия, имеющие ряд недостатков, которые не позволяют в полной мере учесть требования облачных сервисов и характер используемых критериальных функций. Предложен подход с использованием таких методов, как метод последовательных уступок и метод ограничений, и их комбинация, которая позволяет получить Парето-оптимальное решение за приемлемое время переключения физических серверов. Показано на основании результатов вычислительных экспериментов, что алгоритм предложенного метода позволяет достичь оптимального баланса между множеством противоречивых критериев. Полученные в работе результаты послужат основой для разработки программного обеспечения и панели управления вычислительными ресурсами облачных центров обработки данных.
Для цитирования:
Ворожцов А.С., Тутова Н.В., Тутов А.В. Оптимизация размещения облачных серверов в центрах обработки данных // T-Comm: Телекоммуникации и транспорт. - 2015. - Том 9. - №6. - С. 4-8.
For citation:
Vorozhtsov A.S., Tutova N.V., Tutov A.V. Optimal cloud servers placement in data centers. T-Comm. 2015. Vol 9. No.6, рр. 4-8. (in Russian).
7T\
Введение
Появление облачных вычислений оказало большое влияние на ИТ-отрасль за последние несколько лет, многие крупные компании и операторы связи стали модернизировать и строить новые центры обработки данных (ЦОД) для предоставления облачных сервисов. По данным IDC рост рынка облачных услуг в России за 2013 год составил более 70%. Для заказчиков облачные услуги имеют преимущества, связанные с возможностью купить ровно столько вычислительных ресурсов, сколько им необходимо. При этом можно выбрать наиболее подходящую модель обслуживания из расширенного комплекса моделей. Для провайдера внедрение и использование облачных платформ также имеет много преимуществ, среди которых обеспечение качества обслуживания, повышение отказоустойчивости и расширение спектра предоставляемых услуг. Однако в современных ЦОДах возникает ряд проблем, связанных с увеличением их загрузки до 60%, большим объемом энергопотребления и сложностью управления тысячами серверов.
Существуют несколько ключевых технологий, на которые опираются облачные вычисления. Главной из них является виртуализация. Обычно на одной физической машине размещается несколько облачных серверов, под которыми понимают не только виртуальные машины, но и установленные на них приложения. Это позволяет повысить коэффициент использования имеющихся в ЦОД вычислительных ресурсов, сэконо-
мить место и электроэнергию. Однако в связи с тем, что нагрузка на приложения является неразномерной в течение суток и может иметь случайные всплески, виртуальные серверы должны размещаться динамически, чтобы достичь лучшей производительности и как можно полнее использовать вычислительные ресурсы. Поэтому проблема эффективного размещения облачных серверов в центрах обработки данных является актуальной.
Сущность размещения облачных серверов состоит в процессе их оптимального закрепления за физическими машинами. Один из таких вариантов размещения облачных серверов представлен на рис. 1.
Данная проблема может быть разбита на три этапа: первоначальное, статическое и динамическое размещение облачных серверов. При первоначальном размещении решается задача закрепления облачных серверов по физическим серверам в незагруженном ЦОД, с учетом только требований облачных серверов, вместимости физических машин, платформенных ограничений, а также электропитания и охлаждения. Статическое размещение предполагает учет плановых изменений в системе распределения ресурсов ЦОД. Под динамическим размещением понимается распределение облачных серверов между физическими серверами в соответствии с изменением состояния системы или требований на изменение ресурсов облачных серверов от заказчиков. Во всех случаях решения задачи оптимизации необходимо учитывать несколько критериев.
BMi
Приложение i
Операционная систем а
Гипервиэор
Фи зическое оборудование
ВМг
Приложение г
■-■
Операционная
система
—_ ■
S*-
Гипервиэор
Физическое оборудование
В Из
Приложение^
■-
Операционная
система
_ -
f-S
Гипервиэор
И
Г ф
| обе
'у -
иэическое оборудование
ВМ4
Приложение i.
Операционная система
Гипервиэор
Физическое оборудо вание
Г ем-j
f >
Приложение 5
L.
f Ч Операционная
систем а
с >
Гипервиэор
*
Фи зическое
s оборудование
ВМб
Приложение^
,----
Операционная
система
?-<
Гипереиэор
Физическое оборудование
ВМ7
Приложение?
Операционная
система
^_ -
---
Гипервиэор
Физическое оборудование
Сервер-i - Сер вер 2-^5% Серверу-30% Серверу-35% Серверу-30% Сер верб - 20% Серверу -15%
Оптимальное размещение виртуальных машин
BMi
ВМг
Приложениеi
Приложением
Операционная систем а
Операционная система
Гипервиэор
Физическое оборудова ние
Сервера - 85%
вщ ВМ4 ВМб
/ > С ч
Приложение з Приложение 4 Приложение б
V,-J ^ J
Операционная Операционная Операционная
система система система
( Гипервиэор Ч
V- j'
Физическое оборудование
Сервера —85% Рис. 1
вм5 ВМ/ Ч
f
Приложение s Приложение 7
t J
Операционна я Операционная
система система ■
f >
Гиперви эор
Г > физическое оборудование
ч
Серверз
Первоначальное и статическое размещение имеет долгосрочный эффект, поэтому проводить частые изменения в размещении облачных серверов непрактично в связи с накладными расходами на их миграцию. Также задача статического размещения возникает в тех случаях, когда динамическое распределение ресурсов приводит к неудовлетворительным результатам. В этом случае система должна иметь длительное время для определения плана размещения. Для динамического размещения, для быстрой адаптации к изменениям в системе или к нагрузке, система требует принятия решений в реальном времени для того, что сократить спад производительности и избежать температурных аномалий.
Обзор работ
Проблема размещения облачных серверов для улучшения энергоэффективности и использования ресурсов в облачной инфраструктуре рассматривалась в различных работах. В частности, использовались следующие подходы для решения этой проблемы.
Линейное программирование. В работах [1,2] авторы описали проблему консолидации серверов как задачу линейного программирования с целью минимизации затрат и ограничением на общее число миграций.
Целочисленное программирование. Проблема размещения облачных серверов в ЦОД часто формулируется как один из вариантов задачи о рюкзаке [3].
Нелинейное математическое программирование. Такие методы применялись для размещения облачных серверов в различных средах. В [4] предложена среда управления, объединяющая менеджер для динамического распределения ресурсов виртуальных машин на основе функции полезности и менеджер для динамического размещения самих машин.
Генетические алгоритмы. Другим подходом к решению данной проблемы является использование генетических алгоритмов. В работе [5] сформулирована многокритериальная задача оптимизации с критериями минимума траты ресурсов, энергопотребления и неравномерного выделения тепла. В результате свертки критериев задача решалась как однокритериальная с использованием модифицированного генетического алгоритма.
В большинстве работ по оптимальному размещению облачных серверов учитывается только один критерий. Однако современные тенденции развития ЦОД требуют учета нескольких критериев.
Постановка задачи
Пусть имеется М различных физических серверов, объединенных в сеть, причем каждый из них характеризуется производительностью процессора (CPU) и объемом оперативной памяти (RAM). Также известны пропускная способность сети и нагрузка, поступающая на каждый сервер. Кроме этого заданы N виртуальных (облачных) серверов, характеристики которых заказывают пользователи. Предположим, что каждое приложение пользователя запускается на своем сервере, а
запросы пользователей интерпретируются как заказ на облачный сервер с определенным набором ресурсов. Каждому облачному серверу присвоим свою часть ресурсов физического сервера, которую будем считать независимой от ресурсов других облачных серверов. Конфигурацию каждого сервера представим как к-размерный вектор, в котором каждая компонента соответствует одному из ресурсов. Под оптимальным размещением облачных серверов будем понимать такое закрепление их за физическими серверами, при котором минимизируются энергопотребление, неиспользованные ресурсы, неравномерность тепловыделения и нарушения SLA-соглашений.
Математическая модель. Критерии оптимизации:
• Энергопотребление ( fpoWei)\
г , 1 Po+(Pi ~Pq)'"cpu> ucpu>0'-
J power \uCPU) ~ I „ A
I 0, uCPU = 0,
где pa - потребление электроэнергии незагруженным сервером; д - потребление электроэнергии полностью загруженным сервером.
• Неиспользованные ресурсы (fresource)'
/resource (11 CPU, URAM ) ~~ ' 11
CPU 'URAM*
где исрц-загрузка процессора; имм - загрузка памяти.
Данный критерий отражает насколько полно загружены ресурсы различных типов.
• Тепловыделение {/>):
// ~~ 1 ~~ " I ТТ 1 '
1 + е1
где Г-текущая температура процессора; безопасная температура.
• Нарушения 51.А-соглашений
I
/8и(иСРи) = 1 ~
где Ugxi - загрузка процессора, максимальное значение которого принимается равной 0,9.
Ограничения задачи будут следующими:
• ограничения на непревышение физических ресурсов сервера;
• закрепление каждого облачного сервера только за одним физическим сервером.
Таким образом, математическая постановка задачи имеет следующий вид:
м м
min Z FpoweMij\ min ZFrLource(xij)> x<j j=1 *9 j=1
M
min max F/ (x;}), min У F^(xg), X'j Xij j=1 при ограничениях
1=1
i i
ш
£ и / = [1,
7-1
где - переменные, которые принимают значения 1, если облачный сервер / принадлежит физическому серверу у и 0, если иначе; [г?ри ,гмм ] ~ вектор потребности в ресурсах /то облачного сервера; [сс:ги ,с1лм 1 - вектор имеющихся ресурсов на физическом сервере
Метод решения
Для решения подобных многокритериальных задач чаще всего используются методы формирования обобщенного критерия, которые в данном случае не позволят в полной мере учесть требования облачных сервисов и характер используемых критериальных функций. Поэтому в данной работе предложен другой подход с использованием таких методов, как метод последовательных уступок и ограничений, и их комбинации.
Сущность предлагаемой комбинации методов последовательных уступок и ограничений состоит в задании количественных оценок предпочтения частных критериев, которые определяют относительную важность каждого критерия по сравнению с остальными. Далее одноэтапно, т.е. без предварительного задания пробных уступок, определяется величина компромиссной уступки по менее важному критерию, причем величина отклонения значения критерия от оптимального минимальна. Одноэтапность определения величины компромиссной уступки позволяет значительно сократить время решения задачи оптимизации. Алгоритм данной модификации и доказательства получения Парето-оптимального решения приведен в [6].
На основании первоначальных результатов вычислительных экспериментов с использованием разработанной программы [7], можно сделать вывод что алгоритм предложенного метода позволяет достичь оптимального баланса между множеством противоречивых критериев, таких как качество обслуживания, использование ресурсов, энергопотребление и температура. Результаты сравнения двух методов приведены в табл. 1.
Таблица 1
Критерии Отклонение значения критерия от оптимального (%)
Свертка Предлагаемый алгоритм поиска оптимального по Парето решения
Энергопотребление 61 30
Неиспользованные ресурсы 0 16
Температура 34 17
Нарушения SLA-соглашений 17 14
Данный алгоритм может быть использован на этапе разработки панели управления вычислительными ресурсами ЦОД.
Выводы
1. Предложена содержательная постановка задачи оптимизации размещения облачных серверов в ЦОД по нескольким критериям и разработана её математическая модель, которая позволяет учесть горизонтальное и вертикальное масштабирование.
2. Предложен метод и алгоритм решения поставленной задачи, который позволяет получить Парето-оптимальное решение за приемлемое время переключения физических серверов. Алгоритм предложенного метода позволяет достичь оптимального баланса между множеством противоречивых критериев, таких как качество обслуживания, использование ресурсов, энергопотребление и др.
3. Полученные в работе результаты послужат основой для разработки программного обеспечения и панели управления вычислительными ресурсами облачных центров обработки данных.
Литература
1. Speitkamp В., Bichler М,, A mathematical programming approach for server consolidation problems in virtualized data centers, IEEE Trans. Services Com put, 2010 pp. 266-278.
2. Chaisirí S., Lee ВNiyato D., Optimal virtual machine placement across multiple cloud providers, in: Proceedings of the IEEE Asia-Pacific Services Computing Conference, 2009, pp. 103110.
3. Verma, P. Ahuja, A. Neogi, pMapper. power and migration cost aware application placement in virtualized systems, in: Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware, 2008, pp. 243-264.
4. Van H., Tran E, Menaud J., Performance and power management for cloud infrastructures, in: Proceedings of the IEEE 3rd International Conference on Cloud Computing, 2010, pp. 329-336.
5. Mi H„ Wang H., Yin G., Zhou Y., Shi D., Yuan L, Online self-reconfiguration with performance guarantee for nergy-efficiennt large-scale cloud computing data centers, in: Proceedings of the IEEE International Conference on Services Computing, 2010, pp. 514-521.
6. Ворожцов A.C., Тутова H.B, Алгоритм решения задач оптимизации распределения ресурсов центров обработки данных в сети Интернет. T-Comm: Телекоммуникации и транспорт: спецвыпуск по итогам 3-й отраслевой научной конференции "Технологии информационного общества", Выпуск II, 2009. - С. 144-146.
7. Свидетельство о государственной регистрации программы для ЭВМ №2009610173 (Россия). «Программа для решения линейных многокритериальных задач оптимизации модифицированным методом последовательных уступок» / Тутова Н.В., Ворожцов А.С. Правообладатель ГОУ ВПО МТУСИ // Зарегистрировано в Реестре программ для ЭВМ 11 января 2009 г., заявка №2008614859 от 23 октября 2008 г.
COMMUNICATIONS
OPTIMAL CLOUD SERVERS PLACEMENT IN DATA CENTERS
Anatoliy Vorozhtsov, Natalya Tutova, Andrew Tutov, Moscow, Russia
Abstract
The problem of optimal cloud servers placement in data centers remains to be effectively addressed due to the significant and growing number of virtual machines, the need to pay only for the resources used, as well as the requirements of cloud services. In this paper the meaningful statement and mathematical model of optimal cloud servers placement problem with multiple criteria are formulated. In contrast to the known models, this allows to take into account the requirements of cloud services, such as horizontal and vertical scaling. This problem is assigned to the class of high-dimensional multicriteria problems. The analysis of the criteria used allowed to detect a group of mutually contradictory criteria which are continuous nonlinear functions with different dimensionality and a large range of variation. The most frequently used method of solution of such problems is a generalized criterion which has a number of drawbacks that not allow fully to take into account the requirements of cloud services and the nature of criterion functions. Proposed approach using such methods as successive concessions, the method of constraints and their combination, provides a Pareto-optimal solution in a reasonable time related to the switching of physical servers. The results of computational experiments show that the proposed algorithm allows to achieve an optimal balance between many conflicting criteria such as quality of service, the use of resources, power consumption and thermal dissipation. The obtained results will serve as the basis for the software development of the control panel of cloud computing resources in data centers.
Keywords: Optimal Server Placement, Cloud Computing, Resource Management, Virtual Machine Placement; Multi-objective Optimization.
References
1. Speitkamp B, Bichler M., A mathematical programming approach for server consolidation problems in virtualized data centers, IEEE Trans. Services Comput, 2010 pp. 266-278.
2. Chaisiri S., Lee B, Niyato D., Optimal virtual machine placement across multiple cloud providers, in: Proceedings of the IEEE Asia-Paci?c Services Computing Conference, 2009, pp. 103-110.
3. Verma, P. Ahuja, A. Neogi, pMapper: power and migration cost aware application placement in virtualized systems, in: Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware, 2008, pp. 243-264.
4. Van H, Tran F, Menaud J., Performance and power management for cloud infrastructures, in: Proceedings of the IEEE 3rd International Conference on Cloud Computing, 2010, pp. 329-336.
5. Mi H., Wang H, Yin G, Zhou Y, Shi D, Yuan L., Online self-reconfiguration with performance guarantee for energy-ecient large-scale cloud computing data centers, in: Proceedings of the IEEE International Conference on Services Computing, 2010, pp. 514-521.
6. VorozhtsovA.S., Tutova N.V. The algorithm of optimal resource allocation of data centers in the Internet, T-Comm, V. II, 2009, pp. 144-146. [in Russian]
7. Tutova N.V., Vorozhtsov A.S. The certificate of state registration of computer programs No. 2009610173 (Russia). "The program for solving linear multicriteria optimization problems using a modified method of successive concessions". Copyright owner MTUCI. Registered in the Register of computer programs 11 January 2009.
Information about authors:
Anatoliy Vorozhtsov, Moscow Technical University of Communications and Informatics, associate professor, [email protected] Natalya Tutova, Moscow Technical University of Communications and Informatics, associate professor, [email protected] Andrew Tutov, Moscow Technical University of Communications and Informatics, postgraduate student, [email protected]
7TT