Tutorial: Analyzing Energy Usage on an Android* Platform



Similar documents
Tutorial: Finding Hotspots on a Remote Linux* System

INTEL PARALLEL STUDIO XE EVALUATION GUIDE

Intel(R) IT Director User's Guide

Improve Fortran Code Quality with Static Analysis

Intel System Event Log (SEL) Viewer Utility

Basics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda

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

Moxa Device Manager 2.3 User s Manual

Intel System Event Log (SEL) Viewer Utility. User Guide SELViewer Version 10.0 /11.0 December 2012 Document number: G

Intel System Event Log (SEL) Viewer Utility

NetIQ Sentinel Quick Start Guide

Host Power Management in VMware vsphere 5

TIBCO ActiveMatrix BusinessWorks Plug-in for TIBCO Managed File Transfer Software Installation

Intel Active Management Technology with System Defense Feature Quick Start Guide

ARM* to Intel Atom Microarchitecture - A Migration Study

Moxa Device Manager 2.0 User s Guide

Get an Easy Performance Boost Even with Unthreaded Apps. with Intel Parallel Studio XE for Windows*

MONITORING PERFORMANCE IN WINDOWS 7

Server Manager Performance Monitor. Server Manager Diagnostics Page. . Information. . Audit Success. . Audit Failure

Intel Integrated Native Developer Experience (INDE): IDE Integration for Android*

Also on the Performance tab, you will find a button labeled Resource Monitor. You can invoke Resource Monitor for additional analysis of the system.

User Guide Software Version 2.1.0

Improve Fortran Code Quality with Static Security Analysis (SSA)

Upgrading Intel AMT 5.0 drivers to Linux kernel v2.6.31

Intel vpro Technology Module for Microsoft* Windows PowerShell*

vcenter Operations Management Pack for SAP HANA Installation and Configuration Guide

XDB Intel System Debugger 2015 Overview Training. Robert Mueller-Albrecht, TCE, SSG DPD ECDL

Intel Unite Solution. Standalone User Guide

Intel vpro Technology. How To Purchase and Install Symantec* Certificates for Intel AMT Remote Setup and Configuration

USB Driver. Installation Guide for H5 Devices

IBM TRIRIGA Anywhere Version 10 Release 4. Installing a development environment

Web Portal Installation Guide 5.0

Overview

Eclipse installation, configuration and operation

TAO Installation Guide v0.1. September 2012

LICENSE4J FLOATING LICENSE SERVER USER GUIDE

Enhanced Intel SpeedStep Technology for the Intel Pentium M Processor

Intel Media SDK Library Distribution and Dispatching Process

VTune Performance Analyzer Essentials

Dell One Identity Manager 7.0. Help Desk Module Administration Guide

About This Guide Signature Manager Outlook Edition Overview... 5

Attix5 Pro Server Edition

How to Configure Intel Ethernet Converged Network Adapter-Enabled Virtual Functions on VMware* ESXi* 5.1

XenClient Enterprise Synchronizer Installation Guide

2.0. Quick Start Guide

Installing and Configuring DB2 10, WebSphere Application Server v8 & Maximo Asset Management

Mobile App Monitoring. Release Notes. Release 8.0

Intel vpro Technology. How To Purchase and Install Go Daddy* Certificates for Intel AMT Remote Setup and Configuration

Oracle Fusion Middleware

StarWind iscsi SAN: Configuring Global Deduplication May 2012

Intel Rapid Storage Technology

Sample- for evaluation purposes only! Advanced Outlook. TeachUcomp, Inc. A Presentation of TeachUcomp Incorporated. Copyright TeachUcomp, Inc.

Symantec Backup Exec System Recovery Exchange Retrieve Option User's Guide

Intel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual

Intel Platform Controller Hub EG20T

GUARD1 PLUS SE Administrator's Manual

Intel Cyber Security Briefing: Trends, Solutions, and Opportunities. Matthew Rosenquist, Cyber Security Strategist, Intel Corp

1. Product Information

Nimsoft Monitor. ntevl Guide. v3.6 series

