Optimising Energy Consumption of Design Patterns

Status:: 🟩
Links:: Design patterns impact on energy efficiency

Metadata

Authors:: Noureddine, Adel; Rajan, Ajitha
Title:: Optimising Energy Consumption of Design Patterns
Date:: 2015
URL:: http://ieeexplore.ieee.org/document/7203028/
DOI:: 10.1109/ICSE.2015.208

Bibliography

Noureddine, A., & Rajan, A. (2015). Optimising Energy Consumption of Design Patterns. 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, 2, 623–626. https://doi.org/10.1109/ICSE.2015.208

Zotero

Type:: #zotero/conferencePaper
Zotero::

Keywords:: [βœ…, Design Patterns, Energy Efficiency, Green Software]

Relations

Abstract

Software design patterns are widely used in software engineering to enhance productivity and maintainability.However, recent empirical studies revealed the high energy overhead in these patterns. Our vision is to automatically detect and transform design patterns during compilation for better energy efficiency without impacting existing coding practices. In this paper, we propose compiler transformations for two design patterns, Observer and Decorator, and perform an initial evaluation of their energy efficiency.

Notes & Annotations

πŸ“‘ Annotations (imported on 2023-12-19#21:34:33)

noureddine.rajan.2015.optimisingenergyconsumption (pg. 1)

Recent studies [3], [4], [5] found that some, not all, design patterns negatively impact energy consumption (up to 712% on embedded hardware).

noureddine.rajan.2015.optimisingenergyconsumption (pg. 1)

In this paper, we study the Observer and Decorator patterns that consistently performed poorly across all empirical studies, including ours. We propose energy efficient transformations for programs with these design patterns. The program transformations are to be carried out during the compilation stage.

noureddine.rajan.2015.optimisingenergyconsumption (pg. 1)

In [3], the authors compared the energy consumption of 6 design patterns on mobile phones. They found a high overhead for the Prototype, Decorator and Factory design patterns (33%, 133%, and 15.9% overhead, respectively).

[3] Christian Bunse and Sebastian Stiemer. On the energy consumption of design patterns. In 2nd Workshop EASED@BUIS Energy Aware Software-Engineering and Development, pages 7–8, 2013.

noureddine.rajan.2015.optimisingenergyconsumption (pg. 1)

The authors in [4] compared the energy consumption of 3 design patterns. Their results show a negligible energy overhead for the Factory and Adapter patterns, and around 44% energy overhead for the Observer pattern.

[4] Andreas Litke, Kostas Zotos, Er Chatzigeorgiou, and George Stephanides. Energy consumption analysis of design patterns. In International Conference on Machine Learning and Software Engineering, pages 86–90, 2005.

noureddine.rajan.2015.optimisingenergyconsumption (pg. 1)

Finally, Sahin et al. studied the energy consumption of 15 design patterns in [5]. Their results show a high energy overhead for the Factory, Decorator and Observer patterns (712%, 21.55%, and 62%, respectively).

[5] C. Sahin, F. Cayci, I.L.M. Gutierrez, J. Clause, F. Kiamilev, L. Pollock, and K. Winbladh. Initial explorations on design pattern energy usage. In 1st International Workshop on Green and Sustainable Software, GREENS’12, pages 55–61, June 2012.

noureddine.rajan.2015.optimisingenergyconsumption (pg. 2)

As can be seen in Figure 1, the patterns with high energy overhead (>10%) are Observer (30.63%), Decorator (12.24%) and Mediator (26.61%).

noureddine.rajan.2015.optimisingenergyconsumption (pg. 4)

In this paper, we present an approach to improve the energy efficiency of software by optimising design patterns automatically at compile time. We explored simple transformations for the Observer and Decorator patterns and found energy reductions in the range of 4.32% to 25.47%.