SlideShare a Scribd company logo
1 of 22
Understanding the
Characteristics of
AndroidWearOS
Renju Liu, Felix Xiaozhu Lin
Purdue ECE
Presentation By: Pratik Jain
Motivation
 Interactive wearables, like smart watches, are a newcomer to the
spectrum of mobile computers.
 Integrate computing even tighter with our daily lives.
 Substantial increase in demand for smart watches.
Usage
Patterns
&
Device
Hardware
 Users interact with wearable devices frequently throughout the
daily use
 Each interaction is short ( < 10s ), and is dedicated to a simple task
 Due to the limited content that can be displayed on one screen,
users spend a short time on one screen before switching to the
next.
 Tiny Battery capacity (200 – 400mAh)
 Slower CPU – Fewer cores
 Simpler CPU – Scaled-down but often architecturally identical to
handheld’s CPU
AndroidWearOS
 One of the most popular OSes for interactive wearables.
 Wearable OS with the most public information.
 Supports third-party applications and features a resigned system
UI, including Card for notifications, Context streams, and voice
input.
 Apps – renovated UI – Follow Android’s conventional
programming paradigm – Written in Java – Compiled ahead-of-
time – executed atop the managedAndroid Runtime.
 Major OS components –
 System Server – Key daemon hosting the core OS services
 Surface Flinger – Daemon controlling UI animation
 Clockwork – OS shell that implements the system UI
Benchmark
Scenarios
 A benchmark suite that consists of 15 benchmarks falling into the
following 4 categories:
1. Wakeup – Due to internal or external events, device transits out of
suspended mode and presents brief information. Due to frequent daily
wakeup, energy efficiency is the most important metric.
2. Single input – A waking wearable device responds to a single input
from the user. Because the user is waiting, the device needs to achieve
low UI latency.
3. Continuous interaction – Users are interacting with the device
continuously. The resultant UI animation requires the device to
produce a steady stream of graphic frames.
4. Sensing – For the execution of wearable apps, sensor data is sampled
and processed periodically to collect context information.
METHODOLOGY
Experimental
Setup
 All the benchmarks are run on 2 state-of-the-art Android Wear
devices
 LGWatch R
 Samsung Gear Live
 Qualcomm’s APQ8026 system on-chip
 AndroidWear 5.0 “Lollipop”
Power
Management
 Batteries have tiny contacts which are incompatible with
commodity power monitors.
 A compatible interface circuit is carved out from a smartphone
battery.
 Used the interface as an adapter between the smart watch and an
external power monitor.
The battery
interface carved
out from Nexus 5
The interface
(flipped) connected
to the LG watch R
Toolset
 Used the following to examine system behaviors at different levels
and granularities
 Systrace – for capturing global system events such as scheduling, I/O
activities, and IPC
 Android Runtime’s built-in function tracer – for recording function
call history in individual processes
 Linux perf – for sampling CPU performance counters.
Tackling
profiling
overhead
 EventTracing – Major profiling overhead
 Memory overhead can be overwhelming in tracing function
invocations.
 2 ways used to tackle
 In quantifying global system behaviors, the paper only relies on
system events. It collects function trace from extra runs.
 In quantifying function-level activities, deduction of an overhead of
4 µs from each traced function invocation ( constant overhead ).
CPUUsage
 CPU usage is collected at two granularities
 Task-level breakdown. An analyzer is built to identify the tasks .
 Function-level breakdown. To further locate the performance
hot spots in System Server, the following 2 metrics are employed:
 Exclusive CPU cycles are spent in the function’s own code
 Inclusive CPU cycles are spent in the function’s code as well as
in all subroutines being called
 Both metrics include the time spent in both user and kernel spaces
and do not cover the time when a task is off CPU due to being
scheduled out.
IdleTime
Analysis
 Amount and duration of the observed idle episodes are unusual.
 Match some idle episodes to system events known to cause idle, e.g.
I/O and power management.
 Others often root in stalling of OS service in serving app’s requests.
 IdleChecker, an analyzer that helps mapping anomalous idle episodes