Symantec Enterprise Vault

Installation Guide for Crossroads Software s Traffic Collision Database

NETWRIX USER ACTIVITY VIDEO REPORTER

Sage HRMS 2014 Sage Employee Self Service Tech Installation Guide for Windows 2003, 2008, and October 2013

Abila Nonprofit Online. Connection Guide

Epicor ERP Performance Diagnostic and Troubleshooting Guide

VMware Horizon FLEX User Guide

Software Evaluation Guide for Autodesk 3ds Max 2009* and Enemy Territory: Quake Wars* Render a 3D character while playing a game

Avaya Network Configuration Manager User Guide

Contents Overview and Product Contents

System Event Log (SEL) Viewer User Guide

Internal LVDS Dynamic Backlight Brightness Control

FileMaker Server 7. Administrator s Guide. For Windows and Mac OS

CT Bus Clock Fallback for Linux Operating Systems

CA Nimsoft Monitor. Probe Guide for Active Directory Server. ad_server v1.4 series

Enterprise Manager. Version 6.2. Installation Guide

Bitrix Site Manager ASP.NET. Installation Guide

Pure1 Manage User Guide

Microsoft Dynamics GP Release

SHARP Digital Signage Software Pro PN-SS05 OPERATION MANUAL

Intel Matrix Storage Manager 8.x

Disaster Recovery. Websense Web Security Web Security Gateway. v7.6

WINDOWS PROCESSES AND SERVICES

NetNumen U31 R06. Backup and Recovery Guide. Unified Element Management System. Version: V

Configuring Network Load Balancing with Cerberus FTP Server

ReadyNAS Setup Manual

Dell Statistica Statistica Enterprise Installation Instructions

Instructions for Installing and Using the FOCUS DL-15 Data Transfer Software

Network Probe User Guide

Dell SupportAssist Version 2.0 for Dell OpenManage Essentials Quick Start Guide

User Guide Win7Zilla

RecoveryVault Express Client User Manual

Dell MessageStats for Lync and the MessageStats Report Pack for Lync & OCS 7.3. User Guide

Dell Repository Manager Tutorial

ZConverter. Windows Backup v 3.5

Intel Unite. User Guide

Intel Desktop public roadmap

Using Management Shell Reports and Tracking User Access in the NetVanta UC Server

EMC SourceOne Auditing and Reporting Version 7.0

Transcription:

Tutorial: Analyzing Energy Usage on an Android* Platform Intel VTune Amplifier 2016 for Linux* OS Legal Information

Contents Contents Legal Information... 5 Overview... 7 Chapter 1: Analyzing Energy Usage Access the Android* OS Target Device...10 Set Up the Android* OS Target System for Analysis...10 Run Energy Analysis...12 Open Results on the Host System... 12 Interpret Energy Data in the Intel VTune Amplifier GUI... 13 Chapter 2: Summary Chapter 3: Key Terms 3

Tutorial: Analyzing Energy Usage on an Android* Platform 4

Legal Information No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document. Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade. This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps. The products and services described may contain defects or errors which may cause deviations from published specifications. Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. Cilk, Intel, the Intel logo, Intel Atom, Intel Core, Intel Inside, Intel NetBurst, Intel SpeedStep, Intel vpro, Intel Xeon Phi, Intel XScale, Itanium, MMX, Pentium, Thunderbolt, Ultrabook, VTune and Xeon are trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others. 2015, Intel Corporation. Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries. Java is a registered trademark of Oracle and/or its affiliates. 5

Tutorial: Analyzing Energy Usage on an Android* Platform 6

