are mobile os ready for the post smartphone era
play

Are Mobile OS Ready for the Post-Smartphone Era? Felix Xiaozhu Lin - PowerPoint PPT Presentation

Are Mobile OS Ready for the Post-Smartphone Era? Felix Xiaozhu Lin Assistant Professor, Purdue ECE http://xsel.rocks In Collaboration with Prof. Feng Qian , Indiana University Sponsors: NSF and Google Post Smartphone Era


  1. Are Mobile OS Ready for the Post-Smartphone Era? ��� Felix Xiaozhu Lin Assistant Professor, Purdue ECE http://xsel.rocks In Collaboration with Prof. Feng Qian , Indiana University Sponsors: NSF and Google

  2. Post Smartphone Era • Smartphones have changed the landscape of computing • More diverse devices are coming – Wearables – IoT – AR/VR headsets • System software is lagging behind

  3. Top questions • Wearables should enjoy – Baremetal performance – Baremetal efficiency • Commodity smart watches – 80 million devices sold – How are they doing? [MobiSys’16] “Understanding the Characteristics of Android Wear OS”, Renju Liu and Felix Xiaozhu Lin.

  4. A motivational case • The current performance & efficiency are far from baremetal Clock face update • Pacing – inefficient • face update: 400ms 88% busy

  5. A motivational case • 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

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

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

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

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

  10. Profiling – Core use scenarios Wakeup Single Input Sensing Interaction Update launch apps Accel Game notification palming heart notes wrist… voice… baro navigation

  11. Four Lessons • Design for short interactions • Clean the cruft • Multicore is your friend • Repair, don’t rebuild (yet)

  12. Four Lessons • Design for short interactions • Clean the cruft • Multicore is your friend • Repair, don’t rebuild (yet)

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

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

  15. Four Lessons • Design for short interactions • Clean the cruft • Multicore is your friend • Repair, don’t rebuild (yet)

  16. Four Lessons • Design for short interactions • Clean the cruft • Multicore is your friend • Repair, don’t rebuild (yet)

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

  18. OS execution dominates CPU usage. Idle Apps OS:Clockwork OS:daemons 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

  19. OS execution dominates CPU usage. Idle Apps OS:Clockwork OS:daemons 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

  20. OS execution dominates CPU usage.

  21. OS execution dominates CPU usage.

  22. Costly OS services are likely cruft.

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

  24. Wearable suffers from uArch inefficiency Cycles-per-instruction (lower is better) 2 -- 5 (high!) Smartphone as a comparison 1.3 -- 2.5 web rendering

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

  26. Four Lessons • Design for short interactions • Clean the cruft • Multicore is your friend • Repair, don’t rebuild (yet)

  27. Substantial TLP on a par with desktop -- due to short interactions. TLP: avg. busy CPU cores (over non-idle time) # of concurrent threads

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

  29. Four Lessons • Design for short interactions • Clean the cruft • Multicore is your friend • Repair, don’t rebuild (yet)

  30. Hot OS daemon functions: highly skewed distribution Top 5 à >20% CPU cycles Top 50 à >50% CPU cycles

  31. Backlight UI layout low-mem killer Anecdotes Hot OS daemon functions: highly skewed distribution Top 5 à >20% CPU cycles Top 50 à >50% CPU cycles Manipulating basic data structures Legacy/improper OS designs

  32. Summary: four lessons • Design for short interactions – User’s attention is precious • Clean the cruft – which wastes CPU cycles and chokes uArch • Multicore is your friend – OS is already multi-threaded; keep it that way • Repair, don’t rebuild (yet) – Java is fine; Dalvik is fine; ARMv7a is fine… – Fix individual OS components first

  33. HOW ABOUT AFTER THAT? (I.E. “NEXT-GEN WEARABLE OS”)

  34. We probably will reach a point when OS overhaul/redesign is justified. Specializing OS for common, single-app scenarios

  35. “In-place” OS specialization Full Full OS Daemons … Simple Simple Activity Window Manager Manager Kernel

  36. “In-place” OS specialization Apps Full Full OS Daemons … Simple Simple Activity Window Manager Manager Kernel

  37. “In-place” OS specialization Apps Simple Simple OS Daemons … Full Full Activity Window Manager Manager Kernel

  38. Final takeaway • Post-smartphone devices: unique usage and hardware • Many OS tradeoffs become invalid – efficiency v.s. flexibility & programming ease • Immediate actions: reusing/fixing individual components • Future: specialization Tools, data, and benchmark videos xsel.rocks/p/wear

  39. Purdue ECE • Largest engineering dept in Purdue • 127 years • Consistently ranked as one US top 10 • ~90 faculty members; ~500 PhD students • 28 IEEE fellows, 4 NAE members and more • $31M annual research fund 41

  40. Purdue ECE Is Unique • Diverse & Strong Computer Engineering – ~20 faculty members – Hardcore computer research (OS, PL, compiler, architecture, mobile/emb system) • Active in various communities – ISCA/MICRO/HPCA, PLDI/PPoPP, ASPLOS, Mobisys/MobiCom, etc… 42

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend