Presentation is loading. Please wait.

Presentation is loading. Please wait.

Eduardo Cuervo - Duke Aruna Balasubramanian - U Mass Amherst Dae-ki Cho - UCLA Alec Wolman, Stefan Saroiu, Ranveer Chandra, Paramvir Bahl – Microsoft Research.

Similar presentations


Presentation on theme: "Eduardo Cuervo - Duke Aruna Balasubramanian - U Mass Amherst Dae-ki Cho - UCLA Alec Wolman, Stefan Saroiu, Ranveer Chandra, Paramvir Bahl – Microsoft Research."— Presentation transcript:

1 Eduardo Cuervo - Duke Aruna Balasubramanian - U Mass Amherst Dae-ki Cho - UCLA Alec Wolman, Stefan Saroiu, Ranveer Chandra, Paramvir Bahl – Microsoft Research

2 CPU performance during same period: 24 6X A solution to the battery problem seems unlikely Just 2X in 15 years

3 Augmented Reality Speech Recognition and Synthesis Interactive Games Slow, Limited or Inaccurate Too CPU intensive Limited Power Intensive Not on par with desktop counterparts

4 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?

5 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

6 Motivation MAUI system design MAUI proxy MAUI profiler MAUI solver Evaluation Conclusion

7 Maui server Smartphone Application Client Proxy Profiler Solver Maui Runtime Server Proxy Profiler Solver Maui Runtime Application RPC Maui Controller

8 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

9 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

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

11 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

12 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

13 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

14 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

15 FindMatch InitializeFace Recognizer 1000mJ DetectAndExtract Faces User Interface 25900mJ Cheaper to offload

16 Adapt to: Network Bandwidth/Latency Changes Variability on methods computational requirements Experiment: Modified off the shelf arcade game application Physics Modeling (homing missiles) Evaluated under different latency settings

17 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

18 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

19 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

20 Motivation MAUI system design MAUI proxy MAUI profiler MAUI solver Evaluation Conclusion

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

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

23 Big savings even on 3G An order of magnitude improvement on Wi-Fi Face Recognizer

24 Improvement of around an order of magnitude Face Recognizer

25 Up to 40% energy savings on Wi-Fi Solver would decide not to offload Arcade Game

26 CPU Intensive even on a Core 2 Duo PC Can be run on the phone with MAUI Translator

27 Motivation MAUI system design MAUI proxy MAUI profiler MAUI solver Evaluation Conclusion

28 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

29


Download ppt "Eduardo Cuervo - Duke Aruna Balasubramanian - U Mass Amherst Dae-ki Cho - UCLA Alec Wolman, Stefan Saroiu, Ranveer Chandra, Paramvir Bahl – Microsoft Research."

Similar presentations


Ads by Google