Intelligent Offload to Improve Battery Lifetime of Mobile Devices Ranveer Chandra Microsoft Research.

Slides:



Advertisements
Similar presentations
This course is designed for system managers/administrators to better understand the SAAZ Desktop and Server Management components Students will learn.
Advertisements

MultiNet: Connecting to Multiple IEEE Networks Using a Single Radio Ranveer Chandra, Cornell University joint work with: Victor Bahl (MSR) and Pradeep.
Eduardo Cuervo - Duke Aruna Balasubramanian - U Mass Amherst Dae-ki Cho - UCLA Alec Wolman, Stefan Saroiu, Ranveer Chandra, Paramvir Bahl – Microsoft Research.
System Integration and Performance
Categories of I/O Devices
2  Industry trends and challenges  Windows Server 2012: Modern workstyle, enabled  Access from virtually anywhere, any device  Full Windows experience.
TCP-IP Primer David Cozens. Targets Have a basic understanding of Ethernet network technology Be aware of how this technology is applied on the 5000 series.
ECOS: Leveraging Software-Defined Networks to Support Mobile Application Offloading Aaron Gember, Christopher Dragga, Aditya Akella University of Wisconsin-Madison.
Somniloquy*: Augmenting Network Interfaces to Reduce PC Energy Usage Ranveer Chandra (Microsoft Research) Yuvraj Agarwal, Rajesh Gupta (UCSD), Victor Bahl,
3G v.s WIFI Radio Energy with YouTube downloads. Energy in Mobile Phone Data Transfers In 3G, there are three states –Idle –DCH (Dedicated Channel), do.
Carnegie Mellon A System Design And Build Course On Wearable Computers Dan Siewiorek and Asim Smailagic Carnegie Mellon University MSE ‘01, Las Vegas,
Enabling an Energy- Efficient Future Internet Through Selectively Connected End Systems Jim Spadaro and Ted Brockly.
MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September.
Reducing the Energy Usage of Office Applications Jason Flinn M. Satyanarayanan Carnegie Mellon University Eyal de Lara Dan S. Wallach Willy Zwaenepoel.
Alec Wolman, Stefan Saroiu, Ranveer Chandra, Victor Bahl – Microsoft Research Eduardo Cuervo – Duke Aruna Balasubramanian – U Mass Amherst Dae-ki Cho -
MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University.
Intel ® Research mote Ralph Kling Intel Corporation Research Santa Clara, CA.
Computers They're Not Magic! (for the most part)‏ Adapted from Ryan Moore.
ThinkAir: Dynamic Resource Allocation and Parallel Execution in Cloud for Mobile Code Offloading Sokol Kosta, Pan Hui Deutsche Telekom Labs, Berlin, Germany.
Presenter : Miresh Shukla EEL 6788 ADVANCED TOPICS IN COMPUTER NETWORKS Dr. DAMLA TURGUT.
Welcome To. Improving Remote File Transfer Speeds By The Solution For: %
Mobile Handset Hardware Architecture
CS 423 – Operating Systems Design Lecture 22 – Power Management Klara Nahrstedt and Raoul Rivas Spring 2013 CS Spring 2013.
Week #10 Objectives: Remote Access and Mobile Computing Configure Mobile Computer and Device Settings Configure Remote Desktop and Remote Assistance for.
 Energy Results: Memory Assistant Arcade Game  Performance Results:  Response Time ▪ Memory assistant: 17.3 sec -> 1.5 sec ▪ Arcade game: 6 FPS -> 13.