to the responsible code regions, based on a simple rationale:
The function calls and IPC transactions spanning an anomalous idle
episode are suspicious.
 IdleChecker runs the following steps for each idle episode.
 Identifies suspicious app tasks that are blocked throughout the entire
idle episode but run after the episode.
 For each suspicious task, it identifies two suspicious CPU time quanta:
the one right before the idle episode and the one right after it.
 Examines the suspicious quanta, looking for IPC transactions spanning
across the idle episode.
 Identifies the function invocations that either coincide with the IPC
or span across the idle episode.
Thread-level
Parallelism
 Metric widely used for gauging an interactive system’s need for
core count.
 Average number of busy CPU cores during the non-idle time.
TLP = 𝑖=1
𝑛
𝑖 ∗ 𝑐𝑖/(1 − 𝑐0)
 𝑐0 - total time when no threads are running
𝑐𝑖 - time when exactly i threads are running simultaneously
n - number of cores available.
 For measurement, all 4 cores are forced online
Microarchitectural
behaviors
 Microarchitecture design is a Mystery
 By using the Linux perf, the paper samples the performance
counters of the Cortex-A7 CPU on test devices.
 Observe branch prediction, cache, andTLB in all benchmarks
RESULTS
Where doCPU
cycles go?
 Intensive OS execution often dominates the global CPU usage.
 Many costly OS services are likely to make software unnecessarily
complicated
 The CPU time distribution of hot functions is highly skewed.
 Manipulating basic data structures consumes substantial CPU
cycles.
 Legacy OS functions may become serious performance
bottlenecks
 OS Execution Bottlenecks
 setLight(), Layout(), computeOom(), getSimpleName()
Idle Episodes
 Plentiful and of a variety of lengths
 Improper OS Designs
 Interference from voice UI
 Legacy support for device suspending
 Performance overprovision during continuous Interaction
 Design Implications
 Hunting OS inefficiencies
 Filling idle time with useful work
 reducing CPU & GPU clock rates which will shrink idle episodes
 predictive execution
Thread-level
parallelism
 Short interactions exhibit substantial TLP, which is on par with
desktop workloads.
 While apps are mostly single-threaded, OS daemons contribute to
TLP significantly.
 A wearable device needs at least two cores.
Microarchitectural
behaviors
 A significant mismatch exists between the OS and CPU
microarchitecture, particularly in L1 icache, iTLB, and branch
predictor.
 The mismatch is largely due to the OS code complexity, and will
not be eliminated by a unilateral enhancement of wearable CPU.
 OS should be trimmed down to match the simplicity of its apps.
RelatedWork
 Gao et al. find that smartphone workloads show limitedTLP,
concluding that they need no more than two cores.
 ProfileDroid contributes an approach for charactering smartphone
apps at multiple layers
 Min et al. studies the battery usage of smart watches
 WearDrive creates synthetic benchmarks to shed light on
wearable storage.
 RisQ andTypingRing target gesture recognition
 iShadow tracks gaze in real time
 Ha et al. build wearable for cognitive assistance
 Cornelius et al. focus on user identification
Recap
 In-depth analysis of one of the most popular wearable Oses,
Android Wear.
 Examination of 4 key aspects: CPU usage, idle episodes, TLP, and
micro-architectural behaviors – in fifteen benchmarks.
 Discovery of serious OS inefficiencies and system bottlenecks that
were widespread but unknown before.
 The results clearly point out the system bottlenecks for immediate
optimization and have strong implications on future wearable
system software and hardware design.
THANKYOU!

More Related Content

What's hot

Android Development: The Basics
Android Development: The BasicsAndroid Development: The Basics
Android Development: The BasicsMike Desjardins
 
Android Booting Sequence
Android Booting SequenceAndroid Booting Sequence
Android Booting SequenceJayanta Ghoshal
 
architecture of mobile software applications
architecture of mobile software applicationsarchitecture of mobile software applications
architecture of mobile software applicationsHassan Dar
 
Android presentation
Android presentationAndroid presentation
Android presentationDipesh Shome
 
