ABSTRACT
Multipath TCP enables remarkable optimizations for throughput, load balancing, and mobility in today's networks. The design space of Multipath TCP scheduling, i.e., the application-aware mapping of packets to paths, is largely unexplored due to its inherent complexity. Evidence in this paper suggests that an application-aware scheduling decision, if leveraged right, pushes Multipath TCP beyond throughput optimization and thereby provides benefits for a wide range of applications.
This paper introduces a high-level programming model that enables application-defined Multipath TCP scheduling. We provide an efficient interpreter and eBPF-based runtime environment for the Linux Kernel, enabling isolated application-defined schedulers in multi-tenancy environments. In combination with a high-level API, our work closes the gap between scheduler specification and deployment. We show the strength of our programming model by implementing seven novel schedulers tackling diverse objectives. Our real world measurements, for example, of an application- and preference-aware scheduler, show that the programming model enables timely scheduling decisions to retain fine-grained throughput objectives. Further measurements of a novel HTTP/2-aware scheduler show significantly improved interactions with upper-layer protocols, e.g., an optimized dependency resolution, while preserving path preferences.
- Nghttp2: HTTP/2 C Library. https://nghttp2.org/, 2015.Google Scholar
- A. Alim, R. G. Clegg, L. Mai, L. Rupprecht, E. Seckler, P. Costa, P. Pietzuch, A. L. Wolf, N. Sultana, J. Crowcroft, et al. Flick: developing and running application-specific network services. In USENIX ATC, pages 1--14, 2016. Google ScholarDigital Library
- B. Arzani, A. Gurney, S. Cheng, R. Guerin, and B. T. Loo. Impact of path characteristics and scheduling policies on MPTCP performance. In IEEE WAINA, pages 743--748, 2014. Google ScholarDigital Library
- S. Barre, C. Paasch, and O. Bonaventure. Multipath TCP: From theory to practice. In IFIP Networking, pages 444--457, May 2011. Google ScholarDigital Library
- M. Belshe, M. Thomson, and R. Peon. Hypertext Transfer Protocol Version 2 (HTTP/2). RFC 7540, 2015.Google Scholar
- N. Cardwell, Y. Cheng, L. Brakmo, M. Mathis, B. Raghavan, N. Dukkipati, H.-k. J. Chu, A. Terzis, and T. Herbert. packetdrill: Scriptable network stack testing, from sockets to packets. In USENIX ATC, 2013. Google ScholarDigital Library
- G. Chen, Y. Lu, Y. Meng, B. Li, K. Tan, D. Pei, P. Cheng, L. L. Luo, Y. Xiong, X. Wang, et al. Fast and cautious: Leveraging multi-path diversity for transport loss recovery in data centers. In USENIX ATC, 2016. Google ScholarDigital Library
- Y.-C. Chen, Y.-s. Lim, R. J. Gibbens, E. M. Nahum, R. Khalili, and D. Towsley. A measurement-based study of multipath TCP performance over wireless networks. In ACM IMC, pages 455--468, 2013. Google ScholarDigital Library
- J. Corbet. Extending extended BPF. https://lwn.net/Articles/603983/, 2014.Google Scholar
- X. Corbillon, R. Aparicio-Pardo, N. Kuhn, G. Texier, and G. Simon. Cross-layer scheduler for video streaming over MPTCP. In ACM MMSys, 2016. Google ScholarDigital Library
- Q. De Conick and O. Bonaventure. Every Millisecond Counts: Tuning Multipath TCP for Interactive Applications on Smartphones. http://hdl.handle.net/2078.1/185717, 2017.Google Scholar
- Q. De Coninck, M. Baerts, B. Hesmans, and O. Bonaventure. A first analysis of Multipath TCP on smartphones. In PAM, pages 57--69. Springer, 2016.Google ScholarCross Ref
- S. Deng, R. Netravali, A. Sivaraman, and H. Balakrishnan. WiFi, LTE, or both?: Measuring multi-homed wireless internet performance. In ACM IMC, pages 181--194, 2014. Google ScholarDigital Library
- T. Flach, N. Dukkipati, A. Terzis, B. Raghavan, N. Cardwell, Y. Cheng, A. Jain, S. Hao, E. Katz-Bassett, and R. Govindan. Reducing web latency: the virtue of gentle aggression. SIGCOMM Computer Communication Review, 43(4):159--170, 2013. Google ScholarDigital Library
- A. Ford, C. Raiciu, M. Handley, and O. Bonaventure. TCP Extensions for Multipath Operation with Multiple Addresses. RFC 6824.Google Scholar
- N. Foster, R. Harrison, M. J. Freedman, C. Monsanto, J. Rexford, A. Story, and D. Walker. Frenetic: A network programming language. In ACM ICFP, pages 279--291, 2011. Google ScholarDigital Library
- A. Froemmgen, T. Erbshaeuser, T. Zimmermann, K. Wehrle, and A. Buchmann. ReMP TCP: Low latency multipath TCP. In IEEE ICC, 2016.Google ScholarCross Ref
- A. Froemmgen, S. Sadasivam, S. Mueller, A. Klein, and A. Buchmann. Poster: Use your senses: A smooth multipath tcp wifi/mobile handover. In ACM MobiCom, pages 248--250, 2015. Google ScholarDigital Library
- Y. Go, O. C. Kwon, and H. Song. An energy-efficient HTTP adaptive video streaming with networking cost constraint over heterogeneous wireless networks. IEEE Transactions on Multimedia, 17(9):1646--1657, 2015.Google ScholarDigital Library
- R. Hamilton, J. Iyengar, I. Swett, and A. Wilk. QUIC: A UDP-based secure and reliable transport for HTTP/2, July 2016. IETF, Internet-Draft.Google Scholar
- B. Han, F. Qian, S. Hao, L. Ji, and N. Bedminster. An anatomy of mobile web performance over Multipath TCP. In ACM CoNEXT, 2015. Google ScholarDigital Library
- B. Han, F. Qian, L. Ji, and V. Gopalakrishnan. MP-DASH: Adaptive video streaming over preference-aware multipath. In ACM CoNEXT, 2016. Google ScholarDigital Library
- N. Handigol, B. Heller, V. Jeyakumar, B. Lantz, and N. McKeown. Reproducible network experiments using container-based emulation. In ACM CoNEXT, 2012. Google ScholarDigital Library
- B. Hesmans and O. Bonaventure. An enhanced socket API for Multipath TCP. In IRTF Applied Networking Research Workshop, 2016. Google ScholarDigital Library
- B. Hesmans, G. Detal, R. Bauduin, O. Bonaventure, et al. SMAPP: Towards smart Multipath TCP-enabled applications. In ACM CoNEXT, 2015. Google ScholarDigital Library
- S. Hu, K. Chen, H. Wu, W. Bai, C. Lan, H. Wang, H. Zhao, and C. Guo. Explicit path control in commodity data centers: Design and applications. In USENIX NSDI, 2015. Google ScholarDigital Library
- J. Hwang, A. Walid, and J. Yoo. Fast coupled retransmission for multipath TCP in data center networks. IEEE Systems Journal, 2016.Google Scholar
- R. Khalili, N. Gast, M. Popovic, U. Upadhyay, and J.-Y. Le Boudec. MPTCP is not pareto-optimal: performance issues and a possible solution. In ACM CoNEXT, 2012. Google ScholarDigital Library
- E. Kohler, M. F. Kaashoek, and D. R. Montgomery. A readable TCP in the prolac protocol language. In ACM SIGCOMM, 1999. Google ScholarDigital Library
- E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. F. Kaashoek. The Click modular router. ACM Transactions on Computer Systems, 18(3):263--297, 2000. Google ScholarDigital Library
- N. Kuhn, E. Lochin, A. Mifdaoui, G. Sarwar, O. Mehani, and R. Boreli. DAPS: intelligent delay-aware packet scheduling for multipath transport. In IEEE ICC, 2014.Google ScholarCross Ref
- I. Lopez, M. Aguado, C. Pinedo, and E. Jacob. SCADA systems in the railway domain: Enhancing reliability through redundant multipathtcp. In IEEE ITSC, 2015. Google ScholarDigital Library
- N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner. Openflow: enabling innovation in campus networks. ACM SIGCOMM Computer Communication Review, 38(2):69--74, 2008. Google ScholarDigital Library
- S. McQuistin, C. Perkins, and M. Fayed. TCP hollywood: An unordered, time-lined, TCP for networked multimedia applications. In IFIP Networking, pages 422--430, 2016.Google ScholarCross Ref
- A. Nikravesh, Y. Guo, F. Qian, Z. M. Mao, and S. Sen. An in-depth understanding of multipath TCP on mobile devices: Measurement and system design. In ACM MobiCom, pages 189--201, 2016. Google ScholarDigital Library
- M. F. Nowlan, N. Tiwari, J. Iyengar, S. O. Amin, and B. Ford. Fitting square pegs through round pipes: Unordered delivery wire-compatible with TCP and TLS. In USENIX NSDI, pages 28--28, 2012. Google ScholarDigital Library
- C. Paasch and S. Barre. Multipath TCP in the Linux Kernel. available from http://www.multipath-tcp.org.Google Scholar
- C. Paasch, G. Detal, F. Duchene, C. Raiciu, and O. Bonaventure. Exploring mobile/wifi handover with Multipath TCP. In ACM SIGCOMM Workshop on Cellular networks: operations, challenges, and future design, pages 31--36, 2012. Google ScholarDigital Library
- C. Paasch, S. Ferlin, O. Alay, and O. Bonaventure. Experimental evaluation of Multipath TCP schedulers. In ACM SIGCOMM Workshop on Capacity Sharing, pages 27--32, 2014. Google ScholarDigital Library
- B. Pfaff, J. Pettit, T. Koponen, E. Jackson, A. Zhou, J. Rajahalme, J. Gross, A. Wang, J. Stringer, P. Shelar, et al. The design and implementation of Open vSwitch. In USENIX NSDI, pages 117--130, 2015. Google ScholarDigital Library
- M. Popovici and C. Raiciu. Exploiting multipath congestion control for fun and profit. In ACM HotNets, pages 141--147, 2016. Google ScholarDigital Library
- C. Raiciu, S. Barre, C. Pluntke, A. Greenhalgh, D. Wischik, and M. Handley. Improving datacenter performance and robustness with Multipath TCP. In ACM SIGCOMM Computer Communication Review, volume 41, pages 266--277, 2011. Google ScholarDigital Library
- C. Raiciu, M. Handly, and D. Wischik. Coupled congestion control for multipath transport protocols. RFC 6356, 2011.Google Scholar
- C. Raiciu, C. Paasch, S. Barre, A. Ford, M. Honda, F. Duchene, O. Bonaventure, and M. Handley. How hard can it be? Designing and implementing a deployable Multipath TCP. In USENIX NSDI, 2012. Google ScholarDigital Library
- M. Rajiullah, P. Hurtig, A. Brunstrom, A. Petlund, and M. Welzl. An evaluation of tail loss recovery mechanisms for TCP. ACM SIGCOMM Computer Communication Review, 45(1):5--11, 2015. Google ScholarDigital Library
- M. Scharf and S. Kiesel. Head-of-line blocking in TCP and SCTP: Analysis and measurements. In IEEE GLOBECOM, 2006.Google ScholarCross Ref
- S. Seo. KT's GiGA LTE. https://www.ietf.org/proceedings/93/slides/slides-93-mptcp-3.pdf, 2015.Google Scholar
- A. Sivaraman, A. Cheung, M. Budiu, C. Kim, M. Alizadeh, H. Balakrishnan, G. Varghese, N. McKeown, and S. Licking. Packet transactions: High-level programming for line-rate switches. In ACM SIGCOMM, pages 15--28, 2016. Google ScholarDigital Library
- A. Sivaraman, S. Subramanian, M. Alizadeh, S. Chole, S.-T. Chuang, A. Agrawal, H. Balakrishnan, T. Edsall, S. Katti, and N. McKeown. Programmable packet scheduling at line rate. In ACM SIGCOMM, pages 44--57, 2016. Google ScholarDigital Library
- V.-H. Tran, Q. De Coninck, B. Hesmans, R. Sadre, and O. Bonaventure. Observing real Multipath TCP traffic. Computer Communications, 2016. Google ScholarDigital Library
- O. Traub, G. Holloway, and M. D. Smith. Quality and speed in linear-scan register allocation. In ACM PLDI, 1998. Google ScholarDigital Library
- X. S. Wang, A. Balasubramanian, A. Krishnamurthy, and D. Wetherall. Demystifying page load performance with WProf. In USENIX NSDI, pages 473--485, 2013. Google ScholarDigital Library
- D. Wischik, C. Raiciu, A. Greenhalgh, and M. Handley. Design, Implementation and Evaluation of Congestion Control for Multipath TCP. In USENIX NSDI, 2011. Google ScholarDigital Library
- H. Xu and B. Li. RepFlow: Minimizing flow completion times with replicated flows in data centers. In IEEE INFOCOM, pages 1581--1589, 2014.Google ScholarCross Ref
Index Terms
- A programming model for application-defined multipath TCP scheduling
Recommendations
Programming application-defined multipath TCP schedulers: demo
Middleware '17: Proceedings of the 18th ACM/IFIP/USENIX Middleware Conference: Posters and DemosMultipath TCP is the de facto multipath protocol in today's Internet. In this demo, we show how the recently proposed ProgMP programming model for Multipath TCP scheduling enables application- and preference-aware Multipath TCP scheduling within the ...
Forward Delay-based Packet Scheduling Algorithm for Multipath TCP
Multipath TCP (MPTCP) is a transport layer protocol that allows network devices to transfer data over multiple concurrent paths, and hence, utilizes the network resources more effectively than does the traditional single-path TCP. However, as a reliable ...
Passive analysis for multipath TCP
AINTEC '19: Proceedings of the 15th Asian Internet Engineering ConferenceMultipath TCP (MPTCP) is a backward compatible extension of Transmission Control Protocol (TCP) designed to let an application send data over several TCP connections, usually called subflows. MPTCP presents several opportunities over legacy TCP, ...
Comments