Green Software Engineering Prof

Slides:



Advertisements
Similar presentations
Introduction CSCI 444/544 Operating Systems Fall 2008.
Advertisements

Lecture 2: Modern Trends 1. 2 Microprocessor Performance Only 7% improvement in memory performance every year! 50% improvement in microprocessor performance.
Laboratory of ecosystem management Impact and effects of ICT systems: approaches and results Budapest, 2003 Yves Loerincik, Sangwon Suh, Christophe Matas,
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
1 Software Testing and Quality Assurance Lecture 40 – Software Quality Assurance.
1 Lecture 1: CS/ECE 3810 Introduction Today’s topics:  logistics  why computer organization is important  modern trends.
Author: D. Brooks, V.Tiwari and M. Martonosi Reviewer: Junxia Ma
Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
© 2009 IBM Corporation Let’s Build a Smarter Planet Thongchai Watanasoponwong – Country Manager Power Systems, STG September 15 th, 2009 Green IT เทคโนโลยีสีเขียวเพื่อสิ่งแวดล้อม.
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
COP 3530 PROGRAM, FILE & DATA STRUCTURES Syllabus Syllabus Lab Information Lab Information Overrides Overrides Questions? Questions?
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
A performance evaluation approach openModeller: A Framework for species distribution Modelling.
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Embedded System Lab. 정범종 A_DRM: Architecture-aware Distributed Resource Management of Virtualized Clusters H. Wang et al. VEE, 2015.
Energy-Aware Resource Adaptation in Tessellation OS 3. Space-time Partitioning and Two-level Scheduling David Chou, Gage Eads Par Lab, CS Division, UC.
Overview and Comparison of Software Tools for Power Management in Data Centers Msc. Enida Sheme Acad. Neki Frasheri Polytechnic University of Tirana Albania.
Accounting for Load Variation in Energy-Efficient Data Centers
1 WRB 09/02 HPEC Lincoln Lab Sept 2002 Poster B: Software Technologies andSystems W. Robert Bernecky Naval Undersea Warfare Center Ph: (401) Fax:
CMSC 611: Advanced Computer Architecture Performance & Benchmarks Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some.
Low Carbon Virtual Private Clouds Fereydoun Farrahi Moghaddam, Mohamed Cheriet, Kim Khoa Nguyen Synchromedia Laboratory Ecole de technologie superieure,
LIOProf: Exposing Lustre File System Behavior for I/O Middleware
Resource Optimization for Publisher/Subscriber-based Avionics Systems Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee.
VU-Advanced Computer Architecture Lecture 1-Introduction 1 Advanced Computer Architecture CS 704 Advanced Computer Architecture Lecture 1.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
CSE 340 Computer Architecture Summer 2016 Understanding Performance.
Chapter 1: Roles and Opportunities for Information Technology in Meeting Sustainability Challenges Helynranta Viola Parkkila Vilma
Computer Organization and Architecture Lecture 1 : Introduction
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
OPERATING SYSTEMS CS 3502 Fall 2017
Chapter 1- Introduction
Power Management in Embedded Systems
Current Generation Hypervisor Type 1 Type 2.
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Green cloud computing 2 Cs 595 Lecture 15.
How do we evaluate computer architectures?
Power Management 'res publica'
Architecture & Organization 1
System Control based Renewable Energy Resources in Smart Grid Consumer
The Extensible Tool-chain for Evaluation of Architectural Models
Hui Chen, Shinan Wang and Weisong Shi Wayne State University
Background Energy efficiency is a critical issue for mobile device.
Architecture & Organization 1
Performance Optimization for Embedded Software
Virtualization Techniques
Carla Ellis Duke University
CMSC 611: Advanced Computer Architecture
Adaptive Code Unloading for Resource-Constrained JVMs
MICROPROCESSOR MEMORY ORGANIZATION
Tools.
Ghifar Parahyangan Catholic University August 22, 2011
Chapter 1 Introduction.
Chapter 7 –Implementation Issues
Architecture & System Performance
Tools.
Chapter 1 Introduction.
Automated Analysis and Code Generation for Domain-Specific Models
CMSC 611: Advanced Computer Architecture
Performance Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Computer Architecture
Adaptive Traffic Control
In Today’s Class.. General Kernel Responsibilities Kernel Organization
From Use Cases to Implementation
Chapter 4 The Von Neumann Model
Presentation transcript:

Green Software Engineering Prof Green Software Engineering Prof. Dr Anirban Basu President, (2016-17) Computer Society of India abasu@pqrsoftware.com

Background   . Global warming, and environmental hazards are becoming subjects of great concern. The increasing amount of the energy consumption of today’s IT solutions significantly contributes to green house gas emissions. “Green Computing” or “Green IT” emphasizes on the need for reducing the environmental impacts of IT solutions by reducing their energy consumption and their green house gas emissions. ICT contributes to 8% of global energy consumption and it is expected to increase to 40% by 2030 Most of the hardware systems have significant software components. Although the software systems do not consume energy directly, they affect the hardware utilization, leading to indirect energy consumption. It is essential to engineer the software to optimize its energy consumption and a new subject called Green Software Engineering has emerged to increase energy efficiency in computer systems.

