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
Energy Efficiency Embedded Service Lifecycle: Towards
an Energy Efficient Cloud Computing Architecture
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
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. 0 500 1000 1500 2000 2500
Data Centers Telecoms Total Cloud
Electricity Consumption (Billion kWh)
2007 2020 Projections of growth in Cloud Computing electricity consumption emissions by 2020
Energy Awareness across Cloud Layers
Cloud resources
Virtual Machine (VM), VM Management and Deployment
QoS Negotiation, Admission Control, Pricing, SLA Management, Monitoring, Execution Management, Metering, Accounting, Billing
Cloud Programming Models Cloud applications Clou d Stack A dap tiv e Managemen t Core Middleware User-Level Middleware System level User level En er gy Effic ie ncy
Cloud Service Life Cycle
5
Energy use is of relevance across all software design and implementation layers: Design/development, construction, deployment, operation
Cloud application Programming model/Service construction Service deployment Service operation Evaluation Energy Efficiency Metrics/M od els SLA SLA KPIs KPIs KPIs
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
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• 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
IDE
Energy Profiler
(Y2)
KPI Definition Repository Requirements Management Tool
Cloud Service Architecture and Design Tooling
Static Code Analyser
(Y2)
Hotspot Identifier
Energy Goal Repository Annotation Repository Design Pattern
Repository
Application Package Manager
VM Image Constructor Application Descriptor Tool Application Profile Application Packager Programming Model Packager Application Uploader Static Code Analyser Plug-in (Y2) Energy Profiler Plug-in (Y2) Programming Model Runtime Library Design Tool Plug-in Requirements Plug-in Programming Model Plug-in Programming Model
Software Design & SaaS
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
Cloud resources
Virtual Machine (VM), VM Management and Deployment
QoS Negotiation, Admission Control, Pricing, SLA Management, Monitoring, Execution Management, Metering, Accounting, Billing
Cloud programming: environments and tools
Interfaces, Concurrent and Distributed Programming, Workflows, Libraries, Scripting
Cloud applications
Apps Hosting Platforms
Energy-Aware Software Design and
Programming IE Service Energy Measurement and
Modelling tool QoS Energy Aware
Framework Service deployment tool Service operation tool
ASCETiC Outcomes
Achievements and next steps
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
ASCETiC architecture (year 1) – currently being implemented on cloud
testbed
― architectural roles, scope and interfaces of ASCETiC components ― components’ communication patterns
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