Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture On behalf of the ASCETiC Consortium Project Number 610874 Instrument Collaborative Project Start Date 01/10/2013 Duration 36 months Thematic Priority ICT-2009.1.2 Internet of Services, Software and Virtualisation Karim Djemame Scientific and Technical Manager
Why ASCETiC? Existing infrastructures, middleware and service applications are not built with energy awareness in mind So can we relate software design and energy use in operation? Energy efficient service application at requirements/design stage? Service application instrumented to cooperate with novel software, platform, and infrastructure components? Our context: Cloud-based services Emergence of cloud computing with its emphasis on shared software components which are likely to be used and reused many times in many different applications Imperative that the software to be developed is as energy efficient as it possibly can be.
Research Focus Identification of the missing functionalities to support energy efficiency across all cloud layers Definition and integration of explicit measures of energy and ecological requirements into the design and development process for software. 2500 Electricity Consumption (Billion kwh) Projections of growth in Cloud Computing electricity consumption emissions by 2020 2000 1500 1000 500 2007 2020 0 Data Centers Telecoms Total Cloud Predicts 2012: Cloud Computing Is Becoming a Reality. Gartner Report, December 2011
Energy Awareness across Cloud Layers User level Cloud applications User-Level Middleware Core Middleware QoS Negotiation, Admission Control, Pricing, SLA Management, Monitoring, Execution Management, Metering, Accounting, Billing Cloud resources Cloud Programming Models Apps Hosting Platforms Virtual Machine (VM), VM Management and Deployment Cloud Stack Adaptive Management Energy Efficiency System level
Cloud Service Life Cycle Cloud application Programming model/service construction SLA Service deployment SLA KPIs KPIs Service operation KPIs Energy Efficiency Metrics/Models Evaluation 5 Energy use is of relevance across all software design and implementation layers: Design/development, construction, deployment, operation
Dealing with Energy Requirements Energy requirements together with other types or requirements need to be managed across design stage run-time stage Research questions that need to be addressed normalisation of energy measurements mapping between hardware, VM and software level management of Key Performance Indicators (KPIs) of contributing/conflicting goals identification of variability points available for (self)-adaptation.
Solution: Reference Architecture Integrate energy efficiency into service construction, deployment, and operation leading to an Energy Efficiency Embedded Software Lifecycle Via reference implemented architecture for an Energy Efficient Cloud Key benefits: Self-Adaptive Intra and inter layer adaptation Self optimizing
Software Design & SaaS IDE Requirements Plug-in Design Tool Plug-in Programming Model Plug-in Programming Model Energy Profiler Plug-in (Y2) Static Code Analyser Plug-in (Y2) Cloud Service Architecture and Design Tooling Energy Profiler (Y2) Static Code Analyser (Y2) Application Package Manager Annotation Repository Hotspot Identifier Application Packager Programming Model Runtime Library Design Pattern Repository Programming Model Packager Application Descriptor Tool Requirements Management Tool Energy Goal Repository KPI Definition Repository Application Uploader Application Profile VM Image Constructor Combine energy-awareness with the principles of requirements engineering and design modeling to enable a self-adaptive software systems Use specified energy goals and requirements to evaluate the energy efficiency" of an application Adapt accordingly across all layers and life cycle phases
Service Deployment and PaaS
Service Operation and IaaS
UML & Energy Awareness In the process of developing Eclipse Papyrus plug-in Enable modelling of energy at design time Express the need to measure an application feature Express initial monitoring need on a UML Use Case Diagram: Refine what exactly to measure on a Component Diagram Finally Identify the exact Classes & Methods to monitor Express the need to measure a component (software or hardware) e.g., All processes in VM Express monitoring need on the right element of a Deployment diagram
Example: Express Energy Measurement Needs with Augmented UML in Deployment Diagrams Deployment Element on VM with DB Annotated with UML Stereotype KPI = Hard/Software on which SaaS Developers would like to have Energy Measurements
ASCETiC Outcomes Cloud applications Energy-Aware Software Design and Programming IE Cloud programming: environments and tools Service Energy Interfaces, Concurrent and Distributed Programming, Workflows, Libraries, Scripting Measurement and Modelling tool Apps Hosting Platforms QoS Negotiation, Admission Control, Pricing, SLA Management, Monitoring, QoS Energy Aware Execution Management, Metering, Accounting, Billing Framework Virtual Machine (VM), VM Management and Deployment Service deployment tool Cloud resources Service operation tool
Achievements and next steps ASCETiC architecture (year 1) currently being implemented on cloud testbed architectural roles, scope and interfaces of ASCETiC components components communication patterns SaaS, PaaS and IaaS layers Iteration 1 (Year 1): Static Energy-Efficiency delivering energy awareness in all system components Monitoring and metrics information will be measured at IaaS level Propagated through the various layers of the Cloud stack (PaaS, SaaS) considering static energy profiles. Year 1 prototype: release planned November 2014
Thank you for your attention Ascetic Website: www.ascetic.eu Contact: ana.juanf@atos.net Project Number 610874 Instrument Collaborative Project Start Date 01/10/2013 Duration 36 months Thematic Priority ICT-2009.1.2 Internet of Services, Software and Virtualisation