Linux: Understanding Process-Level Power Consumption

Similar documents
A Preliminary Study of the Impact of Software Engineering on GreenIT

Tacked Link List - An Improved Linked List for Advance Resource Reservation

BoxPlot++ Zeina Azmeh, Fady Hamoui, Marianne Huchard. To cite this version: HAL Id: lirmm

Fault-Tolerant Storage Servers for the Databases of Redundant Web Servers in a Computing Grid

Multimedia CTI Services for Telecommunication Systems

Relabeling nodes according to the structure of the graph

Mokka, main guidelines and future

Setup of epiphytic assistance systems with SEPIA

Service Reconfiguration in the DANAH Assistive System

X-Kaapi C programming interface

Blind Browsing on Hand-Held Devices: Touching the Web... to Understand it Better

Assisted Policy Management for SPARQL Endpoints Access Control

Every 3-connected, essentially 11-connected line graph is hamiltonian

FIT IoT-LAB: The Largest IoT Open Experimental Testbed

HySCaS: Hybrid Stereoscopic Calibration Software

Quality of Service Enhancement by Using an Integer Bloom Filter Based Data Deduplication Mechanism in the Cloud Storage Environment

Self-optimisation using runtime code generation for Wireless Sensor Networks Internet-of-Things

DANCer: Dynamic Attributed Network with Community Structure Generator

Comparator: A Tool for Quantifying Behavioural Compatibility

Modularity for Java and How OSGi Can Help

Application of RMAN Backup Technology in the Agricultural Products Wholesale Market System

How to simulate a volume-controlled flooding with mathematical morphology operators?

Monitoring Air Quality in Korea s Metropolises on Ultra-High Resolution Wall-Sized Displays

Scan chain encryption in Test Standards

ASAP.V2 and ASAP.V3: Sequential optimization of an Algorithm Selector and a Scheduler

An Experimental Assessment of the 2D Visibility Complex

Reverse-engineering of UML 2.0 Sequence Diagrams from Execution Traces

Branch-and-price algorithms for the Bi-Objective Vehicle Routing Problem with Time Windows

A Voronoi-Based Hybrid Meshing Method

UsiXML Extension for Awareness Support

A Resource Discovery Algorithm in Mobile Grid Computing based on IP-paging Scheme

An SCA-Based Middleware Platform for Mobile Devices

A N-dimensional Stochastic Control Algorithm for Electricity Asset Management on PC cluster and Blue Gene Supercomputer

Real-Time Collision Detection for Dynamic Virtual Environments

Change Detection System for the Maintenance of Automated Testing

An FCA Framework for Knowledge Discovery in SPARQL Query Answers

Linked data from your pocket: The Android RDFContentProvider

Real-time FEM based control of soft surgical robots

BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs

Study on Feebly Open Set with Respect to an Ideal Topological Spaces

Comparison of spatial indexes

QuickRanking: Fast Algorithm For Sorting And Ranking Data

Very Tight Coupling between LTE and WiFi: a Practical Analysis

Natural Language Based User Interface for On-Demand Service Composition

SIM-Mee - Mobilizing your social network

Regularization parameter estimation for non-negative hyperspectral image deconvolution:supplementary material

The New Territory of Lightweight Security in a Cloud Computing Environment

Zigbee Wireless Sensor Network Nodes Deployment Strategy for Digital Agricultural Data Acquisition

Comparison of radiosity and ray-tracing methods for coupled rooms

Temperature measurement in the Intel CoreTM Duo Processor

Decentralised and Privacy-Aware Learning of Traversal Time Models

YANG-Based Configuration Modeling - The SecSIP IPS Case Study

YAM++ : A multi-strategy based approach for Ontology matching task

Structuring the First Steps of Requirements Elicitation

XBenchMatch: a Benchmark for XML Schema Matching Tools

KeyGlasses : Semi-transparent keys to optimize text input on virtual keyboard

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs

Malware models for network and service management

A Methodology for Improving Software Design Lifecycle in Embedded Control Systems

Stream Ciphers: A Practical Solution for Efficient Homomorphic-Ciphertext Compression

Taking Benefit from the User Density in Large Cities for Delivering SMS

Framework for Hierarchical and Distributed Smart Grid Management

From medical imaging to numerical simulations

Representation of Finite Games as Network Congestion Games

DSM GENERATION FROM STEREOSCOPIC IMAGERY FOR DAMAGE MAPPING, APPLICATION ON THE TOHOKU TSUNAMI

IntroClassJava: A Benchmark of 297 Small and Buggy Java Programs

Robust IP and UDP-lite header recovery for packetized multimedia transmission

Synthesis of fixed-point programs: the case of matrix multiplication

Catalogue of architectural patterns characterized by constraint components, Version 1.0

Scalewelis: a Scalable Query-based Faceted Search System on Top of SPARQL Endpoints

A Short SPAN+AVISPA Tutorial

Mapping classifications and linking related classes through SciGator, a DDC-based browsing library interface

NP versus PSPACE. Frank Vega. To cite this version: HAL Id: hal

QAKiS: an Open Domain QA System based on Relational Patterns

Light field video dataset captured by a R8 Raytrix camera (with disparity maps)

Hardware Acceleration for Measurements in 100 Gb/s Networks

The optimal routing of augmented cubes.

The Connectivity Order of Links

LaHC at CLEF 2015 SBS Lab

Deformetrica: a software for statistical analysis of anatomical shapes

FStream: a decentralized and social music streamer

Kernel perfect and critical kernel imperfect digraphs structure

MUTE: A Peer-to-Peer Web-based Real-time Collaborative Editor

A New Method for Mining High Average Utility Itemsets

The Sissy Electro-thermal Simulation System - Based on Modern Software Technologies

A 64-Kbytes ITTAGE indirect branch predictor

Reconfigurable Run-Time Support for Distributed Service Component Architectures

A million pixels, a million polygons: which is heavier?

Simulations of VANET Scenarios with OPNET and SUMO

Is GPU the future of Scientific Computing?

Real-Time and Resilient Intrusion Detection: A Flow-Based Approach

lambda-min Decoding Algorithm of Regular and Irregular LDPC Codes

Efficient implementation of interval matrix multiplication

Computing and maximizing the exact reliability of wireless backhaul networks

Technical Overview of F-Interop

SDLS: a Matlab package for solving conic least-squares problems

Visualization of Virtual Plants Growth Based on Open L-System

An Efficient Numerical Inverse Scattering Algorithm for Generalized Zakharov-Shabat Equations with Two Potential Functions

Emerging and scripted roles in computer-supported collaborative learning

Fuzzy sensor for the perception of colour

Transcription:

Linux: Understanding Process-Level Power Consumption Aurélien Bourdon, Adel Noureddine, Romain Rouvoy, Lionel Seinturier To cite this version: Aurélien Bourdon, Adel Noureddine, Romain Rouvoy, Lionel Seinturier. Linux: Understanding Process-Level Power Consumption. Green Computing Middleware (GCM 2011), Dec 2011, Lisbonne, Portugal. 2011. <hal-00641706> HAL Id: hal-00641706 https://hal.inria.fr/hal-00641706 Submitted on 13 Dec 2011 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Linux: Understanding Process-Level Power Consumption Aurélien Bourdon Adel Noureddine Romain Rouvoy Lionel Seinturier firstname.lastname@inria.fr Green Computing Middleware 11 December 12th 2011

Outline IT & Energy issue Software energy monitoring powerapi Synthesis Linux: Understanding Process-Level Power Consumption 2

Information Technologies & Energy issue Linux: Understanding Process-Level Power Consumption 3

IT & Energy 2% World wide carbon emission Gartner group report 13% 8x French electricity consumption French ministries. IT & Sustainable Development report 8x 10% increase by year, over the past 10 years Linux: Understanding Process-Level Power Consumption 4

Eco-Indicator 99 points IT: Where is the energy consumed? Life Cycle Assessment (LCA) for a common PC 45 30 15 0-15 -30 Manufacturing Distribution Use End of Life Human Health Ecosystem Quality Resources Duan & al. Life cycle assessment study of a Chinese desktop personal computer Linux: Understanding Process-Level Power Consumption 5

IT & Energy: Towards a software concern Hardware optimizations but not software Energy intelligence software is out of software Software is not energy aware by design Software has to be energy aware Tools which could help developers to visualize energy consumption Discover new green development methodologies Linux: Understanding Process-Level Power Consumption 6

Software energy monitoring Linux: Understanding Process-Level Power Consumption 7

State-of-the-art PowerTop There are not reusable libraries JouleMeter Not easy to support platform interoperability ptop Development is over Manual calibration EnergyChecker Requires external device Linux: Understanding Process-Level Power Consumption 8

Our solution: powerapi Linux: Understanding Process-Level Power Consumption 9

Architecture overview Energy module = Process(es) energy profiler through a specific hardware component Energy module Formula Sensor F CPU S CPU As many sensors as there are specific environments Linux: Understanding Process-Level Power Consumption 10

Architecture overview Application Formulae Sensors DB F CPU S CPU F Memory S Memory F Network S Network F S Life cycle System Linux: Understanding Process-Level Power Consumption 11

Architecture benefits Modular approach, easy to extend Interoperability Adaptation to the execution platform, auto-calibration Adaptation to the application needs Linux: Understanding Process-Level Power Consumption 12

How does it work? CPU case study, Linux system Linux: Understanding Process-Level Power Consumption 13

How does it work? CPU case study 0 d (d) CPU P PID (d) P (d) CPU U PID CPU Process CPU power Global CPU power Process CPU usage Global CPU Power Process CPU Usage Static part Dynamic part Process CPU time Global CPU time Linux: Understanding Process-Level Power Consumption 14

How does it work? CPU case study f CPU P f, v CPU C v 2 [1] Static part Dynamic part [1] Ge & al. Improvement of Power-Performance Efficiency for High-End Computing Global CPU Power Process CPU Usage Static part Dynamic part Process CPU time Global CPU time Linux: Understanding Process-Level Power Consumption 15

How does it work? CPU case study Static part is made up of several constants hard to find out That s why we used constructor s Thermal Dissipation Power value P f TDP, v CPU TDP TDP 0.7 Rivoire & al. JouleSort: A Balanced Energy-Efficiency Benchmark C f P f CPU TDP TDP, v v TDP 2 TDP DB Global CPU Power Process CPU Usage Static part Dynamic part Process CPU time Global CPU time Linux: Understanding Process-Level Power Consumption 16

How does it work? CPU case study We need to have All frequencies used by CPU during the d period Correspondance table between a frequency and its voltage Global CPU Power Process CPU Usage Static part Dynamic part Process CPU time Global CPU time Linux: Understanding Process-Level Power Consumption 17

How does it work? CPU case study Frequencies used by CPU during d period cpu-freq-utils tool Correspondance table between frequency and voltage Constructor s data /sys/devices/system/cpu/ _ cpu[0-n]/ _ cpufreq/time_in_state 2,8 GHz 70722 ms 1,599 GHz 4477 ms 2,8 GHz 1.5 V 1,599 GHz 0.8 V DB Global CPU Power Process CPU Usage Static part Dynamic part Process CPU time Global CPU time Linux: Understanding Process-Level Power Consumption 18

How does it work? CPU case study 0 d P (d) (d) CPU U PID CPU Global CPU power Process CPU usage Global CPU Power Process CPU Usage Static part Dynamic part Process CPU time Global CPU time Linux: Understanding Process-Level Power Consumption 19

How does it work? CPU case study 0 d U PID (d) t PID (d) / t (d) CPU CPU CPU Process CPU usage Process CPU time Global CPU time Global CPU Power Process CPU Usage Static part Dynamic part Process CPU time Global CPU time Linux: Understanding Process-Level Power Consumption 20

How does it work? CPU case study Process CPU time Global CPU time procfs virtual file system /proc/[pid]/stat file /proc/stat file Sum of all kind of times (usertime, systemtime, blockingiotime ) Global CPU Power Process CPU Usage Static part Dynamic part Process CPU time Global CPU time Linux: Understanding Process-Level Power Consumption 21

How does it work? CPU case study 0 d (d) CPU P PID (d) P (d) CPU U PID CPU Process CPU power Global CPU power Process CPU usage Global CPU Power Process CPU Usage Static part Dynamic part Process CPU time Global CPU time Linux: Understanding Process-Level Power Consumption 22

Does it work? Validation Linux: Understanding Process-Level Power Consumption 23

Validation Dell Precision T3400 Ubuntu 11.10 generic (kernel version 3.0.4) Intel Core 2 Quad Q6600 (2.4 GHz) PowerSpy powermeter Linux: Understanding Process-Level Power Consumption 24

Validation Stress CPU stressor Mplayer movie player 4 cores 3 cores 2 cores 1 core Time lag due to different refresh times between powermeter and powerapi Linux: Understanding Process-Level Power Consumption 25

Validation Tomcat web server Jetty web server Stress period Stress period Linux: Understanding Process-Level Power Consumption 26

Conclusion & Perspectives Linux: Understanding Process-Level Power Consumption 27

Synthesis Need tools which could help developer to monitor software energy consumption Some libraries already exist but integration and evolution are difficult powerapi = Process-level energy sensor library with a modular and adaptive architecture We are working on new modules development (memory, disk ) Linux: Understanding Process-Level Power Consumption 28

Applications Some applications already exist Process-level energy consumption visualizations Monitoring and profiling Java applications at runtime (esurgeon) Linux: Understanding Process-Level Power Consumption 29

Thank you! Linux: Understanding Process-Level Power Consumption Aurélien Bourdon Adel Noureddine Romain Rouvoy Lionel Seinturier firstname.lastname@inria.fr Green Computing Middleware 11 December 12th 2011

Backup slides

Architecture overview, current state Application Formulae Sensors DB F CPU S CPU F Memory S Memory F Network S Network F S Life cycle System Linux: Understanding Process-Level Power Consumption 32

CPU power consumption formula, P f v CPU C f v 2 P f TDP, v CPU TDP TDP 0.7 TDP TDP 0.7 2 0.7 C f TDP vtdp 2 C f TDP v TDP Linux: Understanding Process-Level Power Consumption 33

Technical details C++ Qt SOF CMake Linux: Understanding Process-Level Power Consumption 34