Extending software architecture views with an energy consumption perspective

Status:: 🟩
Links:: 30_Knowledge/Green Architectural Tactics

Metadata

Authors:: Jagroep, Erik; Van Der Werf, Jan Martijn; Brinkkemper, Sjaak; Blom, Leen; Van Vliet, Rob
Title:: Extending software architecture views with an energy consumption perspective
Publication Title:: "Computing"
Date:: 2017
URL:: https://doi.org/10.1007/s00607-016-0502-0
DOI:: 10.1007/s00607-016-0502-0

Bibliography

Jagroep, E., Van Der Werf, J. M., Brinkkemper, S., Blom, L., & Van Vliet, R. (2017). Extending software architecture views with an energy consumption perspective. Computing, 99(6), 553–573. https://doi.org/10.1007/s00607-016-0502-0

Zotero

Type:: #zotero/journalArticle
Keywords:: [✅, Green Software, Energy Efficiency, Software Architecture, Quality attributes]

Relations

Related:: @Procaccianti.etal.2014.CatalogueGreenArchitectural

Abstract

The rising energy consumption of the ICT industry has triggered a quest for more sustainable, i.e. energy efficient, ICT solutions. Software plays an essential role in finding these solutions, as software is identified as the true consumer of power. However, in this context, software is often treated as a single, complex entity instead of the interrelated elements that it actually consists of. Although useful results can be gained, this approach fails to provide detailed insight in the elements that invoke specific energy consumption behavior. As a result, software vendors are not able to address energy consumption on software level. In this paper, we propose an energy consumption perspective on software architecture as a means to provide this insight and enable analysis on the architectural elements that are the actual drivers behind the energy consumption. In support of this perspective, we also position sustainability as a potential quality attribute thereby provide a means to quantify energy consumption aspects related to software. In a case study using a commercial software product the perspective and quality attribute are applied, demonstrating the potential by achieving an energy consumption saving of 67.1 %.

Notes & Annotations

