Energy Performance and Accounting in Mobile Operating Systems



Similar documents
<Insert Picture Here> Tracing on Linux: the Old, the New, and the Ugly

Linux Tools for Monitoring and Performance. Khalid Baheyeldin November 2009 KWLUG

<Insert Picture Here> Tracing on Linux

Efficient and Large-Scale Infrastructure Monitoring with Tracing

HONE: Correlating Host activities to Network communications to produce insight

Android Development: a System Perspective. Javier Orensanz

Monitoring, Tracing, Debugging (Under Construction)

AppScope: Application Energy Metering Framework for Android Smartphones using Kernel Activity Monitoring

Visualizing gem5 via ARM DS-5 Streamline. Dam Sunwoo ARM R&D December 2012

Performance of VMware vcenter (VC) Operations in a ROBO Environment TECHNICAL WHITE PAPER

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

Agenda. Context. System Power Management Issues. Power Capping Overview. Power capping participants. Recommendations

Frysk The Systems Monitoring and Debugging Tool. Andrew Cagney

Realtime Linux Kernel Features

The red hat enterprise linux developer program

Android Virtualization from Sierraware. Simply Secure

Perf Tool: Performance Analysis Tool for Linux

iva Cable & Antenna Analyzer

Operating System Structures

AMD CodeXL 1.7 GA Release Notes

Compilers and Tools for Software Stack Optimisation

Multi-Operating Environment System

Virtualization. Michael Tsai 2015/06/08

Fall 2011 SYSTEM ARCHITECTURE DESIGN TEAM MEMBERS: PROJECT OWNERS: AMIR 15 ECTS) EKAMBAR


Example of Standard API

