Model-Based Energy Efficiency Analysis of Software Architectures

Design-time quality analysis of software architectures evaluates the impact of design decisions in quality dimensions such as performance. Architectural design decisions decisively impact the energy efficiency (EE) of software systems. Low EE not only results in higher operational cost due to power consumption. It indirectly necessitates additional capacity in the power distribution infrastructure of the target deployment environment. Methodologies that analyze EE of software systems are yet to reach an abstraction suited for architecture-level reasoning. This paper outlines a model-based approach for evaluating the EE of software architectures. First, we present a model that describes the central power consumption characteristics of a software system. We couple the model with an existing model-based performance prediction approach to evaluate the consumption characteristics of a software architecture in varying usage contexts. Several experiments show the accuracy of our architecture-level consumption predictions. Energy consumption predictions reach an error of less than 5.5% for stable and 3.7% for varying workloads. Finally, we present a round-trip design scenario that illustrates how the explicit consideration of EE supports software architects in making informed trade-off decisions between performance and EE.

[1]  Albert G. Greenberg,et al.  The cost of a cloud: research problems in data center networks , 2008, CCRV.

[2]  Luiz André Barroso,et al.  The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines, Second Edition , 2013, The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines, Second Edition.

[3]  Grace A. Lewis,et al.  Green Architectural Tactics for the Cloud , 2014, 2014 IEEE/IFIP Conference on Software Architecture.

[4]  Jan Weglarz,et al.  DCworms - A tool for simulation of energy efficiency in distributed computing infrastructures , 2013, Simul. Model. Pract. Theory.

[5]  Vanish Talwar,et al.  No "power" struggles: coordinated multi-level power management for the data center , 2008, ASPLOS.

[6]  Rajkumar Buyya,et al.  CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms , 2011, Softw. Pract. Exp..

[7]  Heiko Koziolek,et al.  From monolithic to component-based performance evaluation of software architectures , 2010, Empirical Software Engineering.

[8]  Lars Grunske,et al.  Architecture-Driven Reliability and Energy Optimization for Complex Embedded Systems , 2010, QoSA.

[9]  Wolfgang Nebel,et al.  A Data Center Simulation Framework Based on an Ontological Foundation , 2014, EnviroInfo.

[10]  Steffen Becker,et al.  SimuLizar: Design-Time Modeling and Performance Analysis of Self-Adaptive Systems , 2013, Software Engineering.

[11]  Lizy Kurian John,et al.  Complete System Power Estimation Using Processor Performance Events , 2012, IEEE Transactions on Computers.

[12]  Anne Koziolek,et al.  Towards Modeling and Analysis of Power Consumption of Self-Adaptive Software Systems in Palladio , 2014, SoSP.

[13]  Sam Malek,et al.  A Framework for Estimating the Impact of a Distributed Software System's Architectural Style on its Energy Consumption , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[14]  Luiz André Barroso,et al.  The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines , 2009, The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines.

[15]  Helmut Krcmar,et al.  Using architecture-level performance models as resource profiles for enterprise applications , 2014, QoSA '14.

[16]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..

[17]  Giovanni Giuliani,et al.  A methodology to predict the power consumption of servers in data centres , 2011, e-Energy.

[18]  Feng Zhao,et al.  Virtual machine power metering and provisioning , 2010, SoCC '10.

[19]  Christoforos E. Kozyrakis,et al.  A Comparison of High-Level Full-System Power Models , 2008, HotPower.

[20]  Margaret Martonosi,et al.  Runtime power monitoring in high-end processors: methodology and empirical data , 2003, Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003. MICRO-36..

[21]  Wolf-Dietrich Weber,et al.  Power provisioning for a warehouse-sized computer , 2007, ISCA '07.