Профилирование энергопотребления виртуальных машин
Характеристика существующих утилит измерения энергопотребления, их сильные и слабые стороны. Разработка алгоритма мониторинга динамической части энергопотребления виртуальным окружением, его программная реализация с целью обоснования; расчет энергозатрат.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | магистерская работа |
Язык | русский |
Дата добавления | 31.01.2019 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
37,3086
zchdc
133,9575
schdd
19,266
zgesl
337,7436
cgesl
338,7213
zgtsl
217,2387
spbco
175,538
spbdi
590,2196
zpbdi
152,152
cpbsl
106,0275
dposl
749,925
cposl
108,9321
dsico
Результаты экспериментов приведены на графиках ниже:
(Рис. 1) Cpu-intensive тесты из пакета Intel Linpack benchmark
(Рис. 2) I/O-intensive тесты из пакета Intel Linpack benchmark
(Рис. 3) Movie Player
4.4 Обоснование и выводы
Предложенная модель измерения энергопотребления на базе RAPL интерфейса наиболее оптимально решает задачу в выборе места для размещения приложения. Изоляция контекстов исполнения (хостового, контекста монитора, а также гостевого) при размещении приложения позволяет получить наиболее достоверные данные об энергопотреблении.
Предложенное решение на базе RAPL интерфейса, в отличие от моделей измерения с использованием ACPI интерфейса, обеспечивает получение информации об энергопотреблении системы с момента ее запуска.
Предложенный механизм определения величины энергопотребления, использующий интерфейс RAPL, является наиболее приемлемым и перспективным. Использование интеграции датчиков энергопотребления непосредственно в ядре микропроцессора позволяет получить наиболее точные данные.
Результаты тестирования показали, что предложенное решение позволяет реализовать поставленную задачу: прогнозировать энергозатраты на основании анализа получаемых достоверных статистических данных.
5. Задача разработки энергоэффективного ПО
В данной части работы рассмотрена задача разработки энергоэффективного программного обеспечения. Описаны результаты применения программной реализации алгоритма замера и мониторинга энергопотребления для задачи перемножения матриц. Проанализирована энергоэффективность различных прикладных приложений и сценариев запуска приложений в том числе с использованием техники параллельного программирования. Исследованы всевозможные зависимости энергоэффективности от программных характеристик запускаемых приложений.
5.1 Определение энергоэффективности ПО
Зададим набор параметров для определения и оценки энергоэффективности приложений:
1. Потребленная энергия.
2. Времена нахождения процессора в C- и P- состояниях.
3. Число переходов между разными C- и P- состояниями.
4. Загруженность процессора.
5.2 Описание экспериментов
После проверки алгоритма была проведена оценка энергоэффективности ПО в виртуализованной среде. Проверена гипотеза о влияния ресурсов, выделенных ПО, на энергопотребление. Для этого была проверена энергоэффективность различных сценариев запуска приложений. Сначала определим энергопотребление каждого сценария в отдельности. Затем проведем их попарное сравнение и воспользуемся статистическим критерием для проверки гипотез. После чего можно убедиться в их достоверности. Поэтому можно сделать вывод, что классификация сценариев, основываясь на использовании ресурсов - наиболее точный способ оценки их энергопотребления. Отсюда также следует потребность группировки сценариев и отдельных сервисов или приложений для уменьшения суммарного потребления.
Следующим шагом в Оценке энергоэффективности ПО в виртуализованной среде было проведение экспериментов по сравнению энергоэффективности при решении задачи матричного умножения.
Использовалось следующее ПО и аппаратное обеспечение:
процессор Intel Core i7-3770 Ivy Bridge: 3400МГц (8 ядер) , 8 Гб DDR3 SDRAM;
Ubuntu 13.04 - (хостовая ОС);
Windows 7 (гостевая ОС);
Parallels Desktop (В качестве гипервизора).
В начале сравнивались последовательная версия и версии с OpenMP. Параллельная реализация являются более энергоэффективными, чем последовательная. Далее на рисунках ниже показана энергоэффективность при различных размерах матриц:
матрица 500x500. Синяя - Последовательная версия, Красная - OpenMP.
матрица 1000x1000. Синяя - Последовательная версия, Красная - OpenMP.
матрица 1500x1500. Синяя - Последовательная версия, Красная - OpenMP.
Вторая серия экспериментов иллюстрирует, как использование различного числа потоков влияет на энергоэффективность. Архитектура современных процессоров устроена так, что распределение работы между ядрами процессора является более энергоэффективным, чем выполнение этой работы при использовании одного ядра. Результаты на графике:
Энергоэффективность параллельной реализации при различном числе потоков. Слева направо - 1 поток, 2 потока, 4 потока, 8 потоков. Всего ядер в системе было 4, поэтому на последнем графике видно некоторое отклонение в большую сторону.
Последняя серия экспериментов иллюстрирует влияние количества переходов между С-state-состояниями процессора на энергопотребление. Рассмотрим задачу, состоящую из нескольких независимых частей, которые можно запускать либо непрерывно друг за другом, либо с некоторыми паузами, что приводит к увеличению числа C-State-переходов. В результате видим, что в случае, когда задачи запускаются непрерывно друг за другом, энергопотребление уменьшается на 15%. Это показывает, что увеличение числа переходов между С-state-состояниями процессора приводит к росту энергопотребления. Таким образом, определенная группировка задач может привести к выигрышу в энергоэффективности приложений.
Влияние количества переходов между C-state состояниями. Красное - Непрерывный запуск задач, Синее - Запуск с паузами между задачами
В итоге, мы опять таки находим подтверждение следующим выводам:
Группировка приложений в виртуальной среде, а также виртуальных сервисов может привести к существенному выигрышу в энергоэффективности виртуальной машины.
Более эффективное использование ресурсов ведет к оптимизации энергопотребления.
Теперь найдем теоретическое обоснование полученным выводам, построив модель энергопотребления в виртуализованной среде, откуда получим теоретический вывод о том, что энергопотребление виртуальной машины напрямую зависит от выделения ресурсов (в данном случае ресурсов ЦП).
5.3 Математическая модель
Совокупность P и C состояний процессора обозначим соответственно:
Предполагая, что энергия, потребленная процессором, зависит только от его энергосостояний, получим:
- время, проведенное в состоянии
- энергия, потребленная за время T; - энергия, потребленная во всех С-состояниях, начиная с
(ресурсы процессора).
В случае определения энергопотребления отдельного процесса, оно может быть представлено как общее энергопотребление центрального процессора помноженное на процент использования CPU отдельным процессом:
Теперь после рассмотрения математической модели энергопотребления возникает вопрос о консолидации виртуальных процессов в ВМ или виртуальных сервисов на серверах в кластере для уменьшения энергопотребления одной ВМ или всего дата-центра соответственно. Показана математическая формализация этой задачи. В работе далее будет показано, что это NP-трудная задача.
5.4 Оптимальное энергоэффективное распределение виртуальных процессов/сервисов по серверам, смоделированное многомерной задачей упаковки в контейнеры
Определение 1. - виртуальный сервис: - требуемое кол-во циклов CPU (ресурсы процессора), - требуемые ресурсы памяти, и т.д.
- множество n виртуальных сервисов
- 4-х мерный контейнер, представляющий собой сервер с ресурсом процессора - , ресурсом памяти - и т.д.
- множество серверов
- искомое распределение
Положим .
Пусть - энергопотребление сервера s (весовая функция),
- множество непустых контейнеров после распределения a.
Цель задачи упаковки найти такое распределение a, что:
вектор соответствует s
Сумма весовых функций всех непустых контейнеров минимальна:
Чтобы показать NP-трудность этой задачи, сведем NP-полную задачу упаковки в контейнеры к данной задаче. Для начала сформулируем задачу упаковки в контейнеры:
Определение 2. Пусть множество из n элементов. Каждому элементу соответствует размер Также пусть - множество из m контейнеров, каждый из которых имеет один и тот же размер . Цель задачи упаковки запаковать все элементы из I в наименьшее число контейнеров, так чтобы для каждого контейнера b было выполнено: .
Теперь продемонстрируем само сведение. Пусть а - искомая функция из Определения 1. Для каждого i из множества I определим вектор с Для каждого одноразмерного контейнера b определим d-размерный контейнер , обозначает длину ребра гиперконтейнера в i-ом направлении. Для каждого d-размерного контейнера s выберем функцию стоимости содержимым для . может также быть записана как Но в этом случае и не зависит от числа непустых контейнеров. Поэтому, минимизация эквивалентна минимизации произведения , а значит и минимизации k, которое и обозначает число непустых контейнеров.
Заключение
В основе разработанного алгоритма лежит технология RAPL. Она является новейшей в классе технологий оценки и измерения энергозатрат. С помощью нее через специальные моделезависимые регистры и датчики на процессоре стало возможно получить информацию о количестве энергии, потребленной системой с момента запуска. Первым вопросом, возникающим при реализации RAPL интерфейса, является вопрос о месте размещения такого подмодуля. Можем выделить 3 основных контекста исполнения. В ходе анализа было выбрано размещение в контексте монитора виртуальных машин. С помощью чтения соответствующего MSR-а при переключении выбранных контекстов и происходит получение значения потребляемой энергии виртуальным окружением.
Для тестирование алгоритма на гостевой ОС запускались задачи с высокой энергонагрузкой (использовались нагрузочные тесты из пакета Linpack, редактирование видео и другие). Одновременно с исполнением задач, в мониторе по описываемому алгоритму определялось общее количества потребленной энергии. Результаты тестов сравнивались с результатами, полученными от профилировщика PowerTop, работающего в хостовой системе.
Так как тестовое приложение в основном загружало процессор, то результаты замеров должны были совпадать в пределах незначительной погрешности. При сравнении замеров видно, что разность между измерениями не превышает 1.5%, что указывает на достаточную точность измерений. Поэтому, измерения энергии по описываемому алгоритму, являлись достоверными.
Был предложен и протестирован механизм определения энергопотребления в виртуальном окружении, использующий интерфейс RAPL.
Продемонстрировано, что этот механизм является наиболее приемлемым и эффективным.
Был предложен ряд мер для снижения энергопотребления ВМ и повышения энергоэффективности задач, исполняемых в ней.
Практически и теоретически было продемонстрировано, что энергопотребление ВМ напрямую зависит от выделения соответствующих ресурсов.
Было показано, что для энергоэффективной работы ВМ необходимо, чтобы процессы в ВМ были классифицированы по использованию ресурсов. Поэтому можно говорить о расширении этой задачи на задачу классификации виртуальных сервисов по серверам в облачной инфраструктуре.
Было показано, что задача энергоэффективного распределения виртуальных сервисов по серверам - это NP-трудная задача, и она может быть смоделирована как многомерная задача упаковки в контейнеры.
Дальнейшая работа по данной теме может подразумевать нахождение методов (в том числе эвристических) приближенного решения задачи распределения виртуальных сервисов по серверам в дата-центре и задачи балансировки нагрузки по энергопотреблению в ЦОДе.
Список литературы
[1] J. Koomey, “Worldwide electricity used in data centers”. Environmental Research Letters. vol. 3, no. 034008. September 23.
[2] “Measuring Energy Consumption for Short Code Paths Using RAPL”, Marcus Hдhnel, Bjцrn Dцbel, 2012.
[3] Z. Ou, B. Pang, Y. Deng, J. K. Nurminen, A. Yla-Jaaski, and P. Hui, "Energy- and cost-efficiency analysis of ARM-based clusters," in Proc. of the Int'l Symp. on Cluster Computing and the Grid (CCGRID), Ottawa, Canada, 2012.
[4] Bogdan Marius, Young Meng Teo, “On Understanding the Energy Consumption of ARM-based Multicore Servers. In Proc. of ACM SIGMETRICS/international conference on Measurement and modeling of computer systems.
[5] E. Saxe, “Power-ef?cient software”, Commun. ACM, 2010
[6] http://www.acpi.info/
[7] Intel Software Developers Manual. CHAPTER 14 POWER AND THERMAL MANAGEMENT.http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html/
[8] R. Nathuji, K. Schwan. “Virtualpower: Coordinated Power Management in Virtualized Enterprise Systems.” ACM SIGOPS Operating Systems Review, 41(6):265-278, 2007.
[9] “Improving Power Efficiency with App Nap.” WWDC 2013 Session Videos. https://developer.apple.com/wwdc/videos/?id=209
[10] T. Do, S. Rawshdeh, W. Shi, “pTop: A Process-level Power Pro?ling Tool”, In HotPower'09: Proceedings of the Workshop on Power Aware Computing and Systems
[11] Intel Power Gadget. http://software.intel.com/en-us/articles/intel-power-gadget-20
[12] Intel VTune Amplifier. http://software.intel.com/en-us/intel-vtune-amplifier-xe
[13] Joulemeter: Computational Energy Measurement and Optimization. http://research.microsoft.com/en-us/projects/joulemeter/default.aspx
[14] R. Mittalz, A. Kansaly, R. Chandray. “Empowering Developers to Estimate App Energy Consumption”, Mobicom '12 Proceedings of the 18th annual international conference on Mobile computing and networking.
[15] Maximizing battery life on OS-X. WWDC 2013 Session videos. https://developer.apple.com/wwdc/videos/?id=701
[16] Energy best practices. WWDC 2013 Session videos. https://developer.apple.com/wwdc/videos/?id=712
[17] XCode https://developer.apple.com/xcode/
[18] Watts Up. https://www.wattsupmeters.com/secure/products.php?pn=0
[19] PowerTOP http://www.linuxpowertop.org/
[20] JouleMeter http://research.microsoft.com/en-us/projects/joulemeter/default.aspx
[21] Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 3B: System Programming Guide, Part 2.
[22] Intel® 64 and IA-32 Architectures Optimization Reference Manual.
[23] «Joulemeter: Virtual Machine Power Measurement and Management», Aman Kansal, 2011.
[24] Frank Bellosa. The benefits of event: driven energy accountingin power-sensitive systems. In Proceedings of the 9thworkshop on ACM SIGOPS European workshop: beyond thePC: new challenges for the operating system37-42, New York, NY, USA, 2000. ACM
[25] Gilberto Contreras and Margaret Martonosi. Power prediction for intel xscale processors using performance monitoring unit events. In Proceedings of IEEE/ACM International Symposium on Low Power Electronics and Design, pages 221-226, 2005.
[26] Andreas Merkel and Frank Bellosa. Balancing power consumption in multiprocessor systems. SIGOPS Oper. Syst. Rev., 40:403-414, April 2006.
[27] Virtual Machine Power Metering and Provisioning, Aman Kansal, 2010 ACM.
[28] A System for Online Power Prediction in Virtualized Environments Using Gaussian Mixture Models, 2010, ACM.
[29] Power Measuring and Profiling: State-of-the-Art, Hui Chen and Weisong Shi., 2011.
[30] «Энергосбережение изнутри: что в действительности могут измерить профилировщики», Карпов Д.В., Бондарь А.О., 2013, RSDN Magazine.
Размещено на Allbest.ru
...Подобные документы
Разработка алгоритма фильтрации данных, полученных с систем спутниковой навигации с помощью GNSS-модуля. Анализ работы фильтра Калмана, его программная реализация под конкретную задачу. Выбор навигационных модулей для получения данных позиционирования.
дипломная работа [3,6 M], добавлен 12.01.2016Изготовление устройства управления шаговым двигателем на базе микросхем дискретной логики ТТЛ. Временные диаграммы работы устройства. Условное графическое изображение и уровни реализации структуры ПЛИС. Расчет энергопотребления с помощью утилиты xPower.
курсовая работа [1,1 M], добавлен 28.12.2012Алфавитно-цифровые печатающие устройства. Отличие светодиодного принтера от лазерного. Принтеры трёхмерной печати, уровень энергопотребления, разрешающая способность, интерфейс подключения. Набор дополнительных функций. Тип красителей и количество цветов.
реферат [986,3 K], добавлен 16.05.2014Разработка программы учета занятости компьютеров в лаборатории. Анализ требований, метод решения. Разработка алгоритма в виде структурных схем. Программная реализация в среде Borland Delphi. Минимальные системные требования для ее корректной работы.
дипломная работа [6,3 M], добавлен 10.06.2013История создания и развития компьютерных процессоров Intel. Изучение архитектурного строения процессоров Intel Core, их ядра и кэш-память. Характеристика энергопотребления, производительности и систем управления питанием процессоров модельного рядя Core.
контрольная работа [7,6 M], добавлен 17.05.2013Понятия выставки, экспозиции и виртуальности. Их представительства в сети. Виртуальные выставки на службе экспобизнеса. Особенности их организаций. Техническая реализация виртуальных экспозиций. Примеры существующих виртуальных музеев в Интернет.
реферат [60,1 K], добавлен 25.11.2009Проектирование преобразователя кода (ПК), рассчет его энергопотребления и быстродействия. Составление таблицы истинности ПК. Написание булевых функций, минимизация и преобразование к выбранному базису. Составление структурной схемы преобразователя кода.
курсовая работа [775,3 K], добавлен 09.02.2009Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.
курсовая работа [314,2 K], добавлен 27.01.2015Окно для работ с Design Assistant. Пример комбинационной логики, используемой в качестве тактового сигнала. Условия эффективного снижения энергопотребления с помощью сигнала синхронизации, полученного при помощи логической ячейки. Вкладка Fitter Settings.
курсовая работа [562,7 K], добавлен 05.11.2014Процессоры Intel Core 2 Duo, энергопотребление. Размер кристалла Core 2 Duo и число транзисторов. Технологии управления энергопотреблением Core 2 Duo. Ultra Fine Grained Power Control. Индикация энергопотребления процессора/PSI-2. Цифровые термодатчики.
курсовая работа [5,4 M], добавлен 16.01.2009Создание программы, автоматизирующей расчет коэффициента ритмичности продукции с использованием электронных таблиц средствами языка программирования Си. Консолидация данных в MSExcel. Программная реализация алгоритма. Тестирование разработанного ПО.
курсовая работа [3,0 M], добавлен 07.06.2014Теоретическое исследование вопроса и практическое применение. Общие сведения о графах. Алгоритм Дейкстры. Особенности работы в среде. Программная реализация. Описание алгоритма и структуры программы. Описание программных средств. Текст программы.
курсовая работа [1,0 M], добавлен 27.11.2007Особенности метода неопределенных множителей Лагранжа, градиентного метода и метода перебора и динамического программирования. Конструирование алгоритма решения задачи. Структурная схема алгоритма сценария диалога и описание его программной реализации.
курсовая работа [1010,4 K], добавлен 10.08.2014Программы для обслуживания деканата, разработка и сущность ее использования. Особенности работы в среде Visual C++. Программная реализация, описание алгоритма и структуры, использованных программных средств, разработанных функций. Инструкция пользователя.
курсовая работа [330,1 K], добавлен 05.03.2009Виды социальных медиа. Критерии эффективности продвижения аккаунта в социальных сетях. Программная реализация алгоритма моделирования распространения информации в социальной сети "Twitter". Разработка клиентского приложения. Апробация интерфейса системы.
дипломная работа [5,4 M], добавлен 08.02.2016Исследование вертикальных проекций яркости и размаха яркости. Программная реализация алгоритма автоматического анализа цифровых изображений номерных знаков с целью сегментации цифробуквенных символов. Разработка графического пользовательского интерфейса.
дипломная работа [1,5 M], добавлен 12.04.2013Симметричные криптосистемы; алгоритмы шифрования и дешифрования данных, их применение в компьютерной технике в системах защиты конфиденциальной и коммерческой информации. Основные режимы работы алгоритма DES, разработка программной реализации ключа.
курсовая работа [129,6 K], добавлен 17.02.2011Теоретические основы разработки web-сайтов, язык размeтки HTML, язык сцeнариeв JavaScript, web-прoграммирoваниe. Программная реализация вэб-сайта Всеволожского исполнительного комитета партии "Единая Россия", программная реализация алгоритма работы.
дипломная работа [2,9 M], добавлен 21.01.2012Слабые и сильные стороны российского сегмента мирового рынка мебели. Прогнозирование и оптимизация основных показателей деятельности компаний ООО "Ваш Быт", ООО "Столплит", ООО "Дятьково" с использованием возможностей табличного процессора Excel.
курсовая работа [992,8 K], добавлен 18.06.2011Алгоритмы получения реалистических изображений. Применение алгоритма обратной трассировки лучей, ее математическая основа. Составление матрицы и программная реализация. Формирование отраженного и преломленного луча. Модульная структура программы.
курсовая работа [219,3 K], добавлен 24.06.2009