Android PPT Presentation 2018
Android PPT Presentation 2018Android PPT Presentation 2018
Android PPT Presentation 2018Rao Purna
 
MOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMMOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMcool192
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidzeelpatel0504
 
Android OTA updates
Android OTA updatesAndroid OTA updates
Android OTA updatesGary Bisson
 
introduction To Operating System
introduction To Operating Systemintroduction To Operating System
introduction To Operating SystemLuka M G
 
My presentation on Android in my college
My presentation on Android in my collegeMy presentation on Android in my college
My presentation on Android in my collegeSneha Lata
 
Scientific Calculator.pptx
Scientific Calculator.pptxScientific Calculator.pptx
Scientific Calculator.pptxAnuragSingh91510
 
Symbian Os Introduction
Symbian Os IntroductionSymbian Os Introduction
Symbian Os IntroductionDeepak Rathi
 
Android Architecture
Android ArchitectureAndroid Architecture
Android Architecturedeepakshare
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application DevelopmentBenny Skogberg
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android DevelopmentAly Abdelkareem
 

What's hot (20)

Android Development: The Basics
Android Development: The BasicsAndroid Development: The Basics
Android Development: The Basics
 
Android Booting Sequence
Android Booting SequenceAndroid Booting Sequence
Android Booting Sequence
 
architecture of mobile software applications
architecture of mobile software applicationsarchitecture of mobile software applications
architecture of mobile software applications
 
Hacking Android OS
Hacking Android OSHacking Android OS
Hacking Android OS
 
Windows Mobile
Windows MobileWindows Mobile
Windows Mobile
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
Android PPT Presentation 2018
Android PPT Presentation 2018Android PPT Presentation 2018
Android PPT Presentation 2018
 
MOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMMOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEM
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)
 
Android OTA updates
Android OTA updatesAndroid OTA updates
Android OTA updates
 
introduction To Operating System
introduction To Operating Systemintroduction To Operating System
introduction To Operating System
 
My presentation on Android in my college
My presentation on Android in my collegeMy presentation on Android in my college
My presentation on Android in my college
 
Scientific Calculator.pptx
Scientific Calculator.pptxScientific Calculator.pptx
Scientific Calculator.pptx
 
Symbian Os Introduction
Symbian Os IntroductionSymbian Os Introduction
Symbian Os Introduction
 
Android Architecture
Android ArchitectureAndroid Architecture
Android Architecture
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 

Viewers also liked

Presentation2
Presentation2Presentation2
Presentation2Jie Wang
 
Radio frequency identification
Radio frequency identificationRadio frequency identification
Radio frequency identificationMustahid Ali
 
PPG, ECG and Blood Pressure Circuitry
PPG, ECG and Blood Pressure CircuitryPPG, ECG and Blood Pressure Circuitry
PPG, ECG and Blood Pressure Circuitrymgoutham kumarreddy
 
RF based Wireless Robot using 8051 Microcontroller
RF based Wireless Robot using 8051 MicrocontrollerRF based Wireless Robot using 8051 Microcontroller
RF based Wireless Robot using 8051 MicrocontrollerRahul Kumar
 
Artificial Passenger Fair
Artificial Passenger FairArtificial Passenger Fair
Artificial Passenger FairDIYA NAMBIAR
 
Blue eyes technology ppt. by UTKARSH LOKPRIYE
Blue eyes technology ppt. by UTKARSH LOKPRIYEBlue eyes technology ppt. by UTKARSH LOKPRIYE
Blue eyes technology ppt. by UTKARSH LOKPRIYEUtkarsh Lokpriye
 
5 g technology...........the best presentation ever
5 g technology...........the best presentation ever5 g technology...........the best presentation ever
5 g technology...........the best presentation everHitesh kumar gupta
 
globel warming and green house effect
globel warming and green house effectglobel warming and green house effect
globel warming and green house effectVipin Kannan
 
Google car (self driving car )
Google car (self driving car )Google car (self driving car )
Google car (self driving car )imrana326
 
