Сравнение алгоритмов управления ресурсами в Cloud - HPC-UA

advertisement
Міжнародна конференція "Високопродуктивні обчислення"
HPC-UA’2012 (Україна, Київ, 8-10 жовтня 2012 року)
________________________________________________________________________________________________________________________
Сравнение алгоритмов управления ресурсами в
Cloud системах
Волокита А. Н.1 , Никитюк А.Д.1
1
Национальный технический университет Украины «Киевский политехнический институт»,
Киев, Украина
artem.volokita@kpi.ua, demonshi.ua@gmail.com
Аннотация.
Облачные вычисления являются основой для создания высокопроизводительных сетевых
сервисов. Производительность облака зависит от многих факторов, в т.ч. и от эффективности
распределения задач между имеющимися ресурсами. В данном докладе будут рассмотрены основные подходы
к распределению ресурсов в облачных системах, а так же проанализированы их достоинства и недостатки, в
контексте определенных задач.
Ключевые слова
Cloud computing, resource management, task management, cloud services.
1 Вступление
Облачные вычисления (cloud computing) — технология распределённой обработки данных, в которой
компьютерные ресурсы и мощности предоставляются пользователю как Интернет-сервис. Для обеспечения
согласованной работы компьютеров, которые предоставляют услугу облачных вычислений используется
специализированное ПО уровня «middleware control», обеспечивающее мониторинг состояния оборудования,
балансировку нагрузки, обеспечение ресурсов для решения задач.
Одной из проблем облачных вычислений является неравномерность запроса ресурсов со стороны клиентов.
Для сглаживания этой неравномерности предоставления сервиса между аппаратной инфраструктурой и
middleware используется ещё один слой — виртуализация серверов. Выполняющие приложения сервера –
виртуальные, поэтому балансировка нагрузки осуществляется как средствами ПО, так и средствами
распределения виртуальных серверов по реальным ресурсам.
Рассмотрим более детально уровень облачных вычислений Infrastructure as a Service (IaaS) - Инфраструктура
как сервис, как наиболее полный и предоставляющую пользователю возможность создания требуемой
инфраструктуры. В качестве примера будем рассматривать платформу CloudStack.
2 Теоретическая часть
Облачная платформа Cloudstack состоит из трех основных компонентов:
аппаратных средств (серверов, систем хранения данных, клиентских систем, оборудования),
операционных систем и системного ПО (сюда относят как операционные системы,
установленные на аппаратные средства, так и средства виртуализации – гипервизоры, которые
отвечают за создание и управление виртуальными ресурсами – виртуальными машинами, а так
же средства для обеспечения общего доступа к файлам – сетевые файловые системы),
• связующее ПО (например, агенты устанавливаемые на хост компьютеры для мониторинга их
загрузки, сервера управления и распределения ресурсов облака).
Облако делится на зоны. Каждая зона представляет собой в определенном месте географически
расположенный дата-центр. Кроме того, у каждой зоны есть свой Storage, который в CloudStack называется
Secondary Storage.
•
•
Зоны делятся на поды. Под предполагает объединение группы кластеров внутри одной сети. Так же деление
на поды даёт возможность включения/отключения сразу группы кластеров. Кластер состоит из идентичных
хостов, имеющих одинаковую версию ОС и использующих общий гипервизор (например, все хосты
используют VMware) и имеет свой Primary Storage, который используется виртуальными машинами. Имея
-136-
Міжнародна конференція "Високопродуктивні обчислення"
HPC-UA’2012 (Україна, Київ, 8-10 жовтня 2012 року)
________________________________________________________________________________________________________________________
несколько хостов в кластере предоставляет возможность сделать высокую доступность, а так же распределение
нагрузки.
Secondary Storage используется для хранения шаблонов виртуальных машин, ISO образов, а так же
snapshot’ов. CloudStack поддерживает многие современные гипервизоры, такие как XenServer, KVM Server,
Oracle VM и VMware. Облако поддерживает мониторинг используемых ресурсов и при их исчерпании шлет
уведомления администратору. Так же при большой нагрузке на определённые компоненты возможно
перераспределение нагрузки.
2.1 Сравнение алгоритмов управления ресурсами
Для сравнения алгоритмов управления ресурсами в cloud системах разработана специализированная
программная среда CloudSimulation. В конфигурационном файле задаётся структура облака, в файле
vm_templates задаются шаблоны, на основе которых будут создаваться запросы на старт виртуальных машин.
CloudSimulation реализован по принципу, аналогичному CloudStack. В файле конфигурации задаются зоны,
поды, кластеры, а так же хосты. Для кластера задается размер Primary Storage. Для хоста – количество CPU,
CPU speed и размер RAM.
В качестве времени эмуляции выбраны секунды.
В конфигурационном
виртуальной машины:
•
•
•
•
•
•
файле
шаблонов виртуальных машин
описываются
количество CPU,
скорость CPU,
размер RAM,
размер жесткого диска,
идеальное время работы, необходимое для выполнения задачи виртуальной машины,
время в секундах между двумя запусками виртуальных машин по этому шаблону.
4 CPU
1000 MHZ
4096 RAM
1 CPU
1000 MHZ
1024 RAM
4 CPU
1000 MHZ
4096 RAM
8 CPU
1000 MHZ
8192 RAM
1 CPU
1000 MHZ
1024 RAM
Cluster_0
8 CPU
1000 MHZ
8192 RAM
Cluster_1
2000GB
2000GB
2000GB
4 CPU
1000 MHZ
4096 RAM
Pod_0
Zone_UA
8 CPU
1000 MHZ
8192 RAM
1 CPU
1000 MHZ
1024 RAM
Cluster_2
Рис. 1. Схема тестируемого облака.
При моделировании тестировалось 3 различных алгоритма поиска ресурса:
•
•
•
требуемые
Random – случайный выбор ресурса для задачи,
LF (least fit) – выбирается наименее подходящий ресурс из подходящих,
FF (first fit, best fit) – выбирается наиболее подходящий ресурс
-137-
параметры
Міжнародна конференція "Високопродуктивні обчислення"
HPC-UA’2012 (Україна, Київ, 8-10 жовтня 2012 року)
________________________________________________________________________________________________________________________
2.2 Результаты моделирования
При времени моделирования 20 000 сек:
На момент 20000 всего было создано 337 заявок на запуск VM.
Рис. 2. Количество виртуальных машин в системе.
При времени моделирования 10 000 сек:
На момент 10000 всего было создано 170 заявок на запуск VM.
Рис. 3. Количество виртуальных машин в системе.
Как видно из рис. 2 и 3 алгоритм LF показал наибольший коэффициент выполнения VM при различных
временных рамках. Это объясняется тем, что маленькие (не требовательные) заявки попадают на уже
загруженные ресурсы, а свободные ресурсы могут выполнить самые требовательные заявки.
Алгоритм LF выделяется тем, что максимально нагружаются уже используемые ресурсы, т.е. часть ресурсов
будет работать на полную мощность, тогда как остальные будут проставить и могут включать режимы
пониженного энергопотребления.
3 Заключение
Исходя из результатов данной работы можно сделать вывод об эффективности алгоритма LF в
большинстве случаях. Однако, существуют облачные системы, которые предоставляют примерно равные
ресурсы для всех заявок на виртуальные машины. В таких системах предпочтительней использовать алгоритм
FF, т.к. в недогруженном облаке этот алгоритм будет равномерно распределять ресурсы, и соответственно
виртуальные машины будут получать большую производительность в недогруженном облаке. В основном при
выборе алгоритма поиска ресурсов, все же лучше отдать предпочтение алгоритму LF.
Список литературы
[1]
A. G. Delavar, Y. Aryan. A Synthetic Heuristic Algorithm for Independent Task Scheduling in Cloud Systems,
2011.
[2]
R. N. Calheiros, R. Ranjan, César A. F. De Rose, and R. Buyya. CloudSim: A Novel Framework for Modeling
and Simulation of Cloud Computing Infrastructures and Services, 2009.
[3]
A. Ingole, S. Chavan, U. Pawde. An Optimized Algorithm for Task Scheduling based on Activity based
Costing in Cloud Computing, 2011.
[4]
Web site of CloudStack project: http://cloudstack.org/
[5]
Web site of OpenStack project: http://openstack.org/
-138-
Download