What is Green Software Engineering? Greenness in the software is an emerging quality attribute that must be taken into the account in each phase of the software development process at each level of the IT system from the application level via middle-ware to operating system and hardware. Achieving greenness by software requires methods and techniques that support finding, realizing, and measuring software solutions that make infrastructure smarter, virtualize processes, or use new solutions. Typical examples are applications that help to reduce energy consumption in facility management, in production, and in mobile and embedded systems. The analysis of all factors that have an environmental impact and the search for the optimal trade-off therefore has to be included in software development methods

Energy rating of Software is missing!

Energy Consumption of ICT

Cause of Energy Consumption In stand by mode, energy consumption is primarily due to leakage current and to reduced switching of transistors During execution, energy consumption is indirectly due to the complexity in the program execution due to ALU operations and access of data. To reduce the power consumption in software, the complexity of the program, as well as time and frequency of data access have to be reduced

Energy Consumption of Software Energy consumption in computer software Static Energy consumption of computer in standby mode Dynamic Energy consumption during executing a program Energy consumed by Software alone= Dynamic Energy consumption during executing a program- Static Energy Consumption of computer in standby mode

Challenges in Green Software Engineering Methods and techniques to elicit and model green-ness requirements Methods and techniques to identify and analyze the trade-offs among the greenness requirements themselves and other quality attributes Methods and techniques to model and analyze the greenness attributes of software architecture and their trade-offs Develop Green compilers to generate energy-optimized code Methods and techniques to reflect the greenness requirements in the test scenarios Methods and techniques to monitor the greenness attributes of software during its operational phase Metrics for assessing the greenness of software

Required Parameters in SDLC Requirement elicitation phase: Methods and tools to elicit and model greenness requirements Methods and tools to identify and analyze the trade-offs among the functional requirements, greenness requirements and other quality attributes Architectural design phase: Methods and tools to model greenness attributes of software architecture Methods and tools to analyze the trade-offs among the functional requirements, greenness attributes and other quality attributes Metrics to evaluate the greenness of software architecture Methods and tools to trace greenness attributes to the greenness requirements Dedicated architectural patterns to achieve green software Refactoring methods for energy saving

Required Parameters in SDLC Implementation phase (Domain-specific) languages to implement greener software Compilation methods to achieve greener software IDE support to guide programmers in implementing greener software Refactoring methods to make legacy software greener Methods and tools to measure the greenness of implementations Testing phase Methods and tools to generate test scenarios to assess the greenness of software Energy profiling techniques

Required Parameters in SDLC Operational phase: Methods and tools to monitor the greenness attributes Methods and tools to dynamically adapt the software to fulfil its greenness attributes Methods and tools to profile energy consumption and to carbon foot printing Metrics to identify energy hotspots

Improving Energy Efficiency Four approaches have been followed for improving energy efficiency Developing a model for energy consumption in a computer system Using temperature sensors for measuring energy dissipation in hardware (Blackbox measurement) Using software tools for measuring energy consumption during executing a software application (whitebox measurement) Design energy efficient algorithms and applications.

Measurement Techniques

A Laboratory for GSE A lab has been set up with Government funding A model has been developed on energy consumption and is being validated. Software tools (jRAPL and Joulemeter) are being used to carry out measurements on power consumption of computer applications Hardware sensors have been procured and are being used for temperature measurement Detailed analysis is being done on causes of energy consumption and on ways for reducing it.

Measuring Energy Consumption by Modeling The energy usage is measured by monitoring the energy consumption of resources namely CPU, Cache, DRAM, Hard disk, Network and other switch components The energy equation is based on OS utilization and Performance Counters. The values of resource utilization about CPU, Cache, DRAM and Disk are obtained from Performance Counters.

Equation for Power Consumption The power equation based on the hardware resources gives better accuracy as it includes power consumption of the network components (network interface cards etc.) and switch components (the chassis, line cards, ports). P=k0 + (k1*PCPU) + (k2*Pcache) + (k3*PDRAM) + (k4*PDisk) + (k5*PNetcomp) + (k6*Pswitchcomp) where PCPU is CPU Utilization Pcache is Power consumed for Cache memory accesses , PDRAM is Power consumed for DRAM memory accesses, PDisk = Power consumed for Hard disk I/O accesses, PNetcomp= Power consumed for Network I/O , Pswitchcomp= Power consumed by Switching components The values of k0 (constant power) and k1,k2,k3, k4,k5, and k6 are obtained by measurement.

Equation for Power Consumption If Psysmax is the maximum power consumed when the system is fully utilized; k is the fraction of power consumed by the idle system u is the CPU utilization, r is DRAM access count, d is Hard disk I/O accesses, c is the Cache memory accesses , n is the Network I/O accesses s is switch components accesses then Power consumed = k.Psysmax + (1-k).Psysmax*u*r*d*c*n*s We define the total system power as a function of the utilization of CPU, Cache, DRAM, Hard disk, Network components and Switch components. Psysmax is 250 W, which is the normal value for modern systems. The utilization of the CPU, DRAM and Hard disk, Cache, Network components, Switch components may change over time due to workload variability.

White Box Measurement Monitoring Tool Instrumented Software Execute on a computer Monitoring Tool Instrumented Software

U Joulemeter

jRAPL- Screenshot

Comparison of Power Consumption

Work Bench for Blackbox Measurements Temperature sensor Ambient light sensors Proximity sensors Barometric pressure sensors Motion sensors Touch sensors Etc.

Sensors Used

Energy Consumption in Mobile Communication

Thank you