Artificial passenger
Artificial passengerArtificial passenger
Artificial passengerDhanya LK
 
Display devices and TOUCH SCREEN TECHNOLOGY
Display devices and TOUCH SCREEN TECHNOLOGYDisplay devices and TOUCH SCREEN TECHNOLOGY
Display devices and TOUCH SCREEN TECHNOLOGYabhishekpal1991
 
A basic presentation on cycloconverter
A basic presentation on cycloconverterA basic presentation on cycloconverter
A basic presentation on cycloconverterRezvi Hossain
 
Air craft surveillance
Air craft surveillanceAir craft surveillance
Air craft surveillanceBikas Sadashiv
 

Viewers also liked (20)

Microcontrollers
MicrocontrollersMicrocontrollers
Microcontrollers
 
Awesome presentation
Awesome presentationAwesome presentation
Awesome presentation
 
Presentation2
Presentation2Presentation2
Presentation2
 
Radio frequency identification
Radio frequency identificationRadio frequency identification
Radio frequency identification
 
PPG, ECG and Blood Pressure Circuitry
PPG, ECG and Blood Pressure CircuitryPPG, ECG and Blood Pressure Circuitry
PPG, ECG and Blood Pressure Circuitry
 
Auto cad
Auto cadAuto cad
Auto cad
 
RF based Wireless Robot using 8051 Microcontroller
RF based Wireless Robot using 8051 MicrocontrollerRF based Wireless Robot using 8051 Microcontroller
RF based Wireless Robot using 8051 Microcontroller
 
Wireless 4 g presentation
Wireless 4 g presentationWireless 4 g presentation
Wireless 4 g presentation
 
Artificial Passenger Fair
Artificial Passenger FairArtificial Passenger Fair
Artificial Passenger Fair
 
Blue eyes technology ppt. by UTKARSH LOKPRIYE
Blue eyes technology ppt. by UTKARSH LOKPRIYEBlue eyes technology ppt. by UTKARSH LOKPRIYE
Blue eyes technology ppt. by UTKARSH LOKPRIYE
 
Traffic controller
Traffic controllerTraffic controller
Traffic controller
 
5 g technology...........the best presentation ever
5 g technology...........the best presentation ever5 g technology...........the best presentation ever
5 g technology...........the best presentation ever
 
globel warming and green house effect
globel warming and green house effectglobel warming and green house effect
globel warming and green house effect
 
Google car (self driving car )
Google car (self driving car )Google car (self driving car )
Google car (self driving car )
 
Li fi
Li fi Li fi
Li fi
 
Artificial passenger
Artificial passengerArtificial passenger
Artificial passenger
 
Artificial Passenger
Artificial Passenger Artificial Passenger
Artificial Passenger
 
Display devices and TOUCH SCREEN TECHNOLOGY
Display devices and TOUCH SCREEN TECHNOLOGYDisplay devices and TOUCH SCREEN TECHNOLOGY
Display devices and TOUCH SCREEN TECHNOLOGY
 
A basic presentation on cycloconverter
A basic presentation on cycloconverterA basic presentation on cycloconverter
A basic presentation on cycloconverter
 
Air craft surveillance
Air craft surveillanceAir craft surveillance
Air craft surveillance
 

Similar to Understanding the characteristics of android wear os

Embedded 2 marks Anna university-Adhithya.pdf
Embedded 2 marks Anna university-Adhithya.pdfEmbedded 2 marks Anna university-Adhithya.pdf
Embedded 2 marks Anna university-Adhithya.pdfAdhithyaS5
 
