SlideShare a Scribd company logo
Odessa
Enabling Interactive Perception Applications
on Mobile Devices
Miroslav Cupák
Moo-Ryong Ra, Anmol Sheth, Lily Mummertx, Padmanabhan Pillai, David Wetherallo, Ramesh Govindan
25/03/2013
Some slides borrowed from http://catnip.usc.edu/home/.
Outline
● Problem & Contributions
● Metrics
● Applications
● Sprout
● Application Performance
● Design & Implementation
● Evaluation
● Conclusions
Problem
● resource constrained mobile devices
● offloading and parallelism
● interactive perception applications
● requirements
○ crisp response
○ continuous processing
○ compute-intensive
○ performance depending on data
Contributions
● study of offloading & parallelism decisions
● Odessa
○ runtime automatically determining how best to use
offloading and parallelism to achieve responsiveness
and accuracy
● successful evaluation of the greedy
approach
Metrics
● makespan
○ time to execute all stages of computation for a frame
● throughput
○ rate at which frames are processed
● techniques
○ code offloading
○ pipelining
○ data parallelism
Applications
Sprout
● distributed stream processing system
● uses a data flow model to dynamically
distribute processing of an application
● takes care of data transfer, coarse-grained
data parallelism, pipeline parallelism
● Odessa
○ what/when/how to offload on top of Sprout
Application Performance
● observations
○ offloading must be made dynamically (input
variability, network bandwidth, device parameters)
○ data parallelism cannot be determined apriori
○ static choice of pipeline parallelism is not optimal
● setup
○ netbook (1 core), laptop (2 cores), server (8 cores)
○ 30 fps, 640x480 px video, 3000 (500) frames
○ network bandwidth emulation
Input Data Variability
Variability Across Mobile Platforms
Network Performance
Data & Pipeline Parallelism
Design
● goals
○ minimize makespan and maximize throughput
○ quick response to environment changes
○ low computation and communication overhead
● parts
○ application profiler
○ decision engine
Profiler
● lightweight, online
● piggybacking approach
● function
○ maintain application performance profile for the
decision engine
● data
○ execution time of each processing stage
○ wait time on connectors
○ transfer time
Decision Engine
● runs periodically
● greedy incremental approach
● estimates impact of offloading and
parallelism based on processor frequencies
and history of network measurements
● dynamic pipelining based on tokens
Decision Engine
Evaluation: Performance & Overhead
● minimum overhead
Evaluation: Other Strategies
● 3 strategies : offload all, domain-specific,
offline optimizer
Evaluation: Context Adaptation
● taking fidelity into account left for future work
Related Work
● energy saving: MAUI
● graph-based partitioning: Coign
● static partitioning: Wishbone
● a set of pre-specified partitions: CloneCloud,
Chroma, Spectra
● parallel processing: MapReduce
Conclusions
● understanding of the factors which contribute
to offloading and parallelism decisions
● Odessa
○ runtime automatically determining how best to use
offloading and parallelism to achieve responsiveness
and accuracy
● extensive evaluation
Thank you! Questions?
Discussion
● Could static analysis be used to improve the
approach?
● The paper focuses on computer vision
problems. Would this approach work with
other problems as well?
● Could this approach be altered to minimize
energy consumption instead?
● How could the implementation be improved?

More Related Content

PPTX
Hidden Markov Models for Abnormal Event Processing in Transportation Data Str...
PDF
Presentation UCAMI Congress 2016
PPTX
Timeline: An Operating System Abstraction for Time-Aware Applications
PDF
FlumeJava: Easy, Efficient Data-Parallel Pipelines
PDF
Resume
PDF
SFScon21 - Gianluca Antonacci - Optimal motorway speed management. a real-tim...
DOCX
Hierarchical decentralized network reconfiguration for smart distribution sys...
PPTX
Covid 19 monitor
Hidden Markov Models for Abnormal Event Processing in Transportation Data Str...
Presentation UCAMI Congress 2016
Timeline: An Operating System Abstraction for Time-Aware Applications
FlumeJava: Easy, Efficient Data-Parallel Pipelines
Resume
SFScon21 - Gianluca Antonacci - Optimal motorway speed management. a real-tim...
Hierarchical decentralized network reconfiguration for smart distribution sys...
Covid 19 monitor

