Тема: Оптимизация энергопотребления на основе применения зеленых паттернов
Характеристики работы
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1. Постановка задачи 5
2. Обзор предметной области 6
2.1. «Зелёные» паттерны 6
2.1.1. Выводы 9
2.2. Паттерны проектирования 9
2.2.1. Влияние на энергопотребление 10
2.2.2. Выводы 11
2.3. Подходы к измерению энергопотребления 11
3. Оптимизация 12
3.1. Выбор Android-приложений для оптимизации 12
3.2. Выбор оптимизаций 12
3.3. Использование энергоэффективных структур данных . . 13
3.4. Переработка паттерна «Декоратор» 13
4. Эксперимент 16
4.1. Описание тестового стенда и методологии экспериментов 16
4.2. Результаты внедрения энергоэффективной структуры
данных 18
4.3. Результаты переработки паттерна декоратор 19
4.4. Выводы 20
Заключение 21
Список литературы 22
📖 Введение
Важным пунктом на пути к выгодному использованию энергии является участие в процессе разработки всех, кто связан с мобильными устройствами. Инженеры создают энергоэффективное аппаратное обеспечение, а разработчики начинают пользоваться программными средствами для анализа потребления энергии приложением. Максимальной энергоэффективности можно достичь посредством координированных усилий. Если приложение будет написано неэффективно, то каким бы энергоэффективным ни был бы процессор, аккумулятор устройства не будет использоваться оптимально.
На помощь разработчикам программного обеспечения приходят не только инструменты профилирования, но и подходы в написании кода, получившие название «зелёных» паттернов, которые тоже вносят свой вклад в энергопотребление.
В работе [5] среди разработчиков был проведен опрос, чтобы выяснить их осведомленность о влиянии использования паттернов на энергопотребление. Результаты говорят о том, что большинство не учитывает их возможное влияние на энергозатраты при разработке. Исходя из результатов, можно предположить, что open-source проекты могут содержать неэнергоэффективный код.
В данной работе предлагается провести обзор «зелёных» паттернов и внедрить набор оптимизационных решений, которые будут основаны на использовании энергоэффективных структур данных и на рефакторинге кода по удалению из него паттерна «Декоратор», и оценить энергосберегающий эффект.
1. Постановка задачи
Целью работы является исследование влияния специализированных приемов программирования (т.н. «зелёных» паттернов) на энергопотребление в рамках Android-приложения. Для её выполнения были поставлены следующие задачи:
1. провести обзор влияния «зелёных» паттернов и паттернов проектирования на энергопотребление;
2. выбрать Android-приложения для дальнейшей оптимизации;
3. определить методологию экспериментов и реализовать вспомогательные скрипты для проведения замеров;
4. внедрить набор оптимизаций, уменьшающих энергопотребление в рамках Android-приложений;
5. сравнить результаты замеров энергопотребления до и после внедрения оптимизаций.
✅ Заключение
1. проведен обзор влияния «зелёных» паттернов и паттернов проектирования на энергопотребление;
2. внедрена энергоэффективная структура данных HashedMap в Remixed Dungeon и Hentoid;
3. описана методология и реализованы вспомогательные скрипты для автоматизации сборов показателей энергопотребления и прогона тестового сценария использования Android-приложений;
4. проведены замеры энергопотребления до и после внедрения оптимизаций, а также проведена статистическая обработка полученных данных. Для приложений Remixed Dungeon и Hentoid после внедрения энергоэффективной коллекции HashedMap выигрыш в энергопотреблении составил 0.58% и 0.6% соответственно. В рамках приложения Remixed Dungeon был реализован паттерн «Декоратор» для оценки энергопотребления до и после применения оптимизации, после удаления паттерна декоратор выигрыш в энергопотреблении составил 4.19%. Стоит отметить, что оптимизация по замене структуры данных увеличила размер собранного приложения, но сама по себе не является трудозатратной. Удаление паттерна «Декоратор» понесло за собой утрату поддерживаемо- сти и расширяемости кода при относительно небольшом выигрыше в энергозатратах.