Overview Discover how to optimize software for extended battery life using the Intel Energy Profiler that is provided as a feature of Intel VTune Amplifier for Systems. This document applies to the energy analysis of an Android* OS target system using the VTune Amplifier for Systems, installed on a Linux* OS host system. For additional tutorials, see Intel VTune Amplifier Tutorials. About This Tutorial This tutorial guides you through the basic steps required to set up your Android system for analysis, running an analysis and viewing the results in a Linux host system. Estimated Duration 10 minutes: Preparing your target device for energy analysis 10 minutes: Running analysis and viewing the results on a host Linux* OS system with VTune Amplifier for Systems installed. Learning Objectives After you complete this tutorial, you will be able to: Set up an Android* system for energy analysis Run Intel SoC Watch collector on the Android target device Interpret result data More Resources The Intel(R) System Studio user forum: https://software.intel.com/en-us/ forums/intel-system-studio The Intel Developer Zone is a site devoted to software development tools, resources, forums, blogs, and knowledge bases, see http://software.intel.com The Intel Software Documentation Library is part of the Intel Developer Zone and is an online collection of Release Notes, User and Reference Guides, White Papers, Help, and Tutorials for Intel software products https:// software.intel.com/en-us/intel-energy-profiler 7

Tutorial: Analyzing Energy Usage on an Android* Platform 8

Analyzing Energy Usage 1 You can use the Intel VTune Amplifier installed on your Linux* host to identify and analyze energy usage of your target Android* system by performing a series of steps in a workflow. This tutorial guides you through these workflow steps. Intel VTune Amplifier for Systems supports this remote usage mode, using the VTune Amplifier target package and ADB communication: 1 2 3 4 5 Access Android Target Device Setup Android Target System Run Energy Analysis Open the Results on the Host System Interpret Result Data Configure your Android device for analysis. Gain adb access using a USB connection. 1. Set the environment variables. 2. Install the Intel SoC Watch drivers, libraries and executables. Run the command on the target device to collect data and generate a *.pwr result file. 1. Use adb to copy the result files to the host system. 2. Import the result to Intel VTune Amplifier for Systems. Use different windows in Intel VTune Amplifier for Systems windows to analyze the data. Next Step Access Android Target System 9

1 Tutorial: Analyzing Energy Usage on an Android* Platform Access the Android* OS Target Device Configure the Android device for ADB access and Unknown Sources To enable accessing your Android* OS target device from the Linux* OS host, do the following: 1. Allow Debug connections to enable ADB access: a. On your Android device, select Settings. b. Under System, select About <device>. c. Tap Build number seven times to enable the Developer Options tab. d. Select Developer Options and enable the USB debugging option. NOTE The path to the Developer Options may vary depending on the manufacture of your device and system version. 2. Connect the Android target device to the host. 3. Make sure adb is in the PATH system environment variable on the host. If not, add it: export PATH=$PATH: <adb_path> 4. Connect the host to the Android target device with root mode ADB access: adb root NOTE Depending on the build, you gain root mode ADB access differently. For the purpose of this tutorial Userdebug builds are used. Userdebug builds of the Android OS offer a compromise between good results and easy-to-run tools. Key Terms Target System Host System Next Step Set up Android Target System Set Up the Android* OS Target System for Analysis set up root mode ADB access and configure target Android system for analysis After connecting from the Linux host to the Android device with adb root access, follow these steps to configure your target Android device for analysis: 10

Analyzing Energy Usage 1 1. On the host, extract the system_studio_target.tgz archive. From the <install-dir>/targets directory: tar -xvzf system_studio_target.tgz 2. Install Intel SoC Watch to the target device by running the socwatch_android_install.sh script from extracted archive on the host: 3. Set the appropriate environment variables on the target device. a. Access the target device, enter: adb shell b. Change directory to the /data/socwatch folder c. Enter: source setup_socwatch_env.sh NOTE If the command does not work, ensure that the file is in the correct format by running the following command: dos2unix set* The following example shows the command line and results you should see after setting the environment variables: 4. Check the drivers on your system: ls /lib/modules/socperf* ls /lib/modules/socwatch* If there are no drivers on the system, you need to build the drivers before loading them on the target device. The socperf driver is not needed for systems that have an Intel Core processor. For more information, see the "Building the Kernel Modules" section in the Intel SoC Watch User's Guide (socwatch_android_users_guide.pdf). If the drivers are present, load the drivers on the target device. In the example below, the drivers are found in the /lib/modules directory and use the socperf1_2.ko and SOCWATCH2_0.ko files. If necessary, modify the commands to match the directory in which your files reside. 1. Enter: insmod /lib/modules/socperf1_2.ko insmod /lib/modules/socwatch2_0.ko 2. Verify that the drivers were installed: lsmod grep SOCWATCH lsmod grep socperf The following example shows the command line and results you should see after installing the socwatch driver and entering the lsmod command: 11

