• 검색 결과가 없습니다.

Systems Mobile Cloud and Edge

N/A
N/A
Protected

Academic year: 2022

Share "Systems Mobile Cloud and Edge"

Copied!
33
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

Mobile Cloud and Edge

Systems

(2)

Overview

 Objective

To understand the use of cloud systems for mobile computing

 Content

Introduction to cloud systems for mobile computing

MAUI: Making Smartphones Last Longer With Code Offload

 After this module, you should be able to

Understand the importance of cloud systems to enable rich applications with resource-constrained mobile devices

(3)

Today’s Computing Platforms

• numerous

• diverse

• distributed

• parallel

• cloud

• mobile

Trends: Traits:

Unprecedented software engineering challenges in reliability, productivity, scalability, energy-efficiency

(4)

Why Cloud? (over local computation)

(5)

Why Cloud? (over its own server)

(6)

A Challenge in Mobile Computing

• Rich apps are hindered by resource-constrained

mobile devices (battery, CPU, memory, ...)

How can we seamlessly partition mobile apps and offload compute-

intensive parts to the cloud?

(7)

A Challenge in Cloud Computing

How can we isolate the computational resource for

multiple applications, schedule them, and optimize them?

scheduling resource isolation

energy efficiency service level

agreements

(8)

Edge Computing and IoT

(9)

MAUI: Making Smartphones Last Longer

With Code Offload

MobiSys 2010

(10)

Battery is a Scarce Resource

 CPU performance during same period: 24 6X

 A solution to the battery problem seems unlikely

Just 2X in 15 years

(11)

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

(12)

Approach: Remote Execution

• Remote execution can reduce energy consumption

• Challenges:

• What should be offloaded?

• Leave to programmers? Full VM-migration?

• How to dynamically decide when to offload?

• Network conditions / program execution could change dynamically!

• How to minimize the required programmer effort?

(13)

Key Observations

• Offloading Code works better when RTT is small.

• Volume of offloaded code sub-linear overhead.

(14)

MAUI: Mobile Assistance Using Infrastructure

• Combine extensive profiling with an ILP (Integer Linear Programming) solver

• Makes dynamic offload decisions

• Optimize for energy reduction

• Profile: energy for local execution vs. state transfer

• Leverage modern language runtime (.NET CLR)

• Codes are portable between mobile and cloud

• To simplify program partitioning

(15)

Maui server Smartphone

Application

Client Proxy

Profiler Solver Maui Runtime

Server Proxy

Profiler Solver Maui Runtime

MAUI Architecture

Application

RPC

RPC

Maui Controller

(16)

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”

• UI and sensing can’t be remoteable.

• Follow a simple set of rules

(17)

Language Run-Time Support For Partitioning

• Portability:

• Mobile (ARM) vs Server (x86)

• .NET Framework Common Intermediate Language

• Reflection:

• Identifies methods with [Remoteable] tag

• Automates generation of RPC stubs

• Type-Safety and Serialization:

• Automate state extraction

(18)

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 information

(19)

MAUI Proxy: Control and Data Transfer

MAUI supports fine-grained offload at the method-level

At compile time:

• Find [remoteable] methods

• Produce client- and server-side stubs for all remoteable methods

At run time:

• Decide whether to invoke local or remote method

• Perform state synchronization when control transfers (in either direction)

• Identify what program state to transfer

• Serialize (deep copy): method parameters, class member variables, public sta tic members

• Use deltas to reduce the data transfer overhead

(20)

MAUI: Why Not Static Partitioning?

• Failure model: when phone is disconnected, or even intermittently connected, applications don’t work

• Device Scaling: Developers need to revisit application structure as device characteristics change

• Dynamic Context: The portion of an app that makes

sense to download changes based on the latency to the

MAUI server

(21)

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

(22)

MAUI Solver

B 900 mJ

15ms

C

5000 mJ 3000 ms 1000mJ

D

15000 mJ 12000 ms

A

Computation energy and delay for execution Energy and delay for state transfer

A sample callgraph

(23)

Is Global Program Analysis Needed?

FindMatch 900 mJ

InitializeFace Recognizer

5000 mJ 1000mJ

DetectAndExtract Faces

15000 mJ User

Interface

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

Cheaper to do local

(24)

Is Global Program Analysis Needed?

FindMatch 900 mJ

InitializeFace Recognizer

5000 mJ 1000mJ

DetectAndExtract Faces

15000 mJ User

Interface

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

Cheaper to do local

Cheaper to do local

(25)

Is Global Program Analysis Needed?

FindMatch

InitializeFace Recognizer 1000mJ

DetectAndExtract Faces

User

Interface

25900mJ

Cheaper to offload

(26)

The Actual Optimization Problem

• An ILP Formulation

• Solved on the cloud for efficiency reasons

Iv: Indicator=1 if remote execution

Time to execute method in a location Different than its upstream neighbor Only remoteable methods can

be executed remotely

(27)

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

(28)

Questions

• How much can MAUI reduce energy consumption?

• How much can MAUI improve performance?

• Can MAUI Run Resource-Intensive Applications?

(29)

0 5 10 15 20 25 30 35

Energy (Joules)

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)

How Much can MAUI Reduce Energy Consumption?

Big savings even on 3G An order of magnitude

improvement on Wi-Fi

Face Recognizer

(30)

How Much can MAUI Improve Performance?

0 3,000 6,000 9,000 12,000 15,000 18,000 21,000

Execution Duration (ms)

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)

Improvement of around an order of magnitude

Face Recognizer

(31)

Latency to Server Impacts the Opportunities for Fine-Grained Offload

0 20 40 60

Energy (Joules)

Smartphone only

MAUI (Wi-Fi, 10ms RTT) MAUI (Wi-Fi, 25ms RTT) MAUI (Wi-Fi, 50ms RTT) MAUI (WiFi, 100ms RTT) MAUI* (3G, 220ms RTT)

Up to 40% energy savings on Wi-Fi

Solver would decide not to offload

Arcade Game

(32)

Can MAUI Run Resource-Intensive Applications?

0 10 20 30 40 50 60 70 80 90 100

00:00 00:43 01:26 02:10 02:53

CPU Consumption (%)

Time

CPU1 CPU2

CPU Intensive even on a Core 2 Duo PC

Can be run on the phone with MAUI

Translator

(33)

Conclusions

• 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

참조

관련 문서

While existing radiation measuring devices could be used only to a limited extent, radiation measuring devices based on the Internet of Things and disaster prevention

11 Mobile and Embedded Machine Learning Systems: Basics 12 Mobile and Embedded Machine Learning Systems:

 Linear systems, linear control systems, system applications (com- munication, energy, mechanical, electrical power, signal, ...). 

• Small lot sizes in both the production process and deliveries from suppliers field a number of benefits that enable JIT systems to operate effectively.. • With small

VMware Cloud SDDC and Hybrid

If local computing power is selected, the drone platform runs the standard q-learning prediction algorithm and updates the Q-table, then reads the sensor's SINR data,

• Gradient pump - Delivers variable mobile phase composition;. •can be used to mix and deliver an isocratic mobile phase or a

Second, as a result of bootstrapping results the to digital communication competencies mediate relationship between high-performance human resource management