/
MAUI: Making  Smartphones MAUI: Making  Smartphones

MAUI: Making Smartphones - PowerPoint Presentation

tawny-fly
tawny-fly . @tawny-fly
Follow
347 views
Uploaded On 2018-12-07

MAUI: Making Smartphones - PPT Presentation

Last Longer With Code Offload Eduardo Cuervo Duke Aruna Balasubramanian U Mass Amherst Daeki Cho UCLA Alec Wolman Stefan Saroiu Ranveer Chandra Paramvir Bahl Microsoft Research ID: 738210

missiles maui energy offload maui missiles offload energy proxy network application server local state runtime profiler latency solver intensive

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "MAUI: Making Smartphones" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

MAUI: Making Smartphones Last Longer With Code Offload

Eduardo Cuervo

-

Duke

Aruna Balasubramanian - U Mass Amherst

Dae-ki

Cho - UCLA

Alec Wolman, Stefan Saroiu, Ranveer Chandra,

Paramvir

Bahl – Microsoft ResearchSlide2

Battery is a scarce resource

CPU performance during same period:

24

6XA solution to the battery problem seems unlikely

Just 2X in 15 yearsSlide3

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 counterpartsSlide4

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

MAUI: Mobile

A

ssistance

Using InfrastructureMAUI Contributions:Combine extensive profiling with an ILP solverMakes dynamic offload decisionsOptimize for energy reductionProfile: device, network, application

Leverage modern language runtime (.NET CLR)To simplify program partitioningReflection, serialization, strong typingSlide6

RoadmapMotivation

MAUI system design

MAUI proxy

MAUI profilerMAUI solverEvaluationConclusionSlide7

Maui server

Smartphone

Application

Client Proxy

Profiler

Solver

Maui Runtime

Server

Proxy

Profiler

Solver

Maui Runtime

MAUI Architecture

Application

RPC

RPC

Maui ControllerSlide8

How Does a Programmer Use MAUI?

Goal: make it dead-simple to MAUI-

ify

appsBuild app as a standalone phone appAdd .NET attributes to indicate “remoteable”Follow a simple set of rulesSlide9

Language Run-Time Support For Partitioning

Portability:

Mobile (ARM)

vs Server (x86).NET Framework Common Intermediate LanguageType-Safety and Serialization: Automate state extractionReflection: Identifies methods with [Remoteable] tagAutomates generation of RPC stubsSlide10

Maui server

Smartphone

Application

Client Proxy

Profiler

Solver

Maui Runtime

Server

Proxy

Profiler

Solver

Maui Runtime

Application

RPC

RPC

Maui Controller

MAUI Proxy

Intercepts Application Calls

Synchronizes State

Chooses local or remote

Handles Errors

Provides runtime informationSlide11

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 CallgraphSlide12

MAUI Solver

B

900

mJ

15ms

C

5000

mJ

3000 ms

1000mJ

25000

mJ

D

15000

mJ

12000 ms

10000

mJ

A

Computation energy and delay for execution

Energy and delay for state transfer

A sample

callgraphSlide13

Is Global Program Analysis Needed?

FindMatch

900

mJ

InitializeFace

Recognizer

5000

mJ

1000mJ

25000

mJ

DetectAndExtract

Faces

15000

mJ

10000

mJ

User

Interface

Yes! – This simple example from Face Recognition app shows why local analysis fails.

Cheaper to do localSlide14

Is Global Program Analysis Needed?

FindMatch

900

mJ

InitializeFace

Recognizer

5000

mJ

1000mJ

25000

mJ

DetectAndExtract

Faces

15000

mJ

10000

mJ

User

Interface

Yes! – This simple example from Face Recognition app shows why local analysis fails.

Cheaper to do local

Cheaper to do localSlide15

Is Global Program Analysis Needed?

FindMatch

InitializeFace

Recognizer

1000mJ

DetectAndExtract

Faces

User

Interface

25900mJ

Cheaper to offloadSlide16

Can MAUI Adapt to Changing Conditions?

Adapt to:

Network Bandwidth/Latency Changes

Variability on method’s computational requirementsExperiment:Modified off the shelf arcade game applicationPhysics Modeling (homing missiles)Evaluated under different latency settingsSlide17

DoLevel

HandleMissiles

DoFrame

HandleEnemies

HandleBonuses

11KB + missiles

11KB + missiles

missiles

*Missiles take around 60 bytes each

11KB + missiles

Required state is smaller

Complexity increases with # of missiles

Can MAUI Adapt to Changing Conditions?Slide18

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

DoLevelSlide19

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 MissilesSlide20

RoadmapMotivation

MAUI system design

MAUI proxy

MAUI profilerMAUI solverEvaluationConclusionSlide21

MAUI Implementation

Platform

Windows Mobile 6.5

.NET Framework 3.5HTC Fuze SmartphoneMonsoon power monitorApplicationsChessFace RecognitionArcade GameVoice-based translatorSlide22

Questions

How much can MAUI reduce energy consumption?

How much can MAUI improve performance?

Can MAUI Run Resource-Intensive Applications?Slide23

How much can MAUI reduce energy consumption?

Big savings even on 3G

An order of magnitude improvement on Wi-Fi

Face RecognizerSlide24

How much can MAUI improve performance?

Improvement of around an order of magnitude

Face RecognizerSlide25

Latency to server impacts the opportunities for fine-grained offload

Up to 40% energy savings on Wi-Fi

Solver would decide not to offload

Arcade GameSlide26

Can MAUI Run Resource-Intensive Applications?

CPU Intensive even on a Core 2 Duo PC

Can be run on the phone with MAUI

TranslatorSlide27

RoadmapMotivation

MAUI system design

MAUI proxy

MAUI profilerMAUI solverEvaluationConclusionSlide28

Conclusions

MAUI enables developers to:

Bypass the resource limitations of handheld devices

Low barrier entry: simple program annotationsFor a resource-intensive applicationMAUI reduced energy consumed by an order of magnitudeMAUI improved application performance similarlyMAUI adapts to:Changing network conditions Changing applications CPU demandsSlide29

Questions?http://research.microsoft.com/en-us/projects/maui/

ecuervo@cs.duke.edu