Similar to Odessa Enabling Interactive Perception Applications on Mobile Devices (20)

PDF
[2015/2016] Mobile thinking
PPTX
Identifying parameters for Code Offloading as a practical solution to optimiz...
PPTX
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
PPTX
Skeuomorphs, Databases, and Mobile Performance
PPTX
Skeuomorphs, Databases, and Mobile Performance
PDF
openTrends Mobile Solutions brochure
PPTX
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
PDF
Research Seminar Presentation - A framework for partitioning and execution of...
PDF
Big Trouble in Little Networks, new and improved
PDF
50120140502004
PDF
Cloud-Native Fundamentals: An Introduction to 12-Factor Applications
PDF
Beyond IT optimization there is a (promised) land of application performance ...
PDF
Which Application Modernization Pattern Is Right For You?
PDF
20111104 s4 overview
PPTX
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
PDF
A PeopleSoft & OBIEE Consolidation Success Story
PDF
Service-based Processing and Provisioning of Image-Abstraction Techniques
PDF
Hpc lunch and learn
PPTX
D aronoff 9nov11 rise of dynamic computing
PPTX
Mobile next 2013 petru jucovschi
[2015/2016] Mobile thinking
Identifying parameters for Code Offloading as a practical solution to optimiz...
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
Skeuomorphs, Databases, and Mobile Performance
Skeuomorphs, Databases, and Mobile Performance
openTrends Mobile Solutions brochure
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
Research Seminar Presentation - A framework for partitioning and execution of...
Big Trouble in Little Networks, new and improved
50120140502004
Cloud-Native Fundamentals: An Introduction to 12-Factor Applications
Beyond IT optimization there is a (promised) land of application performance ...
Which Application Modernization Pattern Is Right For You?
20111104 s4 overview
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
A PeopleSoft & OBIEE Consolidation Success Story
Service-based Processing and Provisioning of Image-Abstraction Techniques
Hpc lunch and learn
D aronoff 9nov11 rise of dynamic computing
Mobile next 2013 petru jucovschi
Ad

More from Miro Cupak (20)

PDF
Exploring the latest and greatest from Java 14
PDF
Exploring reactive programming in Java
PDF
Exploring the last year of Java
PDF
Local variable type inference - Will it compile?
PDF
The Good, the Bad and the Ugly of Java API design
PDF
Local variable type inference - Will it compile?
PDF
Exploring reactive programming in Java
PDF
The good, the bad, and the ugly of Java API design
PDF
Master class in modern Java
PDF
The good, the bad, and the ugly of Java API design
PDF
Exploring reactive programming in Java
PDF
The good, the bad, and the ugly of Java API design
PDF
Writing clean code with modern Java
PDF
The good, the bad, and the ugly of Java API design
PDF
Master class in modern Java
PDF
Exploring reactive programming in Java
PDF
Writing clean code with modern Java
PDF
Exploring what's new in Java 10 and 11 (and 12)
PDF
Exploring what's new in Java 10 and 11
PDF
Exploring what's new in Java in 2018
Exploring the latest and greatest from Java 14
Exploring reactive programming in Java
Exploring the last year of Java
Local variable type inference - Will it compile?
The Good, the Bad and the Ugly of Java API design
Local variable type inference - Will it compile?
Exploring reactive programming in Java
The good, the bad, and the ugly of Java API design
Master class in modern Java
The good, the bad, and the ugly of Java API design
Exploring reactive programming in Java
The good, the bad, and the ugly of Java API design
Writing clean code with modern Java
The good, the bad, and the ugly of Java API design
Master class in modern Java
Exploring reactive programming in Java
Writing clean code with modern Java
Exploring what's new in Java 10 and 11 (and 12)
Exploring what's new in Java 10 and 11
Exploring what's new in Java in 2018
Ad

Recently uploaded (20)

PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
ai tools demonstartion for schools and inter college
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Transform Your Business with a Software ERP System
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
top salesforce developer skills in 2025.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Essential Infomation Tech presentation.pptx
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Softaken Excel to vCard Converter Software.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
ai tools demonstartion for schools and inter college
Which alternative to Crystal Reports is best for small or large businesses.pdf
L1 - Introduction to python Backend.pptx
Transform Your Business with a Software ERP System
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
How to Choose the Right IT Partner for Your Business in Malaysia
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
top salesforce developer skills in 2025.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Operating system designcfffgfgggggggvggggggggg
Essential Infomation Tech presentation.pptx
Reimagine Home Health with the Power of Agentic AI​
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...

Odessa Enabling Interactive Perception Applications on Mobile Devices

  • 1. Odessa Enabling Interactive Perception Applications on Mobile Devices Miroslav Cupák Moo-Ryong Ra, Anmol Sheth, Lily Mummertx, Padmanabhan Pillai, David Wetherallo, Ramesh Govindan 25/03/2013 Some slides borrowed from http://catnip.usc.edu/home/.
  • 2. Outline ● Problem & Contributions ● Metrics ● Applications ● Sprout ● Application Performance ● Design & Implementation ● Evaluation ● Conclusions
  • 3. Problem ● resource constrained mobile devices ● offloading and parallelism ● interactive perception applications ● requirements ○ crisp response ○ continuous processing ○ compute-intensive ○ performance depending on data
  • 4. Contributions ● study of offloading & parallelism decisions ● Odessa ○ runtime automatically determining how best to use offloading and parallelism to achieve responsiveness and accuracy ● successful evaluation of the greedy approach
  • 5. Metrics ● makespan ○ time to execute all stages of computation for a frame ● throughput ○ rate at which frames are processed ● techniques ○ code offloading ○ pipelining ○ data parallelism
  • 7. Sprout ● distributed stream processing system ● uses a data flow model to dynamically distribute processing of an application ● takes care of data transfer, coarse-grained data parallelism, pipeline parallelism ● Odessa ○ what/when/how to offload on top of Sprout
  • 8. Application Performance ● observations ○ offloading must be made dynamically (input variability, network bandwidth, device parameters) ○ data parallelism cannot be determined apriori ○ static choice of pipeline parallelism is not optimal ● setup ○ netbook (1 core), laptop (2 cores), server (8 cores) ○ 30 fps, 640x480 px video, 3000 (500) frames ○ network bandwidth emulation
  • 12. Data & Pipeline Parallelism
  • 13. Design ● goals ○ minimize makespan and maximize throughput ○ quick response to environment changes ○ low computation and communication overhead ● parts ○ application profiler ○ decision engine
  • 14. Profiler ● lightweight, online ● piggybacking approach ● function ○ maintain application performance profile for the decision engine ● data ○ execution time of each processing stage ○ wait time on connectors ○ transfer time
  • 15. Decision Engine ● runs periodically ● greedy incremental approach ● estimates impact of offloading and parallelism based on processor frequencies and history of network measurements ● dynamic pipelining based on tokens
  • 17. Evaluation: Performance & Overhead ● minimum overhead
  • 18. Evaluation: Other Strategies ● 3 strategies : offload all, domain-specific, offline optimizer
  • 19. Evaluation: Context Adaptation ● taking fidelity into account left for future work
  • 20. Related Work ● energy saving: MAUI ● graph-based partitioning: Coign ● static partitioning: Wishbone ● a set of pre-specified partitions: CloneCloud, Chroma, Spectra ● parallel processing: MapReduce
  • 21. Conclusions ● understanding of the factors which contribute to offloading and parallelism decisions ● Odessa ○ runtime automatically determining how best to use offloading and parallelism to achieve responsiveness and accuracy ● extensive evaluation
  • 23. Discussion ● Could static analysis be used to improve the approach? ● The paper focuses on computer vision problems. Would this approach work with other problems as well? ● Could this approach be altered to minimize energy consumption instead? ● How could the implementation be improved?