View
214
Download
0
Tags:
Embed Size (px)
Citation preview
The Convergence of Mobile and Cloud Computing
Ramesh [email protected]
University of Southern California
1
2
A Seductive Question…
Network Fabric
The CloudWhen 4 billion smartphones are Internet-connected, how (if at all)
should the Internet architecture change?
Bridging the Capability Gap
3
Capability
Time
As the Smartphone becomes the primary computing device…As the Smartphone becomes the primary computing device…
What the device is capable ofWhat the device is capable of
What users will wantWhat users will want
Bridging the Capability Gap
Dealing with ConstraintsDealing with Constraints
Energy-Delay Tradeoffs in a Video Documentation SystemEnergy-Delay Tradeoffs in a Video Documentation System
Overcoming ConstraintsOvercoming Constraints
Toward Cloud-Assisted Interactive Mobile PerceptionToward Cloud-Assisted Interactive Mobile Perception
4
Energy Constraint
5
Battery Life is an issue for UsabilityBattery Life is an issue for Usability
Opportunity: Multiple peripherals and sensorsOpportunity: Multiple peripherals and sensors
Intelligently use peripherals and sensors to reduce energy
consumption
Video Collection 10 years ago
Video Collection Today
M. Ra, J. Paek, A. Sharma, R. Govindan, M. Krieger, M. Neely, “Energy-Delay Tradeoffs in Smartphone Applications”, ACM Mobisys 2010.
Delay-ToleranceDelay-Tolerance
Many of our users are delay-tolerantTransportation Security
Transportation Security
Dealing withChild development
Issues
Dealing withChild development
Issues
Planning ResearchPlanning Research
But tolerance varies considerably
Transferring Large Volumes of DataTransferring Large Volumes of Data
Leverage Delay ToleranceLeverage Delay Tolerance
Reduce the energy costReduce the energy cost
EDGE/3G WiFi
Energy(J/bit)
Availability
ChannelQuality
HIGHHIGH LOWLOW
HIGHHIGH LOWLOW
Time-VaryingTime-Varying Time-VaryingTime-Varying
Delay transmission
Adapt to wireless channel quality
TIMETIME
EDGE 3G WiFi
video 1video 2
DelayDelayEnergyEnergy
246246242242
9595
305305
5050
320320
JJ secsec
Min-DelayWiFi-OnlyEnergy-Optimal
Optimal can save significant energyOptimal can save significant energy
MDMD MEME EOEO MDMD MEME EOEO
Challenge: How to design the optimal trade-off algorithm?
Challenge: How to design the optimal trade-off algorithm?
Whether, When, WhichWhether, When, Which
Delayed Transmission
Delayed Transmission
TunableDelay-Tolerance
TunableDelay-Tolerance
SALSA
Ignore link qualityIgnore link quality
SALSAKnow-WiFiStatic-DelayWiFi-onlyMin-Delay
Ignore queue backlogIgnore queue backlog
Since SALSA takes all factors into account,
it performs closest to the optimal
Since SALSA takes all factors into account,
it performs closest to the optimal
Additional Delay
Gain? Loss?Save 2% ~ 80% of battery capacity
Save 2% ~ 80% of battery capacity
+ 2 min ~ 2 hour
+ 2 min ~ 2 hour
Energy Savings
Battery
Bridging the Capability Gap
Dealing with ConstraintsDealing with Constraints
Energy-Delay Tradeoffs in a Video Documentation SystemEnergy-Delay Tradeoffs in a Video Documentation System
Overcoming ConstraintsOvercoming Constraints
Toward Cloud-Assisted Interactive Mobile PerceptionToward Cloud-Assisted Interactive Mobile Perception
23
- Interactive. (low latency 10 ~ 100ms)- High data rate. (media data)- Computationally Intensive. (ML/Vision-based algorithms)
- Interactive. (low latency 10 ~ 100ms)- High data rate. (media data)- Computationally Intensive. (ML/Vision-based algorithms)
M. Ra, A. Sheth, L. Mummert, P. Pillai, D. Wetherall, Odessa: Enabling Interactive Perception Applications on Mobile Devices, ACM MobiSys 2011
Challenge
ConstraintConstraint
Many perception applications require significant compute power Many perception applications require significant compute power
Overcoming the constraintOvercoming the constraint
Offload computation to the “cloud”Offload computation to the “cloud”
Offloading decision is non-trivial, since wirelessnetwork bandwidth is also constrained
Offloading decision is non-trivial, since wirelessnetwork bandwidth is also constrained
26
Odessa
A system that automatically and dynamicallyoffloads components of a perception data-flow to the cloud
A system that automatically and dynamicallyoffloads components of a perception data-flow to the cloud27
Applications
Face RecognitionFace Recognition
Pose EstimationPose EstimationGesture RecognitionGesture Recognition
29
Odessa Goals and Techniques
High Throughput (frames per second) Low Latency (time to process a single frame)
High Throughput (frames per second) Low Latency (time to process a single frame)
OffloadingParallelismOffloadingParallelism
Motivation: Offloading
Variable on Inputsfor Face Recognition
Variable on Inputsfor Face Recognition
Variability on network conditionsVariability on network conditions
Variability on different devicesVariability on different devices
Offloading decision should be adaptive.A static decision may not work.
Offloading decision should be adaptive.A static decision may not work.
Parallelism1. Data Parallelism
2. Pipeline Parallelism
Frame 1Frame 1
Frame 2Frame 2 Frame 1Frame 1Frame 3Frame 3
Frame 1Frame 1
Frame 2Frame 2
Frame 3Frame 3
ThroughputMakespanThroughputMakespan
ThroughputThroughput
Motivation: Data Parallelism
Accuracy and execution time of face detection stage (face recognition)
Avg. execution time of SIFT feature extraction stage.(object and pose recognition)
The level of data parallelism affects accuracy and performance much,
and it should consider precedence partition.
The level of data parallelism affects accuracy and performance much,
and it should consider precedence partition.
Motivation: Pipelining
- Desirable # of tokens may be different.- How do we even know right # of tokens a priori?- Desirable # of tokens may be different.- How do we even know right # of tokens a priori?
A static choice of pipeline parallelism can lead to suboptimal makespan
or leave the pipeline underutilized.
A static choice of pipeline parallelism can lead to suboptimal makespan
or leave the pipeline underutilized.
Odessa Design
Lightweight Application Profiler
Lightweight Application Profiler
Uses statistics from application pipeline to make decisions
Uses statistics from application pipeline to make decisions
Decision EngineDecision EngineAdapts data parallelism
and stage offloading.Adapts data parallelism
and stage offloading.
Adaptspipeline parallelism
Adaptspipeline parallelism
Profiler
Stage
Stage
Stage Stage
Stage
Stage
Start Stage
DecisionEngine
DecisionEngine
PiggybackingPiggybacking
Suppressduplicatedinformation
Suppressduplicatedinformation
Report statistics to the decision
engine per frame
Report statistics to the decision
engine per frame
Report
Light-weightLight-weight
Cycles,Parallel Stages
Cycles,Parallel Stages
Decision Engine
Pick a Bottleneck Stage (Start Point)
Compute Stage?
Estimate Necessary Costs
Choose the Best Choice; Offload, Spawn or Do nothing.
Bottleneck is Network Edge
Considerdata parallelism and
stage offloadingsimultaneously
Considerdata parallelism and
stage offloadingsimultaneously
No
Yes
Incremental Algorithm
Incremental Algorithm
Evaluation
ThroughputThroughput
MakespanMakespan
Odessa finds an optimal configuration automatically.
Odessa finds an optimal configuration automatically.
Comparison
FPS: Higher is betterFPS: Higher is better Makespan: Lower is betterMakespan: Lower is better
Odessa shows 3x improvement over competing strategies
Odessa shows 3x improvement over competing strategies