1 Tutorial: Analyzing Energy Usage on an Android* Platform Next Step Run Energy Analysis Run Energy Analysis Follow these steps to run Intel SoC Watch analysis on your target Android* device. NOTE To see the Intel SoC Watch collector help, enter:./socwatch -h. The help lists all of the available metrics that can be measured on the target device based on the device hardware. To collect processor C-state and P-state data for 60 seconds on your target Android OS system and generate a result that can be imported into Intel VTune Amplifier for Systems, run the following command:./socwatch -max-detail f cpu-cstate f cpu-pstate t 60 -r vtune o./results/test As shown in the following example: Energy behavior analysis data is collected and saved in a *.pwr file in the results directory. For more information, see the Intel SoC Watch User Guide (socwatch_android_users_guide.pdf). Key Terms P-State C-State Next Step Open Results on the Host System Open Results on the Host System Copy the results to the Linux OS host system and import to Intel VTune Amplifier for Systems. When the energy analysis is complete, copy the result files to your Linux* host system and import the *.pwr result file to Intel VTune Amplifier for Systems. VTune Amplifier opens the collected results in the Platform Power Analysis viewpoint. NOTE You can also view the results as a timed trace in a.csv file. See the post-processing options in the Intel SoC Watch User Guide (socwatch_android_users_guide.pdf). 12

1. On your Linux OS host system, copy the result files from /data/socwatch/results on the Android target, to /results on the host: adb pull /data/socwatch/results results/ Analyzing Energy Usage 1 2. Launch VTune Amplifier: a. Go to the correct bin subfolder in the VTune Amplifier for Systems installation directory: cd <install_dir>/bin{32 64} NOTE If you are using VTune Amplifier for Systems for the first time, you might need to set the environment variables. Go to the VTune Amplifier for Systems installation directory, and entersource amplxevars.sh b. Open the VTune Amplifier for Systems GUI by running amplxe-gui from the VTune Amplifier installation location. By default, the installation location is opt/intel/ system_studio_<version>/vtune_amplifier_<version>_for_systems. 3. Create a project: a. In the VTune Amplifier for Systems Welcome page, click the New Project toolbar button. The Create Project dialog box opens. b. Enter a meaningful project name and click Create Project. The New Amplifier Result tab opens with the Analysis Target tab active. 4. Import the results to the project: a. Select Import Result from the Welcome page, or from the toolbar. The Import tab opens. b. Choose the Import a single file option and browse to the results folder in the installation directory. c. Select the *.pwr result file and click the Open button. d. Click the Import button. The result opens in the Platform Power Analysis viewpoint as r000. Next Step Interpret Platform Power Analysis Results Interpret Energy Data in the Intel VTune Amplifier GUI The imported results are visible in Intel VTune Amplifier for Systems from the Platform Power Analysis viewpoint. To interpret the performance data provided during the energy analysis, follow the steps below: 13

1 Tutorial: Analyzing Energy Usage on an Android* Platform 1. Analyze overall statistics. 2. Identify cores with the highest time spent in C0 state. 3. Identify processor wake-ups and possible causes. Analyze Overall Statistics If you are not already in the Summary window, click the Summary tab to switch to the Summary window. The first section of the Summary window displays the summary statistics of the overall collection. To view a metric description, hover over the question mark icon : See the various summary items that are shown, including Top 5 Causes of Core Wake-ups list, and Elapsed Time per Core Sleep State Histogram. Focus on decreasing the causes of core wake-ups, increasing the time that a core spends in the deeper sleep states. Explore the histogram to analyze the time spent in each sleep state for the entire system: For example, in the histogram above, the system spent almost all the time in C6 sleep state, which means that power consumption during this time was low. Identify Cores with Highest Time Spent in C0 States Switch to the CPU C/P States tab to identify cores with the highest time spent in the active C0 state. Spending more time in deeper sleep states (C1-Cn) provides greater power savings. By default, the VTune Amplifier displays data grouped by core and sorted by CPU time spent in the deepest C-state in the descending order. For the example below, most of CPU time was spent in the C6 sleep state. 14

Analyzing Energy Usage 1 Identify Processor Wake-ups and Possible Causes Switch to the Core Wake-ups tab and group the data by the Wake-up Reason/Wake-up Object/ Function Stack to identify causes of the processor wake-ups. In the grid, you can select a wake-up object with the highest Wake-up Count, right-click it and select the Filter In by Selection from the context menu. VTune Amplifier for Systems updates the grid and timeline displaying the data relevant only for the selected object. The example below shows wake-ups per core initiated by the Timer object selected in the grid. 15

1 Tutorial: Analyzing Energy Usage on an Android* Platform Hover over a chart point to view the sleep states details for the particular moment of time. The deeper the color of the chart, the deeper the sleep state of the CPU. You can select a region of the graph and zoom into the selection to see detailed sleep state transitions. Key Terms Elapsed time C-State 16

Summary 2 You have completed the Analyzing Energy Usage tutorial. Here are some important things to remember when using the Intel VTune Amplifier for Systems to analyze energy usage on a target system: Step Tutorial Recap Key Tutorial Take-aways 1. Access the Android* System for Analysis You configured the Android device for ADB access and enabled unknown sources in the Security settings. You must have adb installed on your host to and use root mode to access your Android* device and to run Energy Analysis. 2. Set up the Android* System for Analysis 3. Run Energy Profiler Analysis 4. Interpret Result Data You installed Intel SoC Watch on the target device by running the socwatch_android_install.sh script from the host. You also set the environment variables on the target device. You ran the Intel SoC Watch collector and collected energy usage data. You copied the *.pwr result to your Linux* OS host system and imported the results to VTune Amplifier for Systems for viewing and analysis. You must have the latest Android build to install the drivers. Launch analysis on the target device, using the command line. Use Platform Power Analysis viewpoint to examine the energy usage for the target system. 17

2 Tutorial: Analyzing Energy Usage on an Android* Platform 18

Key Terms 3 The following list of Key Terms and definitions is included for easy reference while using this tutorial. Elapsed time: The total time your target ran, calculated as follows: Wall clock time at end of application Wall clock time at start of application. host system: The system on which you have installed and are running the VTune Amplifier. target system: The device/remote platform on which your workload runs. The target system may be connected to the host system via USB. C-State: C-State residencies are collected from hardware. CPU C-States are obtained by reading the processor's C- State residency MSRs, which count he actual time spent in each C-State. C-States range from C0 to Cn. C0 indicates an active state. All other C-states (C1-Cn) represent idle sleep states where the processor clock is inactive (cannot execute instructions) and different parts of the processor are powered down. As the C-States get deeper, the exit latency duration becomes longer (the time to transition to C0) and the power savings becomes greater. P-State: CPU P-states represent voltage-frequency control states defined as performance states in the industry standard Advanced Configuration and Power Interface (ACPI) specification (see http://www.acpi.info for more details). In voltage-frequency control, the voltage and clocks that drive circuits are increased or decreased in response to a workload. The operating system requests specific P-states based on the current workload. The processor may accept or reject the request and set the P-state based on its own state. P-states columns represent the processor s supported frequencies and the time spent in each frequency during the collection period. 19

3 Tutorial: Analyzing Energy Usage on an Android* Platform 20

Index Index A Access, Android OS target system, Intel Energy Profiler 10 Analysis, Android OS target system, Intel Energy Profiler 10 E energy analysis, Intel Energy Profiler 9 I Intel Energy Analysis, SoC Watch, Wake up Watch 12 K Key Terms 19 O Overview 7 S Summary 17 21

Tutorial: Analyzing Energy Usage on an Android* Platform 22