Abstract

The dramatic growth of mobile application usage has posed great pressure on application developers to better manage their backend capacity. Rule-based or schedule-based auto-scaling mechanisms have been proposed, but it is difficult or expensive to frequently adjust the backend capacity to track the burstiness of mobile traffic. In this paper, we explore a fundamentally different approach. Instead of scaling the backend in line with the mobile traffic, we smooth out traffic profiles to reduce the required backend capacity and increase its utilization. Our proposed solution, called Razor, is inspired by two key insights on mobile traffic. First, mobile traffic exhibits high short-term fluctuations but steady long-term trend, so that we may temporarily delay user requests and periodically adapt backend capacity based on the predicted traffic volume. Second, user requests have different priorities: while some requests are urgent (e.g., sending a message), some are delay-tolerant (e.g., changing the profile photo) and can be postponed without much influence on the user experience. Based on these observations, our design features a two-tier architecture: on a long timescale, Razor predicts future traffic using machine learning algorithms and plans the optimal backend capacity to minimize the budget with performance guarantee; on a short timescale, Razor schedules which requests to delay and by how much time to delay according to their delay tolerance. We implement a fully-functional prototype of Razor, and evaluate its performance with both real and synthetic traces. Extensive experimental results show that Razor can effectively help mobile application developers reduce their backend cost while guaranteeing the user experience.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.