Transcript
Page 1: Cellular Networks and Mobile Computing COMS 6998-8, Spring 2012

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)


Top Related