상지대학교 컴퓨터공학과 고 광 만
Mobile Cloud Offloading
Mobile Cloud Offloading, kkman@sangji.ac.kr 5/1/17
People Truly Love Their Smartphones
Mobile Cloud Offloading, kkman@sangji.ac.kr 2
5/1/17
Source of Dissatisfaction
Mobile Cloud Offloading, kkman@sangji.ac.kr 3
5/1/17
Process Performance Improvement
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
4
Battery Lifetime Capacity Improvement
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
5
Reasons for SLOW Enhancement in Battery Lifetime
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
6
Battery capacity is continually increasing Energy Efficiency ISSUES
But, power consumption of a mobile devices remains steady due to demand for new hardware technologies
¤
Higher resolution display
¤
Higher pixel Camera
¤
Faster wireless network
¤
New sensors including NFC, fingerprint scanner, etc.
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
7
Forthcoming Applications, SW, technologies demand extremely higher performance
¤
Multimedia Processing
¤
Holographic and 3D media processing
¤
Bigdata processing
¤
Augmented Reality
Mobile apps can’t reach their full potential
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
8
Augmented Reality
Speech Recognition and Synthesis Interactive Games Slow, Limited
or Inaccurate
Too CPU
intensive Limited
Power Intensive
Not on par with
desktop counterparts
Problems Ahead
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
9
WE want
¤ to keep power consumption constraint
¤ to drastically boost up performance
Computation Offloading
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
10
Let’s shift difficult and dirty works to someone else, CLUOD.
Computation‐intensive Offloading
Computation Offloading Architecture
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
11
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
Offloading
solution to augment these mobile systems’ capabilities by migrating computation to more resourceful computers (i.e., servers)
this is different from the traditional client‐server architecture.
A significant amount of research has been performed on computation offloading:
making it feasible
making offloading decisions
developing offloading infra‐ structures
■
Issue 1,
■
Offloading may save energy and improve performance on mobile systems.
■
However, this usually depends on many parameters
■
the network bandwidths
■
the amounts of data exchanged through the networks.
■
Many algorithms have been proposed to make offloading decisions to improve performance or save energy
13
■
Issues 2,
■
Offloading requires access to resourceful computers for short durations through networks, wired or wireless.
■
These servers may use virtualization to provide offloading services so that different programs and their data can be isolated and
protected.
■
Issues 3,
■
Offloading may be performed at the levels of
■
methods,
■
tasks
■
applications
■
virtual machines
■
The common approaches used to make offloading decisions:
■
why to offload (improve performance or save energy)
■
when to decide offloading (static vs dynamic)
■
what mobile systems use offloading (laptops, PDAs, robots, sensors)
■
types of applications (multimedia, gaming, calculators, text editors, predictors)
■
infrastructures for offloading (grid and cloud computing).
15
Case Study: Face‐detection
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
17
Case Study: Real‐time Subtitle Generator
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
18
More Offloading Extension
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
19
● Mobile Cloud Computing (MCC)
●
Computation Offloading + Capability Extension
●
Computation‐intensive Offloading
● Improve performance and energy efficiency
● Communication‐intensive Offloading
●
Capability Extension
● Enable impossible things by using cloud resource other than
processor
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
20
Types of Computation Offloading
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
21
Method‐level Offloading
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
22
MAUI: Mobile Assistance Using Infrastructure
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
23
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
MAUI Architecture
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
24
Maui server Smartphone
Application
Client Proxy
Profiler Solver Maui Runtime
Server Proxy
Profiler Solver Maui Runtime
Application
RPC
RPC
Maui Controller
How Does a Programmer Use MAUI?
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
25
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
Language Run‐Time Support For Partitioning
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
26
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 Profiler
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
27
Profiler
Callgraph
Execution Time
State size
y Network Latency
h Network Bandwidth Device Profile
CPU Cycles
Network Power Cost Network Delay Computational Delay Computational Power Cost
Computational Delay Callgraph Annotated
Is Global Program Analysis Needed?
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
28
Yes! – This simple example from Face Recognition app shows why local analysis fails.
FindMatch 900 mJ
InitializeFace Recognizer
5000 mJ 1000mJ
DetectAndExtract Faces
15000 mJ User
Interface
Cheaper to do local
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
29
FindMatch
InitializeFace Recognizer
1000mJ
DetectAndExtract Faces
User
Interface 25900mJ
Cheaper to offload
Can MAUI Adapt to Changing Conditions?
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
30
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
How much can MAUI improve performance?
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
31
Face Recognizer
offload
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
32
Up to 40% energy savings on Wi‐Fi Solver would decide not
to offload
Arcade Game
Can MAUI Run Resource‐Intensive Applications?
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
33
CPU Intensive even on a Core 2 Duo PC
Can be run on the phone with MAUI
Translator
Can MAUI Run Resource‐Intensive Applications?
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
34
CPU Intensive even on a Core 2 Duo PC
Can be run on the phone with MAUI
Translator
Cuckoo: A Computation Offloading Framework
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
35
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
36
Is Offloading Really Effective ??
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
37
Is Offloading Really Effective ??
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
38
Is Offloading Really Effective ??
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
39
Is Offloading Really Effective ??
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
40
Mobile Edge Computing
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
41
● Mobile Edge Computing enables mobile subscribers to access IT and cloud computing services at the close proximity within the range of Radio Access Network (RAN).
● The main goal of Mobile Edge Computing to reduce latency by
bringing the computation and storage capacity from the core WAN to the edge network.
● Mobile Edge Computing can be defined as
“Mobile Edge Computing is a model for enabling business oriented, cloud computing platform within the radio access network at the close proximity of mobile subscribers to serve delay sensitive,
context aware applications.”
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
Enpiler: Energy‐aware offloading framework through comPiler code analysis techniques
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
43
IoT Applications in Mobile Edge Cloud Computing Environments
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
44
Mobile Edge Server - 2
Mobile Edge Server - 3
Mobile Edge Server - n
Mobile Edge Server - 1
(AR/VR Gaming Processing) Mobile Device
Mobile Edge Server Side
(Sensing Bigdata Processing) Mobile Device
(Multimedia Image Processing) Mobile Device Concurrent
Modules
Distributed Offloading
Concurrent Modules
Concurrent Modules
Key Management Server
Selected Publications
5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
45
■ 고광만(교신) 외 4인, "Enabling Far-Edge Analytics: Performance Profiling of Frequent Pattern Mining Algorithms," Sensors(IF: 2.033, Q2), April 2017.
■ 고광만(교신) 외 4인, "SIMDOM: A Framework for SIMD Instruction Translation and Offloading in Heterogeneous MCC Architectures,"
Transactions on Emerging Telecommunications Technologies (IF: 1.130,
Q1), February 2017.
■ 고광만(교신) 외 3인, Optimization Techniques to Enable Execution
Offloading for 3D Video Games", Multimedia Tools and Applications(IF:
1.345, Q2), July 2016.
■ 고광만(공동) 5인, "A Case and Framework for Code Analysis Based
Mobile Application Energy
Estimation," International Journal of Communication Systems (IF 1.02, Q3), December 2016.■ 고광만(공동) 외 6인, "Towards native code offloading based MCC
frameworks for multimedia applications: A survey," Journal of Network and Computer Applications(IF: 2.413, Q1), November 2016.
■ 고광만(교신), "Reduction of Media Servers Overload with Energy-saving
Adaptive Streaming", Mobile Information Systems(IF: 1.463, Q2), Article
ID 7462821, Jan., 2016.5/1/17 Mobile Cloud Offloading, kkman@sangji.ac.kr
■
Q&A
■