Cellular Networks and Mobile Computing COMS 6998-10, Spring 2013
Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012
description
Transcript of Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012
![Page 1: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/1.jpg)
Cellular Networks and Mobile ComputingCOMS 6998-8, Spring 2012
Instructor: Li Erran Li ([email protected])
http://www.cs.columbia.edu/~coms6998-8/1/23/2012: Mobile Cloud Computing
![Page 2: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/2.jpg)
Mobile Cloud Computing (mCloud) today
• Apple iCloud– Store content in cloud and
sync to all registered devices
– Hosted by Windows Azure and Amazon AWS
– iCloud Storage APIs support third-party app document syncing
21/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)
![Page 3: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/3.jpg)
Mobile Cloud Computing today (Cont’d)
• Amazon Silk browser– Accelerates web access– Learns user behavior and
precache– Intelligently partition work
between local and Amazon cloud
31/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)
![Page 4: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/4.jpg)
mCloud Fundamental Challenges
• What architecture best supports mCloud?• What programming model best enables client
to tap mCloud resources?• What are basic services or building blocks for
mCloud?• What best supports service interaction?
41/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)
![Page 5: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/5.jpg)
mCloud Architecture• Resource-intensive mobile
applications– Face recognition for social
networking app– Gesture recognition for control
media app – Object and post recognition for
augmented reality app• End-to-end latency and througput
matters for crisp interaction– Augmented reality need to display
results within 1 sec– Need high data rate processing
capability, low frame rate can miss gesture
5
Delay, loss on frame rate of video stream transfer [Odessa, 2011]
1/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)
![Page 6: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/6.jpg)
mCloud Architecture (Cont’d)• WAN performance
– First hop latency in 3G is 200ms– Verizon LTE :128ms, 6.44 Mbps
downlink, 5Mbps uplink [Pcworld, March 2011]
• There is a need for a middle tier
• cloudlet = (compute cluster+ wireless access point+ wired Internet access+ no battery limitations)
• “data center in a box”6
“Anatomizing Application Performance Differences on Smartphones”, MobiSys 2010 (Huang et al)
1/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)
![Page 7: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/7.jpg)
mCloud Architecture (Cont’d)
• Cloudlet possible locations• Cellular providers has a unique advantage
7
BS
Wireless Core
Internet
WiFi AP
RDCA1
RDCA2
RDCB1
RDCB2
Regional Data centers (RDC)
RNC
Storage nodes
Computenodes
Possible locationsof cloudlet
1/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)
![Page 8: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/8.jpg)
mCloud Programming Model• MAUI: RPC based offloading architecture• Odessa: data-flow graph to exploit parallelism in
perception applications• CloneCloud: tight synchronization between cloud and
phone• Orelans: a new programming model based on grains• MAUI, CloneCloud , Odessa all have profiler, solver
8
MAUI CloneCloud Odessa Orleans
Remote execution unit
Methods (RMI)
Threads Tasks Grains
1/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)
![Page 9: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/9.jpg)
mCloud Programming Model: MAUI
• 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
• Identifies methods with [Remoteable] tag• Automates generation of RPC stubs
91/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)
![Page 10: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/10.jpg)
Maui serverSmartphone
Application
Client Proxy
Profiler
Solver
Maui Runtime
Server Proxy
Profiler
Solver
Maui Runtime
Application
RPC
RPC
Maui Controller
mCloud Programming Model: MAUI (Cont’d)
Intercepts Application CallsSynchronizes State
Chooses local or remote
Handles Errors
Provides runtime information
• MAUI architecture
1/23/12 Cellular Networks and Mobile Computing (COMS 6998-8) 10
![Page 11: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/11.jpg)
mCloud Programming Model: CloneCloud
• Offloading decision done at beginning of execution
111/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)
![Page 12: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/12.jpg)
mCloud Programming Model: Odessa• Data flow graph: vertices are stages; edges are connectors;
stages share nothing
12Face Recognition Gesture Recognition1/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)Object Pose Estimation
![Page 13: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/13.jpg)
mCloud Programming Model: Odessa (Cont’d)
• Offloading DEcision System for Streaming Applications
NetworkApplication
Sprout
Odessa
Mobile Device
Application
SproutOdessa Profiler
Cloud Infrastructure
OdessaRuntime Profiler Decision
Engine
1/23/12Cellular Networks and Mobile Computing
(COMS 6998-8) 13
![Page 14: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/14.jpg)
mCloud Programming Model: Odessa (Cont’d)
14
B2
Network
CB A
B1 A
Application Data Flow Graph Screen
C
Local Execution
Cost
RemoteExecution
Cost>1/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)Smartphone
Cloud Infrastructure
Incremental decisions adapt quickly to input and platform variability.
![Page 15: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/15.jpg)
mCloud Programming Model: Orleans
15
• Software framework and runtime to make cloud programming easier and more productive
• Shift burden of correctness and performance from developer to Orleans system
• Experimental system from Microsoft Research
• Radically simplified, prescriptive programming model – Actors– Asynchronous messaging– Lightweight transactions– Persistence– Adaptive performance management
Application
Orleans
.NET
Azure
Servers
1/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)
![Page 16: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/16.jpg)
mCloud Programming Model: Orleans (Cont’d)
• Actor based: fine-grain distributed objects are natural abstraction
• Grains partition data• Secure and isolated computation with clear
points of communications– Enable computation replication
• Natural integration with persistent storage– Grain resides on disk until activated
16
1/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)
![Page 17: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/17.jpg)
mCloud Programming Model: Orleans (Cont’d)
17
Field ValueName “John Doe”Email “john.doe@hotmail
.com”Address “123 Main St.,
Anywhere UR 01234”
Products
Grain ID1Grain
ID2
Checkout
AddProduct
RemoveProduct
Grain (actor)
Customer GrainMessages
State
MethodsMessage Queue
1/23/12Cellular Networks and Mobile Computing
(COMS 6998-8)
![Page 18: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/18.jpg)
mCloud Building Blocks• Basic services: platform services and application services
18
CDNs
Memcache
Platform services
Storage
Databases
Compute nodes
Web acceleration
Bakcup/sync
Constructed services
Video streaming
proxy
Application services
Speech/image
recognition
Presence
Gaming
Constructed services
Platform services
Moble e-commerce
Location-based
applicationsData analytics
1/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)
![Page 19: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/19.jpg)
mCloud Building Blocks (Cont’d)
• Construct more sophisticated services– Context-aware mCloud
services– Crowd-sourced mCloud
services
19
Distributed Storage
Mobile Networks Sensor NetworksSocial Networks
Privacy Privacy Privacy
Group Privacy/Anonymization
Data Mining/Inference
Recommendation
Context-Aware Mobile App’s
1/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)
![Page 20: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/20.jpg)
Support for Service Interaction
• Synergy of mCloud services– Shared basic services enables more efficient usage of
cloud resources(e.g. shared memcache eliminates data duplication of individual services)
– Co-location makes mashed-up applications to achieve native performance (file transfer becomes an object reference)
• mCloud offers shared platform services• mCloud optimizes service interaction through
active VM migration201/23/12 Cellular Networks and Mobile Computing
(COMS 6998-8)
![Page 21: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012](https://reader035.fdocuments.us/reader035/viewer/2022062813/56816658550346895dd9d897/html5/thumbnails/21.jpg)
Closing Thoughts
• Cloud computing needs to advance in architecture, programming model, platform services to revolutionize mobile computing
211/23/12 Cellular Networks and Mobile Computing (COMS 6998-8)