[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...
[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...
[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...Matteo Ferroni
 
CA UNIT I PPT.ppt
CA UNIT I PPT.pptCA UNIT I PPT.ppt
CA UNIT I PPT.pptRAJESH S
 
Operating systems
Operating systemsOperating systems
Operating systemsanishgoel
 
LM1 - Computer System Overview, system calls
LM1 - Computer System Overview, system callsLM1 - Computer System Overview, system calls
LM1 - Computer System Overview, system callsmanideepakc
 
EMBEDDED_SYSTEM_INTRODUCTION.pdf
EMBEDDED_SYSTEM_INTRODUCTION.pdfEMBEDDED_SYSTEM_INTRODUCTION.pdf
EMBEDDED_SYSTEM_INTRODUCTION.pdfNadiSarj2
 
Device Drivers
Device DriversDevice Drivers
Device DriversSuhas S R
 
Enea Enabling Real-Time in Linux Whitepaper
Enea Enabling Real-Time in Linux WhitepaperEnea Enabling Real-Time in Linux Whitepaper
Enea Enabling Real-Time in Linux WhitepaperEnea Software AB
 
Trainingreport on embedded system
Trainingreport on embedded systemTrainingreport on embedded system
Trainingreport on embedded systemMukul Mohal
 
OPERATING SYSTEM - SHORT NOTES
OPERATING SYSTEM - SHORT NOTESOPERATING SYSTEM - SHORT NOTES
OPERATING SYSTEM - SHORT NOTESsuthi
 
Troubleshooting & Tools
Troubleshooting & ToolsTroubleshooting & Tools
Troubleshooting & ToolsPrabu U
 
Components of Computer system.ppt
Components of Computer system.pptComponents of Computer system.ppt
Components of Computer system.pptRAJESH S
 
Oslecture1
Oslecture1Oslecture1
Oslecture1kausik23
 
APE-Annotation Programming For Energy Eciency in Android
APE-Annotation Programming For Energy Eciency in AndroidAPE-Annotation Programming For Energy Eciency in Android
APE-Annotation Programming For Energy Eciency in Androidkaranwayne
 
A Parallel Computing-a Paradigm to achieve High Performance
A Parallel Computing-a Paradigm to achieve High PerformanceA Parallel Computing-a Paradigm to achieve High Performance
A Parallel Computing-a Paradigm to achieve High PerformanceAM Publications
 
PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...
PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...
PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...IJITCA Journal
 

Similar to Understanding the characteristics of android wear os (20)

Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Embedded 2 marks Anna university-Adhithya.pdf
Embedded 2 marks Anna university-Adhithya.pdfEmbedded 2 marks Anna university-Adhithya.pdf
Embedded 2 marks Anna university-Adhithya.pdf
 
[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...
[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...
[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...
 
CA UNIT I PPT.ppt
CA UNIT I PPT.pptCA UNIT I PPT.ppt
CA UNIT I PPT.ppt
 
Hardware-Software Codesign
Hardware-Software CodesignHardware-Software Codesign
Hardware-Software Codesign
 
Operating systems
Operating systemsOperating systems
Operating systems
 
LM1 - Computer System Overview, system calls
LM1 - Computer System Overview, system callsLM1 - Computer System Overview, system calls
LM1 - Computer System Overview, system calls
 
EMBEDDED_SYSTEM_INTRODUCTION.pdf
EMBEDDED_SYSTEM_INTRODUCTION.pdfEMBEDDED_SYSTEM_INTRODUCTION.pdf
EMBEDDED_SYSTEM_INTRODUCTION.pdf
 
Device Drivers
Device DriversDevice Drivers
Device Drivers
 
Lab6 rtos
Lab6 rtosLab6 rtos
Lab6 rtos
 
Enea Enabling Real-Time in Linux Whitepaper
Enea Enabling Real-Time in Linux WhitepaperEnea Enabling Real-Time in Linux Whitepaper
Enea Enabling Real-Time in Linux Whitepaper
 
Trainingreport on embedded system
Trainingreport on embedded systemTrainingreport on embedded system
Trainingreport on embedded system
 
Nano rk rtss_05
Nano rk rtss_05Nano rk rtss_05
Nano rk rtss_05
 
OPERATING SYSTEM - SHORT NOTES
OPERATING SYSTEM - SHORT NOTESOPERATING SYSTEM - SHORT NOTES
OPERATING SYSTEM - SHORT NOTES
 
Troubleshooting & Tools
Troubleshooting & ToolsTroubleshooting & Tools
Troubleshooting & Tools
 
Components of Computer system.ppt
Components of Computer system.pptComponents of Computer system.ppt
Components of Computer system.ppt
 
Oslecture1
Oslecture1Oslecture1
Oslecture1
 
APE-Annotation Programming For Energy Eciency in Android
APE-Annotation Programming For Energy Eciency in AndroidAPE-Annotation Programming For Energy Eciency in Android
APE-Annotation Programming For Energy Eciency in Android
 
A Parallel Computing-a Paradigm to achieve High Performance
A Parallel Computing-a Paradigm to achieve High PerformanceA Parallel Computing-a Paradigm to achieve High Performance
A Parallel Computing-a Paradigm to achieve High Performance
 
PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...
PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...
PROTOTYPE APPLICATION IN ANDROID PLATFORM FOR SYSTEM ADMINISTRATION OF HPC CL...
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

Understanding the characteristics of android wear os

  • 1. Understanding the Characteristics of AndroidWearOS Renju Liu, Felix Xiaozhu Lin Purdue ECE Presentation By: Pratik Jain
  • 2. Motivation  Interactive wearables, like smart watches, are a newcomer to the spectrum of mobile computers.  Integrate computing even tighter with our daily lives.  Substantial increase in demand for smart watches.
  • 3. Usage Patterns & Device Hardware  Users interact with wearable devices frequently throughout the daily use  Each interaction is short ( < 10s ), and is dedicated to a simple task  Due to the limited content that can be displayed on one screen, users spend a short time on one screen before switching to the next.  Tiny Battery capacity (200 – 400mAh)  Slower CPU – Fewer cores  Simpler CPU – Scaled-down but often architecturally identical to handheld’s CPU
  • 4. AndroidWearOS  One of the most popular OSes for interactive wearables.  Wearable OS with the most public information.  Supports third-party applications and features a resigned system UI, including Card for notifications, Context streams, and voice input.  Apps – renovated UI – Follow Android’s conventional programming paradigm – Written in Java – Compiled ahead-of- time – executed atop the managedAndroid Runtime.  Major OS components –  System Server – Key daemon hosting the core OS services  Surface Flinger – Daemon controlling UI animation  Clockwork – OS shell that implements the system UI
  • 5. Benchmark Scenarios  A benchmark suite that consists of 15 benchmarks falling into the following 4 categories: 1. Wakeup – Due to internal or external events, device transits out of suspended mode and presents brief information. Due to frequent daily wakeup, energy efficiency is the most important metric. 2. Single input – A waking wearable device responds to a single input from the user. Because the user is waiting, the device needs to achieve low UI latency. 3. Continuous interaction – Users are interacting with the device continuously. The resultant UI animation requires the device to produce a steady stream of graphic frames. 4. Sensing – For the execution of wearable apps, sensor data is sampled and processed periodically to collect context information.
  • 7. Experimental Setup  All the benchmarks are run on 2 state-of-the-art Android Wear devices  LGWatch R  Samsung Gear Live  Qualcomm’s APQ8026 system on-chip  AndroidWear 5.0 “Lollipop”
  • 8. Power Management  Batteries have tiny contacts which are incompatible with commodity power monitors.  A compatible interface circuit is carved out from a smartphone battery.  Used the interface as an adapter between the smart watch and an external power monitor. The battery interface carved out from Nexus 5 The interface (flipped) connected to the LG watch R
  • 9. Toolset  Used the following to examine system behaviors at different levels and granularities  Systrace – for capturing global system events such as scheduling, I/O activities, and IPC  Android Runtime’s built-in function tracer – for recording function call history in individual processes  Linux perf – for sampling CPU performance counters.
  • 10. Tackling profiling overhead  EventTracing – Major profiling overhead  Memory overhead can be overwhelming in tracing function invocations.  2 ways used to tackle  In quantifying global system behaviors, the paper only relies on system events. It collects function trace from extra runs.  In quantifying function-level activities, deduction of an overhead of 4 µs from each traced function invocation ( constant overhead ).
  • 11. CPUUsage  CPU usage is collected at two granularities  Task-level breakdown. An analyzer is built to identify the tasks .  Function-level breakdown. To further locate the performance hot spots in System Server, the following 2 metrics are employed:  Exclusive CPU cycles are spent in the function’s own code  Inclusive CPU cycles are spent in the function’s code as well as in all subroutines being called  Both metrics include the time spent in both user and kernel spaces and do not cover the time when a task is off CPU due to being scheduled out.
  • 12. IdleTime Analysis  Amount and duration of the observed idle episodes are unusual.  Match some idle episodes to system events known to cause idle, e.g. I/O and power management.  Others often root in stalling of OS service in serving app’s requests.  IdleChecker, an analyzer that helps mapping anomalous idle episodes to the responsible code regions, based on a simple rationale: The function calls and IPC transactions spanning an anomalous idle episode are suspicious.  IdleChecker runs the following steps for each idle episode.  Identifies suspicious app tasks that are blocked throughout the entire idle episode but run after the episode.  For each suspicious task, it identifies two suspicious CPU time quanta: the one right before the idle episode and the one right after it.  Examines the suspicious quanta, looking for IPC transactions spanning across the idle episode.  Identifies the function invocations that either coincide with the IPC or span across the idle episode.
  • 13. Thread-level Parallelism  Metric widely used for gauging an interactive system’s need for core count.  Average number of busy CPU cores during the non-idle time. TLP = 𝑖=1 𝑛 𝑖 ∗ 𝑐𝑖/(1 − 𝑐0)  𝑐0 - total time when no threads are running 𝑐𝑖 - time when exactly i threads are running simultaneously n - number of cores available.  For measurement, all 4 cores are forced online
  • 14. Microarchitectural behaviors  Microarchitecture design is a Mystery  By using the Linux perf, the paper samples the performance counters of the Cortex-A7 CPU on test devices.  Observe branch prediction, cache, andTLB in all benchmarks
  • 16. Where doCPU cycles go?  Intensive OS execution often dominates the global CPU usage.  Many costly OS services are likely to make software unnecessarily complicated  The CPU time distribution of hot functions is highly skewed.  Manipulating basic data structures consumes substantial CPU cycles.  Legacy OS functions may become serious performance bottlenecks  OS Execution Bottlenecks  setLight(), Layout(), computeOom(), getSimpleName()
  • 17. Idle Episodes  Plentiful and of a variety of lengths  Improper OS Designs  Interference from voice UI  Legacy support for device suspending  Performance overprovision during continuous Interaction  Design Implications  Hunting OS inefficiencies  Filling idle time with useful work  reducing CPU & GPU clock rates which will shrink idle episodes  predictive execution
  • 18. Thread-level parallelism  Short interactions exhibit substantial TLP, which is on par with desktop workloads.  While apps are mostly single-threaded, OS daemons contribute to TLP significantly.  A wearable device needs at least two cores.
  • 19. Microarchitectural behaviors  A significant mismatch exists between the OS and CPU microarchitecture, particularly in L1 icache, iTLB, and branch predictor.  The mismatch is largely due to the OS code complexity, and will not be eliminated by a unilateral enhancement of wearable CPU.  OS should be trimmed down to match the simplicity of its apps.
  • 20. RelatedWork  Gao et al. find that smartphone workloads show limitedTLP, concluding that they need no more than two cores.  ProfileDroid contributes an approach for charactering smartphone apps at multiple layers  Min et al. studies the battery usage of smart watches  WearDrive creates synthetic benchmarks to shed light on wearable storage.  RisQ andTypingRing target gesture recognition  iShadow tracks gaze in real time  Ha et al. build wearable for cognitive assistance  Cornelius et al. focus on user identification
  • 21. Recap  In-depth analysis of one of the most popular wearable Oses, Android Wear.  Examination of 4 key aspects: CPU usage, idle episodes, TLP, and micro-architectural behaviors – in fifteen benchmarks.  Discovery of serious OS inefficiencies and system bottlenecks that were widespread but unknown before.  The results clearly point out the system bottlenecks for immediate optimization and have strong implications on future wearable system software and hardware design.