Windows Internet Connection Sharing Dave Eitelbach Program Manager Networking And Communications Microsoft Corporation.
MOBILE CLOUD COMPUTING
Computer System Architectures Computer System Software
SwitchR: Reducing System Power Consumption in a Multi-Client Multi-Radio Environment Yuvraj Agarwal (University of California, San Diego) Trevor Pering,
This presentation has been done by : Kareem Marwan Hamida..
Microsoft Active Directory(AD) A presentation by Robert, Jasmine, Val and Scott IMT546 December 11, 2004.
Computers Are Your Future Tenth Edition Chapter 8: Networks: Communicating & Sharing Resources Copyright © 2009 Pearson Education, Inc. Publishing as Prentice.
Module 8 Configuring Mobile Computing and Remote Access in Windows® 7.
Maintaining Performance while Saving Energy on Wireless LANs Ronny Krashinsky Term Project
Energy Efficient Digital Networks Rich Brown Lawrence Berkeley National Laboratory Presentation to DOE State Energy Advisory Board Meeting August 14, 2007.
Cisco S2 C4 Router Components. Configure a Router You can configure a router from –from the console terminal (a computer connected to the router –through.
Chapter Ten Safe, Legal, and Green Computer Usage Part II: Energy Efficiency.
Turducken: Hierarchical Power Management for Mobile Devices Jacob Sorber, Nilanjan Banerjee, Mark Corner, Sami Rollins University of Massachusetts, Amherst.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
Embedded Runtime Reconfigurable Nodes for wireless sensor networks applications Chris Morales Kaz Onishi 1.
Mobile Middleware for Energy-Awareness Wei Li
Energy Efficient Computing: 3 observations and 3 lessons from embedded systems Rajesh Gupta, UC San Diego Microsoft, July 2009 Engine.
Power Containers: An OS Facility for Fine-Grained Power and Energy Management on Multicore Servers Kai Shen, Arrvindh Shriraman, Sandhya Dwarkadas, Xiao.
Eduardo Cuervo – Duke University Aruna Balasubramanian - University of Massachusetts Amherst Dae-ki Cho - UCLA Alec Wolman, Stefan Saroiu, Ranveer Chandra,
© GCSE Computing Computing Hardware Starter. Creating a spreadsheet to demonstrate the size of memory. 1 byte = 1 character or about 1 pixel of information.
1 of 20 Smart-NICs: Power Proxying for Reduced Power Consumption in Network Edge Devices Karthikeyan Sabhanatarajan, Ann Gordon-Ross +, Mark Oden, Mukund.
1 Syllabus at a glance – CMCN 6103 Introduction Introduction to Networking Network Fundamentals Number Systems Ethernet IP Addressing Subnetting ARP DNS.
1 of 20 Low Power and Dynamic Optimization Techniques for Power-Constrained Domains Ann Gordon-Ross Department of Electrical and Computer Engineering University.
Power Guru: Implementing Smart Power Management on the Android Platform Written by Raef Mchaymech.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
Chapter 1: Computer Basics Instructor:. Chapter 1: Computer Basics Learning Objectives: Understand the purpose and elements of information systems Recognize.
Chapter 1: Computer Basics Learning Objectives: Understand the purpose and elements of information systems Recognize the different types of computers Distinguish.
SEPTEMBER 8, 2015 Computer Hardware 1-1. HARDWARE TERMS CPU — Central Processing Unit RAM — Random-Access Memory  “random-access” means the CPU can read.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
Evaluation of Advanced Power Management for ClassCloud based on DRBL Rider Grid Technology Division National Center for High-Performance Computing Research.
Introduction to Operating Systems Concepts
Aggressive Duty-cycling for Energy Efficient Computing
Implementing Remote Procedure Call
Wireless Communication and Networks
Green cloud computing 2 Cs 595 Lecture 15.
Group 2: Qiuxi Zhu, Buchao Yu, Guoxi Wang
Design Unit 26 Design a small or home office network
Remote Procedure Call Landon Cox February 7, 2018.
Course Project Topics for CSE5469
Multithreaded Programming
Windows Virtual PC / Hyper-V
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Intelligent Offload to Improve Battery Lifetime of Mobile Devices Ranveer Chandra Microsoft Research

Phones are Energy Constrained  Energy: A critical issue in smartphones  Limited battery lifetime  Battery energy density only doubled in last 15 years  Smartphone capability has increased drastically  Multiple Components: GPS, 3G, retina display, …. 2

Where Does the Energy Go? Suspended State (68 mW) Video Playback (450 mW + backlight) Network, Display & CPU are the main energy hogs! Android G1 energy consumption “An Analysis of Power Consumption in a Smartphone”, USENIX

Efforts to Improve Battery Life  Battery: bigger, more energy density  Challenge: Lighter phones  CPU: low power cores, parking individual cores  Challenge: multi-core, faster processors  Network: low power cellular & Wi-Fi states  Challenge: LTE, ac  Display: energy-efficient display, e.g. AMOLED  Challenge: larger & brighter displays, video, animation 4

Mission & Big Bets “Lasting a week without charge under normal usage”  Profile energy use of each component ₋Application energy profiler ₋Energy debugging  Big Bets: -Offload: Intelligently utilize available resources -Energy-aware UI: based on OLED energy models -Adaptive battery usage: OS controlled multi-battery systems 5

OFFLOAD 6

Computational Offload  Move computation away from main processor without degrading user experience  Such that SoC is in low power states for longer 7 Application Processor Graphics Unit Memory UnitStorage Wi-Fi & Cell Modem Accelerator SoC (~1W when awake, ~10 mW when asleep) Offload Component

Where to Offload?  Low power subsystem on SoC  Already shipping with TI and other SoC vendors 8 Application Processor Graphics Unit Memory UnitStorage Wi-Fi & Cell Modem Accelerator SoC (~1W when awake, ~10 mW when asleep) Offload Component (Low Power Processor)

Where to Offload?  Low power subsystem on SoC  Low power processor connected to NIC 9 Application Processor Graphics Unit Memory UnitStorage Wi-Fi & Cell Modem Accelerator SoC (~1W when awake, ~10 mW when asleep) Offload Component (Low Power Processor)

Where to Offload?  Low power subsystem on SoC  Low power processor connected to NIC  Cloud or another machine 10 Application Processor Graphics Unit Memory UnitStorage Wi-Fi & Cell Modem Accelerator SoC (~1W when awake, ~10 mW when asleep) Offload Component (Cloud/PC)

Use Cases  When display is off  Push  Continuous sensing  Large downloads  Instant Messaging  P2P file sharing  When display is on  Gaming  Speech translation  … 11

OFFLOAD TO LOW-POWER PROCESSOR 12 Application Processor Graphics Unit Memory UnitStorage Wi-Fi & Cell Modem Accelerator SoC (~1W when awake, ~10 mW when asleep) Offload Component (Low Power Processor)

100’s of apps using the accelerometer Not using the full potential of sensors 13

Responsive Sleeping Challenge Sensor (accelerometer): 0.56mW Phone (mainly processor): ~600mW Wakeup + sleep time: 1Hz sampling, processor can’t sleep Sampling overhead High wakeup/sleep overhead Solution: Offload sampling/processing sensor data to a low-power processor 14

Phone Application Processor Low-power proc. High-speed serial bus + GPIO Sensor buses (I2C, SPI etc.) Sensors Phone Application Processor Sensor buses (I2C, SPI etc.) Sensors Current PhonesEERS Energy Efficient Responsive Sleeping Bodhi, Jie, Dimitrios (2010) 15

Hardware Prototype  Interfaced directly to phone’s AP  Processor: MSP430F5438  16KB RAM, 256KB Flash  Active: sleep: 10  W  Wakeup time: 4µs  Sensors:  Temperature  Pressure  3D compass  3D accelerometer  3D gyro  Capacitive touch sensing (x16) 16

17  Reprogrammable over the phone  Leakage (sleep) power: 270mW  Extensible: can accommodate more sensors, radios etc.  Can interrupt and turn on/off the phone  Interfaced directly to phone processor (SPI bus + GPIOs)  Directly powered from the phone’s battery Glue + Reset Logic Phone Interface Main Proc. Processor Module Slave Proc. SPI Flash GPIO Digital Sensor Module 3-axis Compass Temp. Pressure 3-axis Accel. Analog Sensor Module Z Gyro A/D X-Y Gyro SPI I2CI2C Little Rock Phone Battery Power Supplies

Summary  Low Power processor on SoC can drive sensors  Key application: Continuous sensing 18

OFFLOAD TO NETWORK-CONNECTED LOW-POWER PROCESSOR 19 Application Processor Graphics Unit Memory UnitStorage Wi-Fi & Cell Modem Accelerator SoC (~1W when awake, ~10 mW when asleep) Offload Component (Low Power Processor) Collaborators: Yuvraj Agarwal, Steve Hodges, James Scott, Victor Bahl

Power/Energy Efficiency are Key Drivers Today Battery Powered Computers “Wall Powered” Computers Lenovo X61 laptop Power: 0.74W (sleep) to 16W (active) Goal: improve battery lifetime Dell Optiplex 745 desktop Power: 1.2W (sleep) to >140W (active) Goal: reduce energy costs and impact to the environment Energy efficiency: do more work for less power or energy 20

IT Equipment Consumes Significant Power  Yet, shutdown opportunities are rarely used  Studies show that:  67% of office PCs are left on after work hours  “Sleep” modes used in less than 4% of these PCs! [1]  Home PCs are left on for 34% of the time  50% of the time they are not being used  Confirmed by our measurements:  600+ desktops left always on (total= 700+ ) each  100kW (25% of total energy bill)  Propriety solutions at WaMu, Dell and GE have reported savings of millions dollars per year  Thousands of tons of CO 2 emission avoided!!! [1] J. Roberson et al. “After-hours Power Status of Office Equipment and Energy use of Miscellaneous Plug-load Equipment. Lawrence Berkeley National Laboratory, Berkeley, California. Report# LBNL Revised,

Saving Power Runs into Usability  Reasons why users do not switch off their PCs  Maintain state: desktop and applications preferences  Occasional access  Remote desktop/SSH, accessing files  Administrative: updates, patches, backups  Active applications running  Maintaining presence: e.g. incoming Skype call, IM  Long running applications: Web downloads, BitTorrent Cannot be handled by low-power modes (e.g. Sleep, Hibernate) 22

Power Management vs. Use Models Current design trends in power management: – Hosts (PCs): either Awake (Active) or Sleep (Inactive) Power consumed when Awake = 100X power in Sleep! – Network: Assumes hosts are always “Connected” (Awake) What users really want: – Provide functionality of an Awake (active) host… ….While consuming power as if in Sleep mode – Resume host to Awake mode only if needed Change the fundamental distinction between Sleep and Active states… 23

Network Interface Augment PC’s Network Interface  Objective: Make PCs responsive even when asleep  Maintain availability across the entire protocol stack  E.g. ARP(layer 2), ICMP(layer 3), SSH (Application layer)  Without making changes to the infrastructure or user behavior Active State : >140 W Idle State : 100 W Sleep State : 1.2 W + Low Power CPU + DRAM + Flash Memory Storage Secondary Processor (Power in active state ~1W) Requirements: Functionally similar - masquerade as the host Much lower power 24

Somniloquy*: PCs Talk in their Sleep Somniloquy daemon Somniloquy daemon Host processor, RAM, peripherals, etc. Operating system, including networking stack Apps Network interface hardware Secondary processor Embedded CPU, RAM, flash Embedded OS, including networking stack wakeup filters Appln. stubs Host PC Augment network interfaces: – Add a separate power domain Powered on when host is asleep Processor + Memory + Flash Storage + Network stack – Same MAC/IP Address Wake up Host when needed – E.g. incoming connection Handle some applications while PC remains asleep – Using “application stubs” 25

Supporting Stateless Apps: Filters  Wake up host on any user defined “filter”  E.g. incoming Skype call, Remote Desktop request  Wake-on-LAN either impractical or affects usability  Specified at any layer of the network stack  E.g. from a particular IP (layer 3) or MAC (layer 2)  E.g. wake up on finding “MSFTWLAN” Wi-Fi network 26

Supporting Stateful Apps: Stubs  Applications actively maintain state  E.g. background web downloads, P2P file sharing (BitTorrent)  Need application specific code on the secondary processor  Challenge: secondary processor limited in resources  CPU, memory, flash storage  Cannot run the full application  Offload part of the applications: i.e. “stub” code  Generate “stub” code manually  Stubs for BitTorrent, Web downloads, IM 27

Software Components Somniloquy States Stub config/app-layer wakeup filters Secondary Processor Port filters (TCP, UDP, ICMP etc) Application stubs Network config Sleep/wake Mgmt. Host PC Somniloquy daemon Applications Operating System Get/set network config. Computer active, using network Secondary subsystem not using network Timer-based or user- initiated sleep Wake up on incoming network event or timer-based/user-initiated action Computer asleep, not using network Secondary processor enabled, using network Port-Based wakeup filters Application state Network-based wakeup filters Current network config Wake-up signal and updated state 28

Somniloquy Prototype  Prototype uses “gumstix” platform  PXA270 processor with full TCP/IP stack  USB connection to PC for sleep detection/wakeup trigger, power while asleep, and IP networking for data  Wired and wireless prototypes  *-1NIC version follows initial vision of augmented NIC, where all data goes via gumstix even when PC is awake  *-2NIC version uses PC’s internal interface while it is awake, and allows for simpler legacy-friendly support Wired-1NIC prototype Wireless-2NIC prototype 29

USB Interface (Wake up Host + Status + Debug) USB Interface (power + USBNet) 100Mbps Ethernet Interface Processor SD Storage Prototype 30

Evaluation Methodology  Maintain network reachability  Stateless applications (filter based):  Measure increase in “application layer” latency  Detailed power profile: Gumstix, Host PCs  Extend battery lifetime (Laptops), Energy Savings (Desktop)  Stateful applications (stub based):  Measure energy savings 31

Maintaining Reachability  Respond to “ping”, ARPs, maintain DHCP lease Desktop going to Sleep 4 seconds Desktop resuming from Sleep 5 seconds Break in ICMP responses are due to state transitions: Sleep  Active 32

Stateless Apps: “Setup” Latency Measured time till user-perceived response For each, incoming TCP SYN caused wakeup Additional latency: 3-10s for all prototypes As a proportion of the resulting session, this is OK 33

Gumstix: Power Consumption Gumstix StatePower WIRED VERSION 1.Gumstix only – No Ethernet210mW 2.Gumstix + Ethernet Idle1073mW 3.Gumstix + Ethernet + Write to flash1675mW WIRELESS VERSION 4.Gumstix only - no Wi-Fi210mW 5.Gumstix + Wi-Fi associated (PSM)290mW 6.Gumstix + Wi-Fi Associated (CAM)1300mW Our prototypes consume 290mW (Wi-Fi) to 1W (Ethernet) Similar to power consumed by our test laptop (740mW) in the “sleep” state....and our test desktop (1.2W) in the “sleep” state. 34

Desktops: Power Savings Using Somniloquy: – Power drops from >100W to <5W – Assuming a 45 hour work week – 620kWh saved per year – US $56 savings, 378 kg CO 2 Dell Optiplex 745 Power Consumption and transitions between states StatePower Normal Idle State102.1W Lowest CPU frequency97.4W Disable Multiple cores93.1W “Base Power”93.1W Suspend state (S3)1.2W 35

Laptops: Extends Battery Lifetime Using Somniloquy: – Power drops from >11W to 1W, – Battery life increases from 60 hours – Provides functionality of the “Baseline” state – Power consumption similar to “Sleep” state 36

Energy Savings for Sample Workloads  Use trace data from [Nedevschi-NSDI2009]  24 desktop PCs: ON, sleep, idle and OFF durations  Bin data into 3 categories based on % idle time % Idle Time% Energy Saving using Somniloquy <25% of the time (7 PCs)38% 25% - 75% of the time (6PCs)68% >75% of the time (9 PCs)85% 37

Stateful Application: Energy Savings Web download “stub” on the gumstix – 200MB flash, download when Desktop PC is asleep – Wake up PC to upload data whenever needed – 92% less energy than using the host PC for download

Summary:  Somniloquy: augment network interfaces of PCs  Maintain reachability and availability transparently  Power consumption similar to a “sleep” state  Incrementally deployable prototype  No changes to infrastructure, application servers  Demonstrable savings  Desktops: reduced energy cost, carbon footprint  Laptops: extend battery lifetime 39

In the context of mobile devices  Network-connected low power processor can:  Sync with  Perform IM tasks  Run Skype in the background  Download music … all without waking up the main processor 40

CLOUD OFFLOAD 41 Application Processor Graphics Unit Memory UnitStorage Wi-Fi & Cell Modem Accelerator SoC (~1W when awake, ~10 mW when asleep) Offload Component (Cloud/PC) Collaborators: Eduardo Cuervo, Aruna Balasubramanian, Alec Wolman, Stefan Saroiu, Victor Bahl

Mobile apps can’t reach their full potential Augmented Reality Speech Recognition and Synthesis Interactive Games Slow, Limited or Inaccurate Too CPU intensive Limited Power Intensive Not on par with desktop counterparts 42

One Solution: Remote Execution  Remote execution can reduce energy consumption  Challenges:  What should be offloaded?  How to dynamically decide when to offload?  How to minimize the required programmer effort? 43

MAUI : Mobile Assistance Using Infrastructure MAUI Contributions:  Combine extensive profiling with an ILP solver  Makes dynamic offload decisions  Optimize for energy reduction  Profile: device, network, application  Leverage modern language runtime (.NET CLR)  To simplify program partitioning  Reflection, serialization, strong typing 44

Roadmap  Motivation  MAUI system design  MAUI proxy  MAUI profiler  MAUI solver  Evaluation 45

Maui server Smartphone Application Client Proxy Profiler Solver Maui Runtime Server Proxy Profiler Solver Maui Runtime MAUI Architecture Application RPC Maui Controller 46

How Does a Programmer Use MAUI?  Goal: make it dead-simple to MAUI-ify apps  Build app as a standalone phone app  Add.NET attributes to indicate “remoteable”  Follow a simple set of rules 47

Run-Time Support For Partitioning  Portability:  Mobile (ARM) vs Server (x86) .NET Framework Common Intermediate Language  Type-Safety and Serialization:  Automate state extraction  Reflection:  Identifies methods with [Remoteable] tag  Automates generation of RPC stubs 48

Maui server Smartphone Application Client Proxy Profiler Solver Maui Runtime Server Proxy Profiler Solver Maui Runtime Application RPC Maui Controller MAUI Proxy Intercepts Application Calls Synchronizes State Chooses local or remote Handles Errors Provides runtime information 49

MAUI Profiler Profiler Callgraph Execution Time State size Network Latency Network Bandwidth Device Profile CPU Cycles Network Power Cost Network Delay Computational Delay Computational Power Cost Computational Delay Annotated Callgraph 50

MAUI Solver B 900 mJ 15ms C 5000 mJ 3000 ms 1000mJ mJ D mJ ms mJ A Computation energy and delay for execution Energy and delay for state transfer A sample callgraph 51

Is Global Program Analysis Needed? FindMatch 900 mJ InitializeFace Recognizer 5000 mJ 1000mJ mJ DetectAndExtract Faces mJ mJ User Interface Yes! – This simple example from Face Recognition app shows why local analysis fails. Cheaper to do local 52

Is Global Program Analysis Needed? FindMatch 900 mJ InitializeFace Recognizer 5000 mJ 1000mJ mJ DetectAndExtract Faces mJ mJ User Interface Yes! – This simple example from Face Recognition app shows why local analysis fails. Cheaper to do local 53

Is Global Program Analysis Needed? FindMatch InitializeFace Recognizer 1000mJ DetectAndExtract Faces User Interface 25900mJ Cheaper to offload 54

Adapting to Changing Conditions  Adapt to:  Network Bandwidth/Latency Changes  Variability on method’s computational requirements  Experiment:  Modified off the shelf arcade game application  Physics Modeling (homing missiles)  Evaluated under different latency settings 55

DoLevel HandleMissiles DoFrame HandleEnemies HandleBonuses 11KB + missiles missiles *Missiles take around 60 bytes each 11KB + missiles Required state is smaller Complexity increases with # of missiles Adapting to Changing Conditions? 56

Case 1 DoLevel HandleMissiles DoFrame HandleEnemies HandleBonuses *Missiles take around 60 bytes each  Zero Missiles  Low latency (RTT < 10ms) Computation cost is close to zero Offload starting at DoLevel 57

Case 2 DoLevel HandleMissiles DoFrame HandleEnemies HandleBonuses *Missiles take around 60 bytes each  5 Missiles  Some latency (RTT = 50ms) Most of the computation cost Very expensive to offload everything Little state to offload Only offload Handle Missiles 58

Roadmap  Motivation  MAUI system design  MAUI proxy  MAUI profiler  MAUI solver  Evaluation 59

MAUI Implementation  Platform  Windows Mobile 6.5 .NET Framework 3.5  HTC Fuze Smartphone  Monsoon power monitor  Applications  Chess  Face Recognition  Arcade Game  Voice-based translator 60

Questions  How much can MAUI reduce energy consumption?  How much can MAUI improve performance?  Can MAUI Run Resource-Intensive Applications? 61

How much can MAUI reduce energy consumption? Big savings even on 3G An order of magnitude improvement on Wi-Fi Face Recognizer 62

How much can MAUI improve performance? Improvement of around an order of magnitude Face Recognizer 63

Latency to server impacts opportunities for fine-grained offload Up to 40% energy savings on Wi-Fi Solver would decide not to offload Arcade Game 64

Can MAUI Run Resource-Intensive Applications? CPU Intensive even on a Core 2 Duo PC Can be run on the phone with MAUI Translator 65

SUMMARY 66

Looking ahead…  Mechanisms are in place  Low power cores in the SoC  TI and others …  Big.Little processors from ARM  Expected by end of year  Smart Web Services  Offload Policies: the next big move? 67