Advancements in Mobile Computing and Energy Efficiency
Researchers at various universities and Microsoft Research are addressing challenges in mobile computing such as battery efficiency and performance limitations. They are exploring solutions like remote execution, MAUI system design, and portability between mobile and server platforms to optimize energy consumption and improve application performance.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Eduardo Cuervo -Duke Aruna Balasubramanian -U Mass Amherst Dae-kiCho -UCLA Alec Wolman, Stefan Saroiu, Ranveer Chandra, Paramvir Bahl Microsoft Research
Li-Ion Energy Density 250 200 150 Wh/Kg 100 Just 2X in 15 years 50 0 91 92 93 94 95 96 97 98 99 00 01 02 03 04 05 Year CPU performance during same period: 246X A solution to the battery problem seems unlikely
Not on par with desktop counterparts Slow, Limited or Inaccurate Power Intensive Interactive Games Speech Recognition and Synthesis Too CPU intensive Limited Augmented Reality
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?
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
Motivation MAUI system design MAUI proxy MAUI profiler MAUI solver Evaluation Conclusion
Maui Runtime Maui Runtime RPC Server Proxy Client Proxy Application Application Profiler Profiler RPC Solver Solver Maui Controller Maui server Smartphone
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
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
Maui Runtime Maui Runtime Handles Errors RPC Provides runtime information Server Proxy Client Proxy Application Intercepts Application Calls Application Synchronizes State Profiler Profiler RPC Solver Chooses local or remote Solver Maui Controller Maui server Smartphone
CPU Cycles State size Device Profile Execution Time Network Latency Profiler Callgraph Network Bandwidth Annotated Callgraph Network Power Cost Network Delay Computational Delay Computational Power Cost Computational Delay
A sample callgraph C 5000 mJ 3000 ms B 1000mJ 900 mJ 15ms A Energy and delay for state transfer Computation energy and delay for execution D 15000 mJ 12000 ms
Yes! This simple example from Face Recognition app shows why local analysis fails. InitializeFace Recognizer 5000 mJ 1000mJ User Interface FindMatch 900 mJ Cheaper to do local DetectAndExtract Faces 15000 mJ
Yes! This simple example from Face Recognition app shows why local analysis fails. InitializeFace Recognizer 5000 mJ Cheaper to do local 1000mJ User Interface FindMatch 900 mJ DetectAndExtract Faces 15000 mJ Cheaper to do local
InitializeFace Recognizer 1000mJ User Interface 25900mJ FindMatch Cheaper to offload DetectAndExtract Faces
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
HandleEnemies 11KB + missiles HandleBonuses DoFrame DoLevel 11KB + missiles Required state is smaller HandleMissiles Complexity increases with # of missiles *Missiles take around 60 bytes each
Zero Missiles Low latency (RTT < 10ms) HandleEnemies HandleBonuses DoFrame DoLevel Offload starting at DoLevel HandleMissiles Computation cost is close to zero *Missiles take around 60 bytes each
5 Missiles Some latency (RTT = 50ms) HandleEnemies HandleBonuses DoFrame DoLevel Very expensive to offload everything Little state to offload HandleMissiles Only offload Handle Missiles Most of the computation cost *Missiles take around 60 bytes each
Motivation MAUI system design MAUI proxy MAUI profiler MAUI solver Evaluation Conclusion
Platform Windows Mobile 6.5 .NET Framework 3.5 HTC Fuze Smartphone Monsoon power monitor Applications Chess Face Recognition Arcade Game Voice-based translator
How much can MAUI reduce energy consumption? How much can MAUI improve performance? Can MAUI Run Resource-Intensive Applications?
Face Recognizer 35 Smartphone only MAUI (Wi-Fi, 10ms RTT) MAUI (Wi-Fi, 25ms RTT) MAUI (Wi-Fi, 50ms RTT) MAUI (Wi-Fi, 100ms RTT) MAUI* (3G, 220ms RTT) 30 25 Energy (Joules) 20 15 10 Big savings even on 3G An order of magnitude improvement on Wi-Fi 5 0
Face Recognizer 21,000 Smartphone only MAUI (Wi-Fi, 10ms RTT) MAUI (Wi-Fi, 25ms RTT) MAUI (Wi-Fi, 50ms RTT) MAUI (Wi-Fi, 100ms RTT) MAUI* (3G, 220ms RTT) 18,000 Execution Duration (ms) 15,000 12,000 9,000 Improvement of around an order of magnitude 6,000 3,000 0
Solver would decide not to offload Arcade Game 60 Smartphone only MAUI (Wi-Fi, 10ms RTT) MAUI (Wi-Fi, 25ms RTT) Energy (Joules) 40 MAUI (Wi-Fi, 50ms RTT) MAUI (WiFi, 100ms RTT) MAUI* (3G, 220ms RTT) 20 0 Up to 40% energy savings on Wi-Fi
Translator 100 Can be run on the phone with MAUI 90 80 CPU Consumption (%) 70 60 50 CPU1 40 CPU2 30 CPU Intensive even on a Core 2 Duo PC 20 10 0 00:00 00:43 01:26 Time 02:10 02:53
Motivation MAUI system design MAUI proxy MAUI profiler MAUI solver Evaluation Conclusion
MAUI enables developers to: Bypass the resource limitations of handheld devices Low barrier entry: simple program annotations For a resource-intensive application MAUI reduced energy consumed by an order of magnitude MAUI improved application performance similarly MAUI adapts to: Changing network conditions Changing applications CPU demands
http://research.microsoft.com/en-us/projects/maui/ ecuervo@cs.duke.edu