2 из 61 Введение. Оценка энергоэффективности программ: –Подходы к определению энергоэффективности; –Программные средства. Тестовые задачи. Реализация.

Презентация:



Advertisements
Похожие презентации
1. Определить последовательность проезда перекрестка
Advertisements

Урок повторения по теме: «Сила». Задание 1 Задание 2.
1 Знаток математики Тренажер Таблица умножения 2 класс Школа 21 века ®м®м.

Таблица умножения на 8. Разработан: Бычкуновой О.В. г.Красноярск год.
Развивающая викторина для детей "Самый-самый " Муниципальное общеобразовательное учреждение средняя общеобразовательная школа 7 ст. Беломечётской.
Ф. Т. Алескеров, Л. Г. Егорова НИУ ВШЭ VI Московская международная конференция по исследованию операций (ORM2010) Москва, октября 2010 Так ли уж.
Школьная форма Презентация для родительского собрания.
Разработал: Учитель химии, биологии высшей квалификационной категории Баженов Алексей Анатольевич.
Фрагмент карты градостроительного зонирования территории города Новосибирска Масштаб 1 : 6000 Приложение 7 к решению Совета депутатов города Новосибирска.
1 Знаток математики Тренажер Таблица умножения 3 класс Школа России Масько Любовь Георгиевна Муниципальное общеобразовательное учреждение средняя общеобразовательная.
Тем, кто учит математику, Тем, кто учит математике, Тем, кто любит математику, Тем, кто ещё не знает, Что может полюбить математику Посвящается…
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
Фрагмент карты градостроительного зонирования территории города Новосибирска Масштаб 1 : 6000 Приложение 7 к решению Совета депутатов города Новосибирска.
Ребусы Свириденковой Лизы Ученицы 6 класса «А». 10.
Анализ результатов краевых диагностических работ по русскому языку в 11-х классах в учебном году.
3 Законы Кирхгофа справедливы для линейных и нелинейных цепей при постоянных и переменных напряжениях и токах.
Лекция 1 Раздел 1 Windows Phone Темы раздела 3 Windows Phone Устройство на платформе Windows Phone 4.
Рисуем параллелепипед Известно, что параллельная проекция тетраэдра, без учета пунктирных линий, однозначно определяется заданием проекций его вершин (рис.
1 ПРЕЗЕНТАЦИЯ ПАКЕТА ПРОГРАММ «STEP+» Численное исследование автономных систем обыкновенных дифференциальных уравнений и нелинейных уравнений общего вида.
Транксрипт:

2 из 61 Введение. Оценка энергоэффективности программ: –Подходы к определению энергоэффективности; –Программные средства. Тестовые задачи. Реализация экспериментов: –Исследовательская инфраструктура; –Численные результаты. Заключение. –Выводы; –Развитие проекта. Н.Новгород, 2011 г.Power Consumption Project Содержание

3 из 61 Введение Н.Новгород, 2011 г.Power Consumption Project

4 из 61 Введение Популярность мобильных устройств неуклонно растет. Н.Новгород, 2011 г.Power Consumption Project

5 из 61 Введение Возможности увеличения емкости батарей не безграничны. Н.Новгород, 2011 г.Power Consumption Project

6 из 61 Задачи: Определение величин (метрик), которые необходимы для анализа энергоэффективности ПО. Анализ и изучение инструментов, которые позволяют программным образом определять энергопотребление ПО. Реализация тестовых задач. Разработка исследовательской инфраструктуры: –Возможность автоматического запуска экспериментов; –Численное и графическое представление результатов. Проведение экспериментов и интерпретация результатов. Постановка задачи Н.Новгород, 2011 г.Power Consumption Project

7 из 61 Оценка энергоэффективности программ Н.Новгород, 2011 г.Power Consumption Project

Подходы к определению энергоэффективности 8 из 61 В чем можно измерить энергопотребление? Текущее напряжение (в Вольтах); Текущая сила тока (в Амперах); Текущая мощность потребления (в Ваттах). Основной характеристикой энергопотребления является текущая потребляемая мощность. Н.Новгород, 2011 г.Power Consumption Project (1)

Подходы к определению энергоэффективности 9 из 61 Основная характеристика батареи – ёмкость (в Ватт-часах). Ёмкость показывает, сколько часов проработает мобильное устройство при мощности потребления в 1 Ватт. Если знать ёмкость батареи, можно определить, сколько мобильное устройство проработает при определенной потребляемой мощности: где E – ёмкость батареи. Н.Новгород, 2011 г.Power Consumption Project (2)

10 из 61 C-States Степень «засыпания» процессора при ожидании характеризуется его С-state состоянием. Н.Новгород, 2011 г.Power Consumption Project 1 Energy-Efficient Platforms – Considerations for Application Software and Services

11 из 61 Готовые программные комплексы сторонних разработчиков API операционной системы Драйвер батареи Уровень абстракции Подходы к определению энергоэффективности Н.Новгород, 2011 г.Power Consumption Project

Подходы к определению энергоэффективности 12 из 61 Готовые программные комплексы сторонних разработчиков API операционной системы Драйвер батареи I.Достоинства: 1.Максимально точные данные. 2.Возможность получения данных в удобном формате II.Недостатки: 1.Самый низкий уровень. 2.Сложность реализации измерителя. 3.Сильная зависимость от модели батареи. Н.Новгород, 2011 г.Power Consumption Project

Подходы к определению энергоэффективности 13 из 61 Готовые программные комплексы сторонних разработчиков API операционной системы Драйвер батареи I.Достоинства: 1.Достаточно точные данные. 2.Возможность получения данных в удобном формате II.Недостатки: 1.Сложность реализации измерителя. 2.Сильная зависимость от операционной системы. Н.Новгород, 2011 г.Power Consumption Project

Подходы к определению энергоэффективности 14 из 61 Готовые программные комплексы сторонних разработчиков API операционной системы Драйвер батареи I.Достоинства: 1.Простота реализации измерителя. 2.Возможность работы на различных платформах. II.Недостатки: 1.Нет возможности получать данные в удобном формате. 2.Менее точные данные. Н.Новгород, 2011 г.Power Consumption Project

15 из 61 Программные средства Intel(R) Power Checker Perfmon Intel(R) Power Informer Powertop Joulemeter Требования к ОС Отображение мощности, потребляемой системой Отображение С-State Отображение результатов в реальном времени Возможность проведения серии экспериментов Период обновления данных (сек) Возможность запуска на различных версиях ОС Возможность записи результатов в файл Windows Linux 1,0 15,01,0??? Н.Новгород, 2011 г.Power Consumption Project

16 из 61 Тестовые задачи Н.Новгород, 2011 г.Power Consumption Project

17 из 61 Тестовые задачи Рассматриваемые технологии: OpenMP Intel ® Cilk Plus Intel ® Threading Building Blocks Streaming SIMD Extensions (SSE) Рассматриваемые алгоритмы: Умножение матрицы на вектор Умножение матрицы на матрицу Быстрое преобразование Фурье Алгоритм выделения краев Canny Используемые языки программирования: С/С++ Дополнительные средства: Intel® Math Kernel Library (MKL) Н.Новгород, 2011 г.Power Consumption Project

18 из 61 Тестовые задачи SingleOpenMPTBBCilk+SSEMKL Умножение матрицы на вектор Умножение матрицы на матрицу Быстрое преобразование Фурье Н.Новгород, 2011 г.Power Consumption Project Алгоритм выделения краев Canny

19 из 61 Исследовательская инфраструктура Н.Новгород, 2011 г.Power Consumption Project

20 из 61 Ход выполнения скрипта Главный скрипт Скрипт запуска экспериментов Скрипт сбора данных Отчет с временем начала и конца каждого эксперимента Отчет Perfmon Запуск Perfmon для ведения отчета Чтение параметров из файла Запуск серии экспериментов Остановка Perfmon и подготовка отчета Скрипт для работы с Perfmon Таблица с результатами Н.Новгород, 2011 г.Power Consumption Project

21 из 61 Ход выполнения скрипта Главный скрипт Скрипт запуска экспериментов Скрипт сбора данных Отчет с временем начала и конца каждого эксперимента Отчет Perfmon Запуск Perfmon для ведения отчета Чтение параметров из файла Запуск серии экспериментов Остановка Perfmon и подготовка отчета Скрипт для работы с Perfmon Таблица с результатами Н.Новгород, 2011 г.Power Consumption Project

22 из 61 Ход выполнения скрипта Главный скрипт Скрипт запуска экспериментов Скрипт сбора данных Отчет с временем начала и конца каждого эксперимента Отчет Perfmon Запуск Perfmon для ведения отчета Чтение параметров из файла Запуск серии экспериментов Остановка Perfmon и подготовка отчета Скрипт для работы с Perfmon Таблица с результатами Н.Новгород, 2011 г.Power Consumption Project

23 из 61 Ход выполнения скрипта Главный скрипт Скрипт запуска экспериментов Скрипт сбора данных Отчет с временем начала и конца каждого эксперимента Отчет Perfmon Запуск Perfmon для ведения отчета Чтение параметров из файла Запуск серии экспериментов Остановка Perfmon и подготовка отчета Скрипт для работы с Perfmon Таблица с результатами Н.Новгород, 2011 г.Power Consumption Project

24 из 61 Ход выполнения скрипта Главный скрипт Скрипт запуска экспериментов Скрипт сбора данных Отчет с временем начала и конца каждого эксперимента Отчет Perfmon Запуск Perfmon для ведения отчета Чтение параметров из файла Запуск серии экспериментов Остановка Perfmon и подготовка отчета Скрипт для работы с Perfmon Таблица с результатами Н.Новгород, 2011 г.Power Consumption Project

25 из 61 Ход выполнения скрипта Главный скрипт Скрипт запуска экспериментов Скрипт сбора данных Таблица с результатами Отчет с временем начала и конца каждого эксперимента Отчет Perfmon Запуск Perfmon для ведения отчета Чтение параметров из файла Запуск серии экспериментов Остановка Perfmon и подготовка отчета Скрипт для работы с Perfmon Н.Новгород, 2011 г.Power Consumption Project

26 из 61 Результаты экспериментов Н.Новгород, 2011 г.Power Consumption Project

27 из 61 Тестовая система Все эксперименты проводились на следующей машине: –Processor: Mobile QuadCore Intel Core i7 2GHz (2.9 GHz Turbo Boost) –Cache: L1 32 Kb, L2 256 Kb, L3 6Mb –RAM: 4Gb, DDR MHz –HDD: 64Gb SSD –Operating System: Windows 7 Ultimate (x64) Н.Новгород, 2011 г.Power Consumption Project

28 из 61 Сравнение параллельных технологий Умножение матрицы на вектор P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

29 из 61 Сравнение параллельных технологий Умножение матрицы на вектор E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

30 из 61 Быстрое преобразование Фурье Сравнение параллельных технологий P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

31 из 61 Сравнение параллельных технологий Быстрое преобразование Фурье E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

32 из 61 Сравнение параллельных технологий Умножение матрицы на матрицу P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

33 из 61 Сравнение параллельных технологий Умножение матрицы на матрицу E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

34 из 61 Сравнение при разном количестве потоков Алгоритм выделения краев Canny (OpenMP) P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

35 из 61 Сравнение при разном количестве потоков Алгоритм выделения краев Canny (TBB) P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

36 из 61 Сравнение при разном количестве потоков Алгоритм выделения краев Canny E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

37 из 61 Сравнение при разном количестве потоков Умножение матрицы на матрицу (OpenMP) P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

38 из 61 Сравнение при разном количестве потоков Умножение матрицы на матрицу (OpenMP) E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

39 из 61 Сравнение при разном количестве потоков Умножение матрицы на матрицу (OpenMP) E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

40 из 61 Зависимость от C-State Умножение матрицы на матрицу. P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

41 из 61 Зависимость от C-State E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

42 из 61 Тест на доступ к памяти Суммирование элементов вектора P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

43 из 61 Тест на доступ к памяти Суммирование элементов вектора E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

44 из 61 Сравнение с другими вариантами реализаций Алгоритм выделения краев Canny. Немного изменим реализацию: поменяем местами циклы. Тем самым уменьшим количество «прыжков» по памяти. P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

45 из 61 Алгоритм выделения краев Canny. Сравнение с другими вариантами реализаций E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

46 из 61 Сравнение с другими вариантами реализаций Умножение матрицы на матрицу. Уменьшили количество «прыжков» по памяти путем транспонирования второй матрицы. P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

47 из 61 Умножение матрицы на матрицу. Сравнение с другими вариантами реализаций E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

48 из 61 Сравнение с использованием SSE Умножение матрицы на вектор P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

49 из 61 Сравнение с использованием SSE Умножение матрицы на вектор E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

50 из 61 Сравнение с использованием SSE Умножение матрицы на матрицу P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

51 из 61 Сравнение с использованием SSE Умножение матрицы на матрицу E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

52 из 61 Сравнение с MKL Быстрое преобразование Фурье P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

53 из 61 Сравнение с MKL Быстрое преобразование Фурье E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

54 из 61 Сравнение с MKL Умножение матрицы на вектор P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

55 из 61 Сравнение с MKL Умножение матрицы на вектор E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

56 из 61 Сравнение с MKL Умножение матрицы на матрицу P (мВт) t (c) Н.Новгород, 2011 г.Power Consumption Project

57 из 61 Сравнение с MKL Умножение матрицы на матрицу E (мВт*час) Н.Новгород, 2011 г.Power Consumption Project

58 из 61 Заключение Н.Новгород, 2011 г.Power Consumption Project

Определены метрики, которые необходимы для анализа энергоэффективности ПО. Изучены инструменты, которые позволяют программным образом определять энергопотребление ПО. Реализованы тестовые задачи. Разработана исследовательская инфраструктура. Проведены эксперименты. 59 из 61 Заключение Практический результат работы: Создана рабочая схема, позволяющая измерить энергопотребление и сравнить энергоэффективность программ. Используя данную схему, был проведен ряд экспериментов. Данная схема обладает рядом ограничений и требует дальнейшего улучшения. Н.Новгород, 2011 г.Power Consumption Project

60 из 61 Развитие проекта В наши ближайшие планы входит: Создание собственного инструмента измерения энергопотребления ПО, который будет позволять: –Получать максимально точные измерения. –Сохранять результаты в удобном формате. –Быть максимально независимыми от платформы, на которой проводятся исследования. В наши дальнейшие планы входит: Создание комплекса рекомендаций для разработчиков по созданию энергоэффективного ПО. Создание профилировщика, который сможет: Проводить автоматический анализ кода. Выдавать рекомендации разработчику по повышению энергоэффективности кода. Н.Новгород, 2011 г.Power Consumption Project

61 из 61 Спасибо за внимание! ??? Н.Новгород, 2011 г.Power Consumption Project

62 из 61 Energy-Efficient Platforms – Considerations for Application Software and Services – В.Д. Кустикова Описание технологии Intel Cilk Plus – А.В. Сысоев, И.Б. Мееров, А.А. Сиднев Средства разработки параллельных программ для систем с общей памятью. Библиотека Intel Threading Building Blocks – А.А. Сиднев Образовательный комплекс «Параллельные численные методы». Лабораторная работа 5. Фильтрация изображений. Быстрое преобразование Фурье – Kaisa Korhonen «Predicting mobile device battery life» – Н.Новгород, 2011 г.Power Consumption Project Список литературы