Multipath QUIC (MPQUIC) aggregates the bandwidth of multiple network paths. The protocol extension, however, does not specify a general-purpose scheduler tailored to QUIC's stream multiplexing capabilities. As a result, current MPQUIC implementations rely on generic scheduling strategies explicitly designed for Multipath TCP without accounting for the differences between the protocols. Given that recent scheduling theory advancements have enabled algorithms for hierarchical max-min fairness at deployable rates, we integrate such an approach into a fork of Cloudflare's QUIC library quiche featuring multipath support. Applications can classfully divide traffic per connection by specifying a weighted hierarchy with minimal coupling to the transport layer. Traffic classes are isolated from each other and receive strategy-proof minimum rate guarantees; unused bandwidth is fairly re-distributed to classes with unsatisfied requests. We show that these properties are application protocol-agnostic, being suitable for HTTP/3. Our scheduler schedules streams with byte granularity and is compatible with modern multipath scheduling strategies that optimize stream completion times and out-of-order packets. For web-like traffic, it handles path heterogeneity better than quiche's default scheduler and has lower stream completion times.
«
Multipath QUIC (MPQUIC) aggregates the bandwidth of multiple network paths. The protocol extension, however, does not specify a general-purpose scheduler tailored to QUIC's stream multiplexing capabilities. As a result, current MPQUIC implementations rely on generic scheduling strategies explicitly designed for Multipath TCP without accounting for the differences between the protocols. Given that recent scheduling theory advancements have enabled algorithms for hierarchical max-min fairness at d...
»