skip to main content
10.1145/3517207.3526972acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

FlexHTTP: an intelligent and scalable HTTP version selection system

Published: 05 April 2022 Publication History

Abstract

HTTP has been the primary protocol for web data transmission for decades. Since the late 1990s, HTTP/1.1 has been widely used. Recently, both HTTP/2 and HTTP/3 have been proposed to achieve a better experience on web browsing. However, it is still unclear which of them performs better in different scenarios. In this paper, we first leverage the controllable experimental environment of the Emulab testbed to conduct a series of measurements and find that under different network conditions and web page structures, neither HTTP/2 nor HTTP/3 can always perform better. Motivated by this finding, we propose FlexHTTP, an intelligent and scalable HTTP version selection system. FlexHTTP embeds a supervised machine learning-based classifier to select the appropriate HTTP version according to network conditions and web page structures. FlexHTTP adopts a set of distributed agent servers to ensure scalability and keep the classifier up-to-date under network dynamics. We implement a proof-of-concept prototype of FlexHTTP on the Emulab testbed. Experiments show that FlexHTTP achieves a reduction of Speed Index by up to 600ms.

References

[1]
Mike Belshe, Roberto Peon, and Martin Thomson. 2015. Hypertext transfer protocol version 2 (HTTP/2). Available: https://datatracker.ietf.org/doc/html/rfc7540. Accessed: 2022-03-21.
[2]
Mike Bishop. 2021. Hypertext Transfer Protocol Version 3 (HTTP/3). Available: https://datatracker.ietf.org/doc/html/draft-ietf-quic-http. Accessed: 2022-03-21.
[3]
Leo Breiman. 2001. Random Forests. Machine Learning 45, 1 (2001), 5--32.
[4]
Tian Bu and Don Towsley. 2002. On Distinguishing Between Internet Power Law Topology Generators. In Proc. of INFOCOM.
[5]
Tianqi Chen and Carlos Guestrin. 2016. XGBoost: A Scalable Tree Boosting System. In Proc. of SIGKDD.
[6]
Lucas Clemente. 2022. A QUIC Implementation in Pure Go. Available: https://github.com/lucas-clemente/quic-go. Accessed: 2022-03-21.
[7]
Emulab. 2022. Type info for pc3000. Available: https://www.emulab.net/apt/show-nodetype.php?type=pc3000. Accessed: 2022-03-21.
[8]
Phillipa Gill, Martin Arlitt, Zongpeng Li, and Anirban Mahanti. 2007. Youtube Traffic Characterization: A View From the Edge. In Proc. of IMC.
[9]
Google LLC. 2022. Lighthouse. Available: https://developers.google.com/web/tools/lighthouse. Accessed: 2022-03-21.
[10]
Google LLC. 2022. Speed Index. Available: https://web.dev/speed-index. Accessed: 2022-03-21.
[11]
Suchin Gururangan, Ana Marasović, Swabha Swayamdipta, Kyle Lo, Iz Beltagy, Doug Downey, and Noah A Smith. 2020. Don't Stop Pre-training: Adapt Language Models to Domains and Tasks. In Proc. of ACL.
[12]
Tom Henderson, Sally Floyd, Andrei Gurtov, and Yoshifumi Nishida. 2012. The NewReno Modification to TCP's Fast Recovery Algorithm. Available: https://datatracker.ietf.org/doc/html/rfc6582. Accessed: 2022-03-21.
[13]
Fabien Hermenier and Robert Ricci. 2012. How to Build a Better Testbed: Lessons From a Decade of Network Experiments on Emulab. In Proc. of TRIDENTCOM.
[14]
Matt Holt. 2022. Fast, cross-platform HTTP/2 web server with automatic HTTPS. Available: https://github.com/mholt/caddy. Accessed: 2022-03-21.
[15]
Yi Hu, Feixiong Zhang, K. K. Ramakrishnan, and Dipankar Raychaudhuri. 2015. GeoTopo: A PoP-level Topology Generator for Evaluation of Future Internet Architectures. In Proc. of ICNP.
[16]
Jana Iyengar and Martin Thomson. 2021. QUIC: A UDP-Based Multiplexed and Secure Transport. Available: https://www.rfc-editor.org/rfc/rfc9000.html. Accessed: 2022-03-21.
[17]
Arash Molavi Kakhki, Samuel Jero, David Choffnes, Cristina Nita-Rotaru, and Alan Mislove. 2017. Taking a Long Look at QUIC: An Approach for Rigorous Evaluation of Rapidly Evolving Transport Protocols. In Proc. of IMC.
[18]
Nikhil Kansal, Murali Ramanujam, and Ravi Netravali. 2021. Alohamora: Reviving HTTP/2 Push and Preload by Adapting Policies On the Fly. In Proc. of NSDI.
[19]
Simon Kelley. 2022. Dnsmasq. Available: http://www.thekelleys.org.uk/dnsmasq/doc.html. Accessed: 2022-03-21.
[20]
Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio Vicente, Charles Krasic, Dan Zhang, Fan Yang, Fedor Kouranov, Ian Swett, Janardhan Iyengar, et al. 2017. The QUIC Transport Protocol: Design and Internet-scale Deployment. In Proc. of SIGCOMM.
[21]
Xuebing Li, Bingyang Liu, Yang Chen, Yu Xiao, Jiaxin Tang, and Xin Wang. 2019. Artemis: A Practical Low-latency Naming and Routing System. In Proc. of ICPP.
[22]
James MacQueen. 1967. Some Methods for Classification and Analysis of Multivariate Observations. In Proc. of 5th Berkeley Symp. Math. Statist. Probability.
[23]
Péter Megyesi, Zsolt Krämer, and Sándor Molnár. 2016. How quick is QUIC?. In Proc. of ICC.
[24]
David L. Mills. 1983. Internet Delay Experiments. RFC 889. Available: https://www.rfc-editor.org/rfc/rfc889.html. Accessed: 2022-03-21.
[25]
Giovane C. M. Moura, Sebastian Castro, Wes Hardaker, Maarten Wullink, and Cristian Hesselman. 2020. Clouding up the Internet: how centralized is DNS traffic becoming?. In Proc. of IMC.
[26]
Liudmila Prokhorenkova, Gleb Gusev, Aleksandr Vorobev, Anna Veronika Dorogush, and Andrey Gulin. 2018. CatBoost: Unbiased Boosting with Categorical Features. In Proc. of NeurIPS.
[27]
Mohammad Rajiullah, Andra Lutu, Ali Safari Khatouni, Mah-Rukh Fida, Marco Mellia, Anna Brunstrom, Ozgu Alay, Stefan Alfredsson, and Vincenzo Mancuso. 2019. Web Experience in Mobile Networks: Lessons from Two Million Page Visits. In Proc. of WWW.
[28]
Injong Rhee, Lisong Xu, Sangtae Ha, Alexander Zimmermann, Lars Eggert, and Richard Scheffenegger. 2018. CUBIC for Fast Long-Distance Networks. Available: https://datatracker.ietf.org/doc/html/rfc8312. Accessed: 2022-03-21.
[29]
S. Rasoul Safavian and David Landgrebe. 1991. A Survey of Decision Tree Classifier Methodology. IEEE Transactions on Systems, Man, and Cybernetics 21, 3 (1991), 660--674.
[30]
Salvatore Scellato, Cecilia Mascolo, Mirco Musolesi, and Jon Crowcroft. 2011. Track Globally, Deliver Locally: Improving Content Delivery Networks by Tracking Geographic Social Cascades. In Proc. of WWW.
[31]
Jiaxin Tang, Sen Liu, Yang Xu, Zehua Guo, Junjie Zhang, Peixuan Gao, Yang Chen, Xin Wang, and H. Jonathan Chao. 2022. ABS: Adaptive Buffer Sizing via Augmented Programmability with Machine Learning. In Proc. of INFOCOM.
[32]
Ajay Tirumala. 1999. iPerf: The TCP/UDP bandwidth measurement tool. Available: https://iperf.fr. Accessed: 2022-03-21.
[33]
Martino Trevisan, Danilo Giordano, and Ali Safari Khatouni. 2021. Measuring HTTP/3: Adoption and Performance. In Proc. of MedComNet.
[34]
Matteo Varvello, Kyle Schomp, David Naylor, Jeremy Blackburn, Alessandro Finamore, and Konstantina Papagiannaki. 2016. Is the Web HTTP/2 Yet?. In Proc. of PAM.
[35]
Keith Winstein and Hari Balakrishnan. 2013. TCP ex Machina: Computer-Generated Congestion Control. In Proc. of SIGCOMM.
[36]
Jie Wu and Yunsheng Wang. 2012. Social Feature-based Multi-path Routing in Delay Tolerant Networks. In Proc. of INFOCOM.
[37]
Mengwei Xu, Zhe Fu, Xiao Ma, Li Zhang, Yanan Li, Feng Qian, Shangguang Wang, Ke Li, Jingyu Yang, and Xuanzhe Liu. 2021. From Cloud to Edge: A First Look at Public Edge Platforms. In Proc. of IMC.
[38]
Alexander Yu and Theophilus A. Benson. 2021. Dissecting Performance of Production QUIC. In Proc. of WWW.
[39]
Jia Zhang, Enhuan Dong, Zili Meng, Yuan Yang, Mingwei Xu, Sijie Yang, Miao Zhang, and Yang Yue. 2021. WiseTrans : Adaptive Transport Protocol Selection for Mobile Web Service. In Proc. of WWW.
[40]
Zhilong Zheng, Yunfei Ma, Yanmei Liu, Furong Yang, Zhenyu Li, Yuanbo Zhang, Jiuhai Zhang, Wei Shi, Wentao Chen, Ding Li, et al. 2021. XLINK: QoE-Driven Multi-Path QUIC Transport in Large-scale Video Services. In Proc. of SIGCOMM.
[41]
Mengying Zhou, Tiancheng Guo, Yang Chen, Junjie Wan, and Xin Wang. 2021. Polygon: A QUIC-Based CDN Server Selection System Supporting Multiple Resource Demands. In Proc. of Middleware.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EuroMLSys '22: Proceedings of the 2nd European Workshop on Machine Learning and Systems
April 2022
121 pages
ISBN:9781450392549
DOI:10.1145/3517207
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 April 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. HTTP version selection
  2. HTTP/2
  3. HTTP/3
  4. QUIC
  5. machine learning
  6. web data transmission

Qualifiers

  • Research-article

Funding Sources

Conference

EuroSys '22
Sponsor:

Acceptance Rates

Overall Acceptance Rate 18 of 26 submissions, 69%

Upcoming Conference

EuroSys '25
Twentieth European Conference on Computer Systems
March 30 - April 3, 2025
Rotterdam , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 181
    Total Downloads
  • Downloads (Last 12 months)38
  • Downloads (Last 6 weeks)4
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media