📑 Annotations (imported on 2023-08-01#20:59:22)

jagroep.etal.2017.extendingsoftwarearchitecture (pg. 2)

Until recently the focus has mostly been on hardware related aspects as improvements on hardware level are relatively tangible and easy to apply, e.g. renewal of hardware. However, in [20] the role of software is also stressed in finding sustainable (ICT) solutions. While energy is directly consumed by hardware, the operations are directed by software and can eliminate any sustainable features built into the hardware [33]. Thus software is argued to be the true consumer of power [34].

  1. Lago P, Kazman R, Meyer N, Morisio M, Müller HA, Paulisch F, Scanniello G, Penzenstadler B, Zimmermann O (2013) Exploring initial challenges for green software engineering: summary of the first greens workshop, at icse 2012. ACM SIGSOFT Softw Eng Notes 38(1):31–33
  2. Steigerwald B, Agrawal A (2012) Green software. Harnessing green IT: principles and practices p 39
  3. Sun Y, Zhao Y, Song Y, Yang Y, Fang H, Zang H, Li Y, Gao Y (2011) Green challenges to system software in data centers. Front Comp Sci China 5(3):353–368
jagroep.etal.2017.extendingsoftwarearchitecture (pg. 2)

In [12] a decrease in EC of 0.25 W with four million installations is presented to save the EC equivalent to that of an American household per month, showing that even the smallest change could have a major impact.

  1. Hindle A (2013) Green mining: a methodology of relating software change and configuration to power consumption. Empir Softw Eng 20(2):1–36. doi:10.1007/s10664-013-9276-6
jagroep.etal.2017.extendingsoftwarearchitecture (pg. 4)

One of the main issues with respect to green software is to perform detailed EC measurements. Specialized environments, e.g. [10], enable measurements on each individual hardware component and provide detailed insight into how software affects these components. In these setups, the EC of software is measured by relating the EC of hardware to computational resource usage on behalf of the software and, consequently, energy efficiency refers to the efficient use of computational resources [11]. However, these environments are rare, difficult to expand to more complex environments (e.g. data canter) and only few are able (and willing) to invest in the equipment required for such a solution. At the cost of details, external power measurement equipment can also be used.

  1. Ferreira MA, Hoekstra E, Merkus B, Visser B, Visser J (2013) Seflab: a lab for measuring software energy footprints. In: 2013 2nd International workshop on green and sustainable software (GREENS), San Francisco, CA, pp 30–37. doi:10.1109/GREENS.2013.6606419
  2. Grosskop K, Visser J (2013) Identification of application-level energy optimizations. In: Proceeding of ICT for sustainability (ICT4S), pp 101–107
jagroep.etal.2017.extendingsoftwarearchitecture (pg. 5)

EC measurements become even more complex when the entire computing stack is in play, as each layer between software and hardware level (e.g. operating system, virtual machine) is said to amplify the EC induced by the software [6].

  1. Capra E, Francalanci C, Slaughter SA (2012) Is software green? Application development environments and energy efficiency in open source applications. Inform Softw Tech 54(1):60–71
jagroep.etal.2017.extendingsoftwarearchitecture (pg. 5)

In [9] ’Green Performance Indicators’ (GPIs) are proposed for these environments that, apart from EC measurements, require detailed performance monitoring to assign (portions of) the EC to specific software elements.

  1. Ferreira AM, Pernici B (2014) Managing the complex data center environment: an integrated energy aware framework. Computing. 1–41
jagroep.etal.2017.extendingsoftwarearchitecture (pg. 6)

An advantage of using the SA is to address concerns related to EC in an early stage of the software life cycle, namely during its design. Through the architecture, a product manager, that determines the strategic direction (including green goals) for a product [8], has a means to address his concerns in the product design [31] and determine whether the desired quality of service is achieved [19]. From an organizational perspective such an approach emphasizes the role that green software can play in reaching sustainability goals. On this level, green software has the potential to reduce the operational costs related to a software product, enabling sustainability on the economical dimension [7].

  1. Chasin F (2014) Sustainability: are we all talking about the same thing state-of-the-art and proposals for an integrative definition of sustainability in information systems. In: ICT for sustainability 2014 (ICT4S-14), Atlantis Press
  2. Ebert C, Brinkkemper S (2014) Software product management an industry evaluation. J Syst Softw 95:10–18. doi:10.1016/j.jss.2013.12.042
  3. Kritikos K, Pernici B, Plebani P, Cappiello C, Comuzzi M, Benrernou S, Brandic I, Kertész A, Parkin M, Carro M (2013) A survey on service quality description. ACM Comput Surv 46(1):1–58. doi:10. 1145/2522968.2522969
  4. Rozanski N, Woods E (2011) Software systems architecture: working with stakeholders using viewpoints and perspectives. Addison-Wesley Professional, Upper Saddle River
jagroep.etal.2017.extendingsoftwarearchitecture (pg. 7)

From literature study [4,11,16–18], software utilization, energy usage and workload energy were distilled as potential quality properties: – Software utilization is the degree to which resources specifically utilized on the account of a software product meet requirements. – Energy usage is the degree to which the amount of energy used by a software product meets requirements. – Workload energy is the degree to which the EC related to performing a specific task using a software product meets requirements. The first two properties represent the low-level measurements, whereas the latter is used to characterize a software product in such a way that it facilitates discussion between stakeholders [11].

  1. Bozzelli P, Gu Q, Lago P (2013) A systematic literature review on green software metrics. Technical report. http://www.sis.uta.fi/~pt/TIEA5_Thesis_Course/Session_10_2013_02_18/ SLR_GreenMetrics.pdf
  2. Grosskop K, Visser J (2013) Identification of application-level energy optimizations. In: Proceeding of ICT for sustainability (ICT4S), pp 101–107
  3. Kalaitzoglou G, Bruntink M, Visser J (2014) A practical model for evaluating the energy efficiency of software applications. In: ICT for Sust. 2014 (ICT4S-14). Atlantis Press
  4. Kern E, Dick M, Naumann S, Guldner A, Johann T (2013) Green software and green software engineering—definitions, measurements, and quality aspects. J Inf Comm Tech 87
  5. Kipp A, Jiang T, Fugini M, Salomie I (2012) Layered green performance indicators. Future Gener Comput Syst 28(2):478–489. doi:10.1016/j.future.2011.05.005

jagroep.etal.2017.extendingsoftwarearchitecture (pg. 8)

In Table 1 a list is proposed of the quality properties, measures and measure elements identified for the ‘resource consumption’ subcharacteristic, including a definition of the quality measure and a measurement function containing quality measure elements. For example, the task energy consumption quality measure (measure for the energy consumed while performing a task) is calculated by subtracting the idle EC from the EC while operating and divide by the number of tasks performed.Asthelistisa starting point and by no means definitive, it could be changed or extended based on new insights.

jagroep.etal.2017.extendingsoftwarearchitecture (pg. 9)

To increase the applicability of the measures, we decided to provide quality measure elements that can be either directly measured or derived from the total EC. For the measurement method this implies that performance monitoring tooling is required, ideally on the level of individual hardware components and processes, as well as tooling to perform EC measurements. For the latter both software and hardware solutions exist, capable of measuring at least the total power or EC for a system. Combining measurements from these sources in the measurement functions, provides the required information to quantify the subcharacteristics. Applying the measurement method might require more effort as environments become more complex. Shared resources, for example, require detailed performance measurements to allocate EC to specific instances of software.

jagroep.etal.2017.extendingsoftwarearchitecture (pg. 9)

A concrete trade-off related to EC is on the balance between demand and supply in resource allocation [39]. If more computational resources are available than required for a task, this should not automatically mean that extra resource should be assigned to this task (i.e. sustainability versus performance).

  1. Zhu HS, Lin C, Liu YD (2015) A programming model for sustainable software. ICS
jagroep.etal.2017.extendingsoftwarearchitecture (pg. 14)

To address concerns for a software product on the level of the SA, tactics are applied. A tactic is a decision that influences the control of a QA [2] and is a design option that helps the architect in realizing a desired property for a system.

  1. Bass L, Clements P, Kazman R (2012) Software architecture in practice. SEI series in software engineering. Pearson Education, Upper Saddle River
    @Bass.etal.2021.SoftwareArchitecturePractice
jagroep.etal.2017.extendingsoftwarearchitecture (pg. 15)

In [29] a catalog is presented consisting of the energy monitoring, self-adaptation and cloud federation categories. The categories are aimed at respectively collecting power consumption information on infrastructure and software component level, optimizing during run-time and finding the most energy efficient services to perform a task, and include several tactics that address energy efficiency in the cloud.

  1. Procaccianti G, Lago P, Lewis GA (2014) A catalogue of green architectural tactics for the cloud. In: Maint. and Evol. of service-oriented and cloud-based systems (MESOCA), 2014 IEEE 8th Int’l Symp. on the, pp 29–36. doi:10.1109/MESOCA.2014.12
jagroep.etal.2017.extendingsoftwarearchitecture (pg. 15)

In terms of database calls, software consisting of fewer modules could require less calls while significantly more data is transferred per call. When software consists of more modules, an increase in database calls could be observed with the potential that less data is transferred per call, i.e. the calls are more fitted to the process at hand. In this case less CPU capacity is required for processing the call, lowering the EC per call.

jagroep.etal.2017.extendingsoftwarearchitecture (pg. 15)

Although modularity can positively affect the EC of software [35], more modules also implies a higher communication load. When the number of modules increases, depending on the deployment, the communication load that is induced on the infrastructure also increases.

  1. te Brinke S, Malakuti S, Bockisch C, Bergmans L, Ak ̧ sit M (2013) A design method for modular energy-aware software. In: Proceedings of the 28th annual ACM symposium on applied computing. ACM, pp 1180–1182
jagroep.etal.2017.extendingsoftwarearchitecture (pg. 15)

Ineffective use of hardware is a common source for energy inefficiency and is one of the triggers to consolidate the number of active servers within a data center. From an EC point of view there is less hardware in absolute terms reducing the idle energy consumption and the available hardware is used more effectively.

jagroep.etal.2017.extendingsoftwarearchitecture (pg. 15)

Concurrency architecture variation [38]
In this specific case the Half Synchronous/Half Asynchronous and the Leader/Followers concurrency architectures are compared and a significant difference was found in the advantage of the first.

  1. Zhong B, Feng M, Lung CH (2010) A green computing based architecture comparison and analysis. In: Proceedings of the 2010 IEEE/ACM Int’l Conference on green computing and communications & Int’l Conference on Cyber, Physical and Social Computing. IEEE computer society, pp 386–391
jagroep.etal.2017.extendingsoftwarearchitecture (pg. 19)

As an initial validation of the perspective, a case study was performed in which the perspective was applied to a commercial software product. The energy profile that was created directed us to the architectural element that was the main driver behind the EC and through an architectural change we managed to reduce the energy consumption of DG with 67.1 % per generated document. Considering the frequency at which this task is performed and the number of DG deployments, the savings could add up significantly from an organizational dimension.

📑 Annotations (imported on 2023-08-01#21:05:33)

jagroep.etal.2017.extendingsoftwarearchitecture (comment) (pg. 15)

Green architectural tactics:

  • Increase modularity
  • Network load optimization
  • Increase hardware utilization
  • Concurrency architecture variation