Understanding the Characteristics of Android Wear OS. Renju Liu and Felix Xiaozhu Lin Purdue ECE

Similar documents
Understanding the Characteristics of Android Wear OS

Mastering Mobile Web with 8 Key Rules. Mastering Mobile Web with 8 Key Rules

GENERAL SET-UP & APP GENERAL SET-UP & APP PAIRING/SYNCING FEATURES BATTERY ACCOUNT & DEVICE SETTINGS PRIVACY WARRANTY. For IOS:

Chapter 2: Operating-System Structures

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

GENERAL SET UP & APP. Swipe up and tap Restart.

Chapter 2. Operating-System Structures

NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss

CS420: Operating Systems. OS Services & System Calls

Copyright 2010, Elsevier Inc. All rights Reserved

Chapter 2: System Structures. Operating System Concepts 9 th Edition

GENERAL SET-UP & APP PAIRING/SYNCING FEATURES BATTERY ACCOUNT & DEVICE SETTINGS PRIVACY WARRANTY GENERAL SET-UP & APP ANDROID

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

Reboot: Tizen Widget Framework. Hyun Ho, Kang Engineer Samsung Electronics. Copyright 2017 Samsung. All Rights Reserved.

COSC243 Part 2: Operating Systems

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Background: Operating Systems

Smart Connected Devices Driving Multidevice Adoption: A look into global trends. Ryan Reith April 2013

Basic Concepts & OS History

Mobile & More: Preparing for the Latest Design Trends

ANDROID PRIVACY & SECURITY GUIDE ANDROID DEVICE SETTINGS

SMARTWATCH User Manual

Under The Hood: Performance Tuning With Tizen. Ravi Sankar Guntur

Decelerating Suspend and Resume in Operating Systems. XSEL, Purdue ECE Shuang Zhai, Liwei Guo, Xiangyu Li, and Felix Xiaozhu Lin 02/21/2017

StreamBox: Modern Stream Processing on a Multicore Machine

Microsoft Office is a collection of programs that you will be already using in school. This includes Word, PowerPoint, Publisher, Excel etc..

Samsung DeX. A few housekeeping items:

Fall 2014:: CSE 506:: Section 2 (PhD) Threading. Nima Honarmand (Based on slides by Don Porter and Mike Ferdman)

Part Tablet, Part Laptop: Make Your Next Computer a Slate PC

W4118: OS Overview. Junfeng Yang

CSCA0201 FUNDAMENTALS OF COMPUTING. Chapter 6 Operating Systems

Parallelism and Concurrency. Motivation, Challenges, Impact on Software Development CSE 110 Winter 2016

Table of Contents. 2 Know your device. 6 Health management. 7 Connections. 10 Customize. 11 Home screen. 13 Apps. 15 Calls.

Disclaimer: This e-book doesn t tend to express hatred against any smartphone company or operating system. We believe that every company holds a

Tips and Tricks: Designing low power Native and WebApps. Harita Chilukuri and Abhishek Dhanotia

Mobile UI. Device, Input, Interaction Characteristics. Mobile UI 1

SMARTWATCH User Manual

Basics of Performance Engineering

IT S TIME :: Kevin Haugen with an Introduction by Preston Bowman

MITSUBISHI MOTORS NORTH AMERICA, INC. SMARTPHONE LINK DISPLAY AUDIO SYSTEM (SDA) QUICK REFERENCE GUIDE FOR ANDROID USERS

february 2013 part 1 of 3

DIGITAL TICKETING GUIDE

Connecting with Tizen : An Overview & Roadmap. Mohan Rao

CSC 581: Mobile App Development Spring 2019

Galaxy Watch Special

Let life inspire you. with ReSound Unite wireless accessories. Learn more about ReSound Unite wireless accessories.

Mobile Applications. Cincinnati Tech Summit October 28, 2015

Head-to-head: Which will win for your business?

Process Time. Steven M. Bellovin January 25,

THE FUTURE OF GPU DATA MANAGEMENT. Michael Wolfe, May 9, 2017

Chap2: Operating-System Structures

Quick start guide 2018

Operating System Services

Software Engineering at VMware Dan Scales May 2008

Performance Impact of Multithreaded Java Server Applications

CS420: Operating Systems

Chapter 2: System Structures. Operating System Concepts 9 th Edition

ECE 486/586. Computer Architecture. Lecture # 3

Transitioning to a Digital Bank: Make Banking Fun CLAB 2015 Financial Technology and Innovation Conference September 3, 2015 Intercontinental

Data Management CS 4720 Mobile Application Development

ENGLISH. User Guide LG-W MFL (1.0)

Premier SMS Quick User Guide PREMIER SMS QUICK USER GUIDE. 24/7 Support

E-Guide WHAT WINDOWS 10 ADOPTION MEANS FOR IT

CS 31: Intro to Systems Threading & Parallel Applications. Kevin Webb Swarthmore College November 27, 2018

I Travel on mobile / UK

Contents. The Mobile Delivery Gap The Choice to Go Hybrid What is a Hybrid App? Comparing Hybrid vs. Native Why Hybrid?...

Copyright

Operating-System Structures

Copyright

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition

CS 220: Introduction to Parallel Computing. Introduction to CUDA. Lecture 28

Guide Root Samsung Galaxy S3 Mini Features

Chapter 13: I/O Systems

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18

Wearables CS 4720 Mobile Application Development

Homework 13: User Manual

SMARTWATCH WITH ACTIVITY AND SLEEP TRACKER

Four Components of a Computer System

EPUB - SAMSUNG GEAR S3 INSTRUCTIONS MANUAL DOWNLOAD

Page Replacement. 3/9/07 CSE 30341: Operating Systems Principles

ZEED T-Connect User Guide for DA Linkage

Quiz for Chapter 1 Computer Abstractions and Technology

Advanced Operating Systems (CS 202)

Main Window. June 25, 2017, Beginners SIG Activity Monitor (Part 1 of 2)

Fitbit Information. Fitbit Flex Basics

WELCOME. Congratulations on your new Skybuds. This user manual will help you learn the basics.

Windows 10. By Graham

IJRDTM Kailash ISBN No Vol.17 Issue

WearDrive: Fast and Energy Efficient Storage for Wearables

Introduction to Mobile Application and Development

Putting user. experience first A SNEAK PEEK BEHIND THE SCENES OF THE E-WORKBOOK 10 DESIGN JOURNEY

Mobile development initiation

1. Appearance. Power button. Multi-function button. Microphone. Charging port. Heart rate sensor Speaker 1

Where Should the Brain of Your Mobile Application Live?

I/O System for the PSYONIC Advanced Bionic Hand. Team 28 Byron Hopps and Steven Sun ECE 445 Senior Design Fall 2017

Chapter 13: I/O Systems

GENERIC ANDROID DEVICE INFORMATION TIPS & TRICKS

Operating Systems. Synchronization

Chapter 12: I/O Systems

Transcription:

Understanding the Characteristics of Android Wear OS Renju Liu and Felix Xiaozhu Lin Purdue ECE

The Wearable stack 5

Top questions Wearables should enjoy Baremetal performance Baremetal efficiency In this talk: Android Wear Are we close to baremetal? What is going on inside? How should the OS evolve? 6

Observation -- Symptoms The current performance & efficiency are far from baremetal Pacing inefficient face update: 400ms 88% busy Clock face update 7

Observation -- Symptoms The current performance & efficiency are far from baremetal Launch settings Pacing inefficient face update: 400ms 88% busy Racing slow Launch an in-mem app: 1 sec 9

What happens underneath? User touch Launch action starts App UI shown 177 ms 810 ms 11

What happens underneath? User touch Launch action starts App UI shown Power / mw 1000 500 0 177 ms 810 ms 12

What happens underneath? Power / mw 1000 500 0 User Launch action touch starts Phase 1 Phase 2 App UI shown CPU Exec. Idle Busy with various tasks 177 ms 810 ms 13

What happens underneath? Power / mw 1000 500 0 User Launch action touch starts Phase 1 Phase 2 App UI shown CPU Exec. Idle Busy with various tasks 177 ms 810 ms 28 ms 130 ms 19 ms 14

Four Aspects CPU busy?? Thread-level parallelism () Microarchitectural behaviors Won t talk about our methodologies 20

Profiling Core Use Scenarios Wakeup Update notification wrist Single Input launch apps palming voice Sensing Accel heart baro Interaction Game notes navigation 21

OS execution dominates CPU usage. 100% 75% 50% 25% 0% update notif wrist touch lch.set lch.calc lch.game palming voice game notes navi accel heart baro Wakeup Single In. Interact. Sensing 26

OS execution dominates CPU usage. 100% OS:Clockwork OS:daemons 75% 50% 25% 0% update notif wrist touch lch.set lch.calc lch.game palming voice game notes navi accel heart baro Wakeup Single In. Interact. Sensing 27

OS execution dominates CPU usage. 100% Apps OS:Clockwork OS:daemons 75% 50% 25% 0% update notif wrist touch lch.set lch.calc lch.game palming voice game notes navi accel heart baro Wakeup Single In. Interact. Sensing 28

OS execution dominates CPU usage. 100% Idle Apps OS:Clockwork OS:daemons 75% 50% 25% 0% update notif wrist touch lch.set lch.calc lch.game palming voice game notes navi accel heart baro Wakeup Single In. Interact. Sensing 29

OS execution dominates CPU usage. 100% Idle Apps OS:Clockwork OS:daemons 75% 50% 25% 0% update notif wrist touch lch.set lch.calc lch.game palming voice game notes navi accel heart baro Wakeup Single In. Interact. Sensing 30

OS execution dominates CPU usage. 31

OS execution dominates CPU usage. 32

Costly OS services are... 33

Costly OS services are likely cruft. 34

Hot functions: highly skewed distribution Top 5 à >20% CPU cycles Top 50 à >50% CPU cycles 35

Hot functions: highly skewed distribution Top 5 à >20% CPU cycles Top 50 à >50% CPU cycles Manipulating basic data structures Legacy/improper OS designs 36

Hot functions: highly skewed distribution Top 5 à >20% CPU cycles Top 50 à >50% CPU cycles Manipulating basic data structures Legacy/improper OS designs 37

Idle episodes: plentiful and of various lengths Time (ms) Pct. Overall Episodes Pct. Explained 614.1 17.1% 376 100.0% notes 843.3 50.5% 352 100.0% voice 722.6 50.9% 205 99.9% lch.game 185.2 25.6% 110 92.9% lch.calc 153.6 15.6% 120 91.4% lch.set 16.8 10.6% 6 100.0% touch 223.0 61.2% 44 100.0% update 2173.0 52.80% 912 100.0% navi 4035.6 86.80% 277 100.0% notif 38

Idle anomalies are caused by Device suspend Voice UI Cont. interaction Cont. interact.+neti/o Storage I/O User think Bluetooth tail time OS shell policy App policy notes lch.game lch.set update navi notif 0 250 500 750 0 2000 4000 Time / ms Time (ms) Pct. Overall Episodes Pct. Explained 614.1 17.1% 376 100.0% notes 843.3 50.5% 352 100.0% voice 722.6 50.9% 205 99.9% lch.game 185.2 25.6% 110 92.9% lch.calc 153.6 15.6% 120 91.4% lch.set 16.8 10.6% 6 100.0% touch 223.0 61.2% 44 100.0% update 2173.0 52.80% 912 100.0% navi 4035.6 86.80% 277 100.0% notif 39

Idle anomalies are caused by Device suspend Voice UI Cont. interaction Cont. interact.+neti/o Storage I/O User think Bluetooth tail time OS shell policy App policy notes lch.game lch.set update navi notif 0 250 500 750 0 2000 4000 Time / ms Time (ms) Pct. Overall Episodes Pct. Explained 614.1 17.1% 376 100.0% notes 843.3 50.5% 352 100.0% voice 722.6 50.9% 205 99.9% lch.game 185.2 25.6% 110 92.9% lch.calc 153.6 15.6% 120 91.4% lch.set 16.8 10.6% 6 100.0% touch 223.0 61.2% 44 100.0% update 2173.0 52.80% 912 100.0% navi 4035.6 86.80% 277 100.0% notif Legacy/improper OS designs Performance overprovisioning 40

Substantial on a par with desktop # of concurrent threads 42

Substantial on a par with desktop # of concurrent threads 43

Substantial on a par with desktop : avg. busy CPU cores (over non-idle time) # of concurrent threads 44

due to short interactions. : avg. busy CPU cores (over non-idle time) # of concurrent threads 45

Apps are mostly single-threaded; OS contributes to significantly. 46

Wearable suffers from inefficiency Cycles-per-instruction (lower is better) 2 -- 5 (high!) 47

Wearable suffers from inefficiency Cycles-per-instruction (lower is better) 2 -- 5 (high!) Smartphone as a comparison 1.3 -- 2.5 web rendering <2 SPEC INT 48

Wearable suffers from inefficiency Cycles-per-instruction (lower is better) 2 -- 5 (high!) Smartphone as a comparison 1.3 -- 2.5 web rendering <2 SPEC INT 49

Wearable suffers from inefficiency Cycles-per-instruction (lower is better) 2 -- 5 (high!) Smartphone as a comparison 1.3 -- 2.5 web rendering <2 SPEC INT 50

The major cause: complex OS code (L1 icache, itlb, and branch predictor) 51

The major cause: complex OS code (L1 icache, itlb, and branch predictor) problem will NOT be gone with future wearable CPUs 52

Four Aspects CPU busy OS dominates Lots of cruft Skewed hot functions Legacy bottlenecks Anomalous OS flaws Too much performance Thread-level parallelism Desktop-like OS-contributed Microarchitectural behaviors Mismatch OS code complexity 54

Repair, don t overhaul (yet) CPU busy OS dominates Lots of cruft Skewed hot functions Legacy bottlenecks Anomalous OS flaws Too much performance Thread-level parallelism Desktop-like OS-contributed Microarchitectural behaviors Mismatch OS code complexity 55

How about after that? (i.e. next-gen wearable OS ) We probably will reach a point when OS overhaul/redesign is justified. Specializing OS for common, single-app scenarios 56

Restructuring OS for Wearable Specializing OS for common, single-app scenarios OS Daemons Full Simple Activity Manager Full Simple Window Manager Kernel 58

Restructuring OS for Wearable OS Daemons Apps Full Simple Activity Manager Full Simple Window Manager Kernel 59

Restructuring OS for Wearable OS Daemons Apps Simple Full Activity Manager Simple Full Window Manager Kernel 60

Final takeaway Wearables: unique usage and hardware Many mobile OS tradeoffs are invalid efficiency v.s. flexibility & programming ease Immediate actions: fixing individual OS components Future: OS specialization may be needed Tools, data, and benchmark videos xsel.rocks/p/wear 66

FAQ You forgot Apple Watch or Samsung Tizen. Isn t your discovery just some oversight of Google engineers? Aren t these things easy to fix? Doesn t multicore wearable sound crazy? Power! I want to learn about power. I bet the Android Wear team already fixed these! xsel.rocks/p/wear 67

Has Android Wear improved? 68

69