Тип работы:
Предмет:
Язык работы:


Оптимизация энергопотребления на основе применения зеленых паттернов

Работа №144110

Тип работы

Дипломные работы, ВКР

Предмет

программирование

Объем работы20
Год сдачи2024
Стоимость4800 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
9
Не подходит работа?

Узнай цену на написание


Введение 4
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%. Стоит отметить, что оптимизация по замене структуры данных увеличила размер собранного при­ложения, но сама по себе не является трудозатратной. Удаление паттерна «Декоратор» понесло за собой утрату поддерживаемо- сти и расширяемости кода при относительно небольшом выигры­ше в энергозатратах.


[1] Android Debug Bridge.— URL: https://developer.android.com/ tools/adb (дата обращения: 28 апреля 2024 г.).
[2] Apache Collections.— URL: https://commons.apache.org/proper/ commons-collections (дата обращения: 28 апреля 2024 г.).
[3] Connolly Bree Deaglan, Cinneide Mel O. Removing Decorator to Im­prove Energy Efficiency // 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER).— 2022.— P. 902-912.— URL: https://doi.org/10.1109/SANER53432.2022. 00108 (дата обращения: 10 октября 2023 г.).
[4] Eclipse Collections. -- URL: https://eclipse.dev/collections/ (дата обращения: 28 апреля 2024 г.).
[5] An Empirical Study on the Impact of Deep Parameters on Mo­bile App Energy Usage / Qiang Xu, James C. Davis, Y. Char­lie Hu, Abhilash Jindal // 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER).— 2022.— P. 844-855.— URL: https://doi.org/10.1109/SANER53432.2022. 00103 (дата обращения: 11 октября 2023 г.).
[6] Hentoid.— URL: https://github.com/avluis/Hentoid (дата обращения: 28 апреля 2024 г.).
[7] Improving Energy-Efficiency by Recommending Java Collections / Wellington Oliveira, Renato Oliveira, Fernando Castor et al. // Em­pirical Softw. Engg.— 2021.—may.— Vol. 26, no. 3.— 45 p.— URL: https://doi.org/10.1007/s10664-021-09950-y (дата обращения: 11 октября 2023 г.).
[8] Initial explorations on design pattern energy usage / Cagri Sahin, Furkan Cayci, Irene Lizeth Manotas Gutierrez et al. // 2012 First Inter­national Workshop on Green and Sustainable Software (GREENS).— 2012,— P. 55-61,— URL: https://doi.org/10.1109/GREENS.2012. 6224257 (дата обращения: 10 октября 2023 г.).
[9] Navitas Framework. Энергопотребление экранов смартфонов. — URL: https://se.math.spbu.ru/thesis/texts/Motyka_Artem_
Igorevichch_Bachelor_Report_2022_text.pdf (дата обращения: 20 мая 2024 г.).
[10] Remixed Dungeon.— URL: https://github.com/NYRDS/ remixed-dungeon (дата обращения: 28 апреля 2024 г.).
[11] Rooting (Android).— URL: https://en.wikipedia.org/wiki/ Rooting_(Android) (дата обращения: 23 мая 2024 г.).
[12] Software design pattern.— URL: https://en.wikipedia.org/wiki/ Software_design_pattern (дата обращения: 20 февраля 2024 г.).
[13] Understanding the impact of object oriented programming and de­sign patterns on energy efficiency / Sepideh Maleki, Cuijiao Fu, Arun Banotra, Ziliang Zong // 2017 Eighth International Green and Sustainable Computing Conference (IGSC).— 2017.— P. 1­
6. — URL: https://doi.org/10.1109/IGCC.2017.8323605 (дата обращения: 12 октября 2023 г.).
[14] What is eating up battery life on my SmartPhone: A case study / Grace Metri, Abhishek Agrawal, Ramesh Peri, Weisong Shi // 2012 International Conference on Energy Aware Computing. — 2012. — P. 1­6.— URL: https://doi.org/10.1109/ICEAC.2012.6471003 (дата обращения: 20 мая 2024 г.).
[15] A catalogue of game-specific anti-patterns based on GitHub and
Game Development Stack Exchange / Vartika Agrahari, Shri- ram Shanbhag, Sridhar Chimalakonda, A. Eashaan Rao // Journal of Systems and Software. — 2023. — Vol. 204. —
P. 111789.— URL: https://www.sciencedirect.com/science/ article/pii/S016412122300184X (дата обращения: 10 октября 2023 г.).
[16] Каталог паттернов проектирования.— URL: https: //refactoringguru.cn/ru/design-patterns/catalog (дата обращения: 20 февраля 2024 г.).
[17] Управление энергопотреблением процессора на основе стохастической оптимизации.— URL: https://disser.spbu.ru/ files/2023/disser_sartasov_stanislav.pdf (дата обращения: 23 мая 2024 г.).


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