App: HomeBound 1.1 ( Device: Samsung GT-S5302 Android 2.3.6

Finding Performance and Power Issues on Android Systems. By Eric W Moore

How To Monitor Bandwidth On A Computer Network

Software Tracing of Embedded Linux Systems using LTTng and Tracealyzer. Dr. Johan Kraft, Percepio AB

Android Application Development

BF2CC Daemon Linux Installation Guide

Network Security. Network Packet Analysis

COLLABORATION AV SYSTEMS IN THE AGE OF BYOD

Troubleshooting Oracle performance issues beyond the Oracle wait interface

Developing applications on Yocto. Lianhao Lu Intel Corporation Feb. 29th, 2012

OS Observability Tools

Five standard procedures for building the android system. Figure1. Procedures for building android embedded systems


Lab Exercise Objective. Requirements. Step 1: Fetch a Trace

Intel Application Software Development Tool Suite 2.2 for Intel Atom processor. In-Depth

Connecting your Aiki phone to a network

WIRELESS SECURITY. Information Security in Systems & Networks Public Development Program. Sanjay Goel University at Albany, SUNY Fall 2006

ITG Software Engineering

Using Process Monitor

CSE 237A Final Project Final Report

Valgrind BoF Ideas, new features and directions

WNMS Mobile Application

An Analysis of the Transitions between Mobile Application Usages based on Markov Chains

Stop the Guessing. Performance Methodologies for Production Systems. Brendan Gregg. Lead Performance Engineer, Joyent. Wednesday, June 19, 13

iva Cable & Antenna Analyzer

Datacenter Operating Systems

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Android Application for Accessing KNX Devices via IP Connection

DS-5 ARM. Using the Debugger. Version 5.7. Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0446G (ID092311)

Android Fundamentals 1

WIFI PineApple Mark V & Mobile Device Traffic

Connecting Your Device to a Wireless Network

NETWORK SECURITY WITH OPENSOURCE FIREWALL

Load Balancing - Single Multipath Route HOWTO

A Lightweight Dynamic Performance Monitoring Framework for Embedded Systems

OS Thread Monitoring for DB2 Server

Understand and Build Android Programming Environment. Presented by: Che-Wei Chang

FREE VOICE CALLING IN WIFI CAMPUS NETWORK USING ANDROID

Fig. 1 BAN Architecture III. ATMEL BOARD

LogMeIn Rescue+Mobile for Android

Kevin Cardwell. Toolkits: All-in-One Approach to Security

DS-5 ARM. Using the Debugger. Version Copyright ARM. All rights reserved. ARM DUI 0446M (ID120712)

vyacht Wifi Router vyacht yacht automation About this manual

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

Performance Measurement of Wireless LAN Using Open Source

Optimizing Background Sync on Smartphones

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Make the green IP switch Low-energy semiconductor solutions for VoIP

R&D Access Touch 3.1 User Manual Version 1.00 Public 1 (13) User Manual. Access Touch 3.1

CA Nimsoft Monitor. Probe Guide for CPU, Disk and Memory. cdm v4.7 series

Android App for SAP Business One. Z3moB1le App Version 1.00 Pagina 1 di 12.

Mobile Cloud Computing for Data-Intensive Applications

mbits Network Operations Centrec

Version Date Author Description Jpo First version Jpo FET output descriptions made clearer

Extending Android's Platform Toolsuite

Frequently Asked Questions: Cisco Jabber 9.x for Android

Introduction to Network Security Lab 2 - NMap

The Yocto Project Eclipse plug-in: An Effective IDE Environment for Embedded Application and System Developers

How To Test The Power Of Ancientisk On An Ipbx On A Quad Core Ios (Powerbee) On A Pc Or Ipbax On A Microsoft Ipbox On A Mini Ipbq

Wireless g CF Card User Manual

60467 Project 1. Net Vulnerabilities scans and attacks. Chun Li

COURSE NAME: INFORMATION SECURITY INTERNSHIP PROGRAM

Transcription:

Computer Laboratory Energy Performance and Accounting in Mobile Operating Systems James Snee and Andrew Rice 1

Too many features not enough energy... 2

Where is the energy spent?? 3

Power (Watts) What is the phone doing? Seconds (s) 4

Even the idle state of the device is unpredictable Patterns exist Power (Watts) High variance in power consumption Seconds (s) 5

Frequency Density Changes in the OS can have profound effects Joules Andrew Rice, Simon Hay, Measuring mobile phone energy consumption for 802.11 wireless networking, Pervasive and Mobile Computing, Volume 6, Issue 6, December 2010, Pages 593-606 6

Power (Watts) Android 1.1 checks that no one is using the same IP address Time (seconds) Andrew Rice, Simon Hay, Measuring mobile phone energy consumption for 802.11 wireless networking, Pervasive and Mobile Computing, Volume 6, Issue 6, December 2010, Pages 593-606 7

Power (Watts) Android 2.1 doesn t bother checking... Time (seconds) Andrew Rice, Simon Hay, Measuring mobile phone energy consumption for 802.11 wireless networking, Pervasive and Mobile Computing, Volume 6, Issue 6, December 2010, Pages 593-606 8

Consumption difference found by monitoring the network Some effects not visible outside the device 9

What s going on inside the device? We instrument Android s Linux Kernel Applications Middleware / Services Native interfaces Linux Kernel 10

We are able to make use of existing profiling tools KProbes DTrace Perf SystemTap FTrace Valgrind OProfile Linux Trace Toolkit 11

We are able to make use of existing profiling tools KProbes DTrace Perf SystemTap FTrace Valgrind OProfile Linux Trace Toolkit 12

Power (Watts) We logged every system call made during idle test using FTrace Seconds (s) 13

FTrace places instrumentation in every system function Adds a call to the mcount routine in the prelude of every function (mcount: arch/arm/kernel/entry-common.s) This routine stores tracing information into a small ring-buffer Requires a rooted device and a custom built kernel 14

Example FTrace (function tracer) trace output [Process Name] [CPU] [Time since boot]: [function] <- [parent] 131.677753: fsnotify_parent <-vfs_write 131.677764: fsnotify <-vfs_write 131.677765: srcu_read_lock <-fsnotify 131.677767: srcu_read_unlock <-fsnotify 131.677772: sys_dup2 <-ret_fast_syscall 131.677773: sys_dup3 <-sys_dup2 131.677774: expand_files <-sys_dup3 131.677775: filp_close <-sys_dup3 131.677776: locks_remove_posix <-filp_close 131.677778: fput <-filp_close 131.677779: fsnotify_parent <-fput 131.677780: fsnotify <-fput 131.677781: locks_remove_flock <-fput 131.677783: module_put <-fput 131.677784: put_pid <-fput 131.677785: file_sb_list_del <-fput 131.677787: files_lglock_local_unlock_cpu <-file_sb_list_del 131.677789: drop_file_write_access <-fput 131.677790: mnt_drop_write <-drop_file_write_access 131.677791: call_rcu <-fput 15

Annotated the first 1ms of the idle trace Power (Watts) 1ms Seconds (s) 16

Too much noise in the data Power sampled at 10kHz 17

Instrument individual functions with SystemTap Applications Middleware / Services Native interfaces ST ST Linux Kernel ST ST FTrace 18

SystemTap instruments the Kernel without the need to recompile Tap Script Translate to C Insert and run Build Kernel Module Report back the internal state of functions Safer interface to kprobes, no more panics 19

consumed per kilobyte (J) Energy Energy consumed per kilobyte (J) WiFi + TCP energy consumption appears to follow a trend 0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 10 20 30 40 50 60 Message size (kb) Message Size (kb) Andrew Rice, Simon Hay, Measuring mobile phone energy consumption for 802.11 wireless networking, Pervasive and Mobile Computing, Volume 6, Issue 6, December 2010, Pages 593-606 20

Energy consumed per kilobyte (J) We re using SystemTap to investigate these outliers Message Size (kb) What s going on inside TCP? Andrew Rice, Simon Hay, Measuring mobile phone energy consumption for 802.11 wireless networking, Pervasive and Mobile Computing, Volume 6, Issue 6, December 2010, Pages 593-606 21

We are using SystemTap to instrument the Linux TCP implementation probe kernel.function("*@net/ipv4/tcp.c").call{ printf("tcp %ul %s>%s \n",gettimeofday_s(),thread_indent(1),probefunc()) } 22

Moving instrumentation into the OS is giving us a better picture of what s going on http://www.ubiquitense.com/wp-content/improve-android-battery-life.gif 23

Computer Laboratory Energy Performance and Accounting in Mobile Operating Systems James Snee and Andrew Rice Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. 24