Timecard: Controlling User-Perceived Delays in Server-Based Mobile Applications Lenin Ravindranath, Jitu Padhye, Ratul Mahajan, Hari Balakrishnan.

Slides:



Advertisements
Similar presentations
Staying in Sync with Cloud 2 Device Messaging. About Me Chris Risner Twitter: chrisrisner.
Advertisements

BreadCrumbs: Forecasting Mobile Connectivity Anthony Nicholson and Brian Noble University of Michigan Presented by: Scott Winkleman.
VTrack: Energy-Aware Traffic Delay Estimation Using Mobile Phones Lenin Ravindranath, Arvind Thiagarajan, Katrina LaCurts, Sivan Toledo, Jacob Eriksson,
VTrack: Accurate, Energy-Aware Road Traffic Delay Estimation Using Mobile Phones Arvind Thiagarajan, Lenin Ravindranath, Katrina LaCurts, Sivan Toledo,
University of Michigan Electrical Engineering and Computer Science Anatomizing Application Performance Differences on Smartphones Junxian Huang, Qiang.
Trace Analysis Chunxu Tang. The Mystery Machine: End-to-end performance analysis of large-scale Internet services.
AppInsight: Mobile App Performance Monitoring in the Wild
Minimizing Energy for Wireless Web Access with Bounded Slowdown Ronny Krashinsky and Hari Balakrishnan MIT Laboratory for Computer Science {ronny,
VanarSena: Automated App Testing. App Testing Test the app for – performance problems – crashes Testing app in the cloud – Upload app to a service – App.
Green Computing Energy in Location-Based Mobile Value-Added Services Maziar Goudarzi.
Automatic and Scalable Fault Detection for Mobile Applications Lenin Ravindranath, Suman Nath, Jitu Padhye, Hari Balakrishnan.
Dynamic Adaptive Streaming over HTTP2.0. What’s in store ▪ All about – MPEG DASH, pipelining, persistent connections and caching ▪ Google SPDY - Past,
Location based social networking on Android phones – integrated with Facebook. Simple and easy to use.
Albert Greenberg, Cheng Huang, Randy Kern, Dave Maltz, Jitu Padhye, Parveen Patel, Lihua Yuan *with help from MurariS and others in COSD.
Available bandwidth measurement as simple as running wget D. Antoniades, M. Athanatos, A. Papadogiannakis, P. Markatos Institute of Computer Science (ICS),
Internet and Intranet Protocols and Applications Section V: Network Application Performance Lecture 11: Why the World Wide Wait? 4/11/2000 Arthur P. Goldberg.
CDMA X RTT Overview. Global 3G Evolution.
Microsoft Research Shujaat Hussain. Cloud Faster! Low latency web transactions …. especially important to our key online properties.
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
Cabernet: Vehicular Content Delivery Using WiFi Jakob Eriksson, Hari Balakrishnan, Samuel Madden MIT CSAIL MOBICOM '08 Network Reading Group, NRL, UCLA.
Reducing Flow-Completion Time for Small Flows by Modifying Slow-Start Affan Rauf ( )
Junxian Huang 1 Feng Qian 2 Yihua Guo 1 Yuanyuan Zhou 1 Qiang Xu 1 Z. Morley Mao 1 Subhabrata Sen 2 Oliver Spatscheck 2 1 University of Michigan 2 AT&T.
Timecard: Controlling User-Perceived Delays in Server-Based Mobile Applications Lenin Ravindranath, Jitu Padhye, Ratul Mahajan, Hari Balakrishnan.
Augmenting Mobile 3G Using WiFi Aruna Balasubramanian Ratul Mahajan Arun Venkataramani University of Massachusetts Microsoft Research.
Niranjan Balasubramanian Aruna Balasubramanian Arun Venkataramani University of Massachusetts Amherst Energy Consumption in Mobile Phones: A Measurement.
A measurement study of vehicular internet access using in situ Wi-Fi networks Vladimir Bychkovsky, Bret Hull, Allen Miu, Hari Balakrishnan, and Samuel.
 Zhichun Li  The Robust and Secure Systems group at NEC Research Labs  Northwestern University  Tsinghua University 2.
Multimedia and Mobile communications Laboratory Augmenting Mobile 3G Using WiFi Aruna Balasubramanian, Ratul Mahajan, Arun Venkataramani Jimin.
Characterizing and Modeling the Impact of Wireless Signal Strength on Smartphone Battery Drain Ning Ding Xiaomeng Chen Abhinav Pathak Y. Charlie Hu 1 Daniel.
Detail: Reducing the Flow Completion Time Tail in Datacenter Networks SIGCOMM PIGGY.
Eat all you can in an all-you-can-eat buffet: A case for aggressive resource usage Ratul Mahajan Jitu Padhye, Ramya Raghavendra, Brian Zill Microsoft Research.
Web Overview The birth of Web: 1989 Now Web is about everything – Business (HR systems, e.g. NUHR) – Online Shopping (Amazon), Banking (Citibank, Chase)
Best-Case WiBro Performance for a Single Flow 1 MICNET 2009 Shinae Woo †, Keon Jang †, Sangman Kim † Soohyun Cho *, Jaehwa Lee *, Youngseok Lee ‡, Sue.
A First Look at Traffic on Smartphones Hossein Falaki Dimitrios Lymberopoulos Ratul Mahajan Srikanth Kandula Deborah Estrin.
Protocol(TCP/IP, HTTP) 송준화 조경민 2001/03/13. Network Computing Lab.2 Layering of TCP/IP-based protocols.
Threading Models in Visual Basic Language Student Name: Danyu Xu Student ID:98044.
Informed Mobile Prefetching T.J. Giuli † Christopher Peplin † David Watson †‡ Brett Higgins Jason Flinn Brian Noble †‡
Budget-based Control for Interactive Services with Partial Execution 1 Yuxiong He, Zihao Ye, Qiang Fu, Sameh Elnikety Microsoft Research.
C3: Cutting Tail Latency in Cloud Data Stores via Adaptive Replica Selection Marco Canini (UCL) with Lalith Suresh, Stefan Schmid, Anja Feldmann (TU Berlin)
ErdOS Narseo Vallina-Rodríguez + Jon Crowcroft NETOS Talket - 25th May 2010.
AppInsight: Mobile App Performance Monitoring In The Wild Lenin Ravindranath, Jitu Padhye, Sharad Agarwal, Ratul Mahajan, Ian Obermiller, Shahin Shayandeh.
The Future of Transport Hari Balakrishnan LCS and EECS Massachusetts Institute of Technology
Suman Nath, Microsoft Research Felix Xiaozhu Lin, Rice University Lenin Ravindranath, MIT Jitu Padhye, Microsoft Research.
End-to-End Performance Analytics For Mobile Apps Lenin Ravindranath, Jitu Padhye, Ratul Mahajan Microsoft Research 1.
Improving TCP Performance over Wireless Networks
Computer Networking Lecture 18 – More TCP & Congestion Control.
© 2015 AT&T Intellectual Property. All rights reserved. AT&T, the AT&T logo and all other marks contained herein are trademarks of AT&T Intellectual Property.
Kyocera Corporation Enhance radio network connectivity and maintain a Quality of IP service application Proposal of extension of IEEE /7/16.
FCM Workflow using GCM.
Improving and Controlling User-Perceived Delays in Mobile Apps Lenin Ravindranath By the time it loads, the church service is over. Too slow!!! Slow responsiveness,
Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage.
Thread basics. A computer process Every time a program is executed a process is created It is managed via a data structure that keeps all things memory.
Emir Halepovic, Jeffrey Pang, Oliver Spatscheck AT&T Labs - Research
Improving and Controlling User-Perceived Delays in Mobile Apps Lenin Ravindranath By the time it loads, the church service is over. Too slow!!! Slow responsiveness,
© 2010 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property. TOP: Tail Optimization Protocol.
Development of a QoE Model Himadeepa Karlapudi 03/07/03.
Exploring Cross-Application Cellular Traffic Optimization with Baidu TrafficGuard Zhenhua Li, Weiwei Wang, Tianyin Xu, Xin Zhong, Xiang-Yang Li, Yunhao.
A Software Energy Analysis Method using Executable UML for Smartphones Kenji Hisazumi System LSI Research Center Kyushu University.
Mary Ganesan and Lora Strother Campus Tours Using a Mobile Device.
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
SmartAds: Bringing Contextual Ads to Mobile Apps
3.2 Virtualisation.
AppInsight: Mobile App Performance Monitoring in the Wild
Install and Run the Kronos Mobile App
Sentio: Distributed Sensor Virtualization for Mobile Apps
ECF: an MPTCP Scheduler to Manage Heterogeneous Paths
PredictRemainingTime
The Future of Transport
An Integrated Congestion Management Architecture for Internet Hosts
Kronos Mobile User Guide – CST Drivers
Presentation transcript:

Timecard: Controlling User-Perceived Delays in Server-Based Mobile Applications Lenin Ravindranath, Jitu Padhye, Ratul Mahajan, Hari Balakrishnan

Cloud Services Mobile Apps

Cloud Services Users are impatient – 100ms delay can cost substantial drop in revenue at Amazon – Similar observations from Google and Bing Response Time Matters

Control Variability in Response Times Request Response Fixed deadlines Trade-off quality for response time – More time to compute, better quality results – Flexible Services For e.g., search Deadline Server processing

The elephant is outside the room Request Response Server processing

The elephant is outside the room User click Server processing App Server Request Response Reading sensors Link quality (3G, HSPA+, LTE, Wifi) Response size Phone model Parsing and Rendering UplinkDownlink User perceived delay Highly variable Radio State

The elephant is outside the room User click Server processing App Server Request Response Reading sensors Link quality (3G, HSPA+, LTE, Wifi) Response size Phone model Parsing and Rendering UplinkDownlink User perceived delay Highly variable Radio State Unaware of end-to-end delays Clients with non-trivial external delays – Poor end-to-end response times Client with low external delays – Do not produce the best quality result

The elephant is outside the room User click Server processing App Server Request Response Reading sensors Link quality (3G, HSPA+, LTE, Wifi) Response size Phone model Parsing and Rendering UplinkDownlink User perceived delay Highly variable Radio State Servers should adapt to external delays and control end-to-end delay variability

Timecard GetElapsedTime(); PredictRemainingTime ( responseSize ); Time elapsed since user request Predicted downlink + app processing delay App Server

Timecard App Server Desired end-to-end delay App GetElapsedTime(); PredictRemainingTime ( responseSize ); Adapt Processing Time

Timecard App Server Desired end-to-end delay App GetElapsedTime(); PredictRemainingTime ( responseSize ); Adapt Response

Timecard App Server Desired end-to-end delay App GetElapsedTime(); PredictRemainingTime ( responseSize );

Timecard GetElapsedTime(); PredictRemainingTime ( responseSize ); App Server

UI Thread Background Thread Server Threads UI dispatcher Thread start GPS start Web request GPS callback Event handler Spawn workers Request handler Send response Web callback App Server Challenges

UI Thread Background Thread App Server Challenges Transaction GetElapsedTime(); PredictRemainingTime ( responseSize ); No single reference clock Automatically collect data and learn

Online Transaction Tracking Time Synchronization Remaining Time Predictor – Downlink delay – App processing delay Timecard

Periodic time sync probes from app to server – Find drift and offset between clocks Use server clock as reference clock – Client maps local time to server time Synchronizing Time Efficient technique for probing – Aware of the radio state and traffic – Minimal extra delays – Energy efficient

Predicting Remaining Time App Server Downlink time App processing time PredictRemainingTime ( responseSize );

Predicting Downlink Time Data size 1 KB to 40 KB of data RTT matters than throughput – Predict RTT TCP window state matters – Multiple RTTs – Estimate TCP Window & number of RTTs Complicated by middleboxes Middlebox Read TCP state Estimate TCP state

Predicting Downlink Time Data size Model downlink delay – Recent RTT – Bytes already transferred – Response size – Network provider – Client OS Middlebox Estimate TCP state Error in cellular network – median 17 ms – 90 th percentile 86ms

Predicting App Processing Time Parsing and rendering depends on data size Model processing time as a function of – Response data size – Phone model 4.6% (8ms) median error, 10% in 90 th percentile

Timecard Implementation App Server Transaction Tracking Transaction Tracking Transaction Tracking Transaction Tracking Logging Predictor Time Sync Data Collection Automatic Instrumentation WP Apps ASP.NET services APIs

Timecard can help control end-to-end delay Modified two services (and two apps) to use timecard Mobile Ads Service

0.1% runtime overhead Less than 1% memory overhead – Garbage collection in idle time Less than 1% network overhead Negligible battery overhead Timecard Overhead

Timecard GetElapsedTime(); PredictRemainingTime ( responseSize ); App Server Desired end-to-end delay Adapt Processing Time Adapt Response

Timecard GetElapsedTime(); PredictRemainingTime ( responseSize ); App Server Request Prioritization Desired end-to-end delay

Timecard GetElapsedTime(); PredictRemainingTime ( responseSize ); App Server Adapt Resources Used Desired end-to-end delay

Backup

UI Thread Background Thread Server Threads App Server Transaction Tracking TC Transaction Context - Timestamps, transaction/device/network information TC GetTransaction(). GetStartTime();