150 likes | 318 Views
A Multipath QUIC Scheduler for Mobile HTTP/2. Jing Wang , Yunfeng Gao, Chenren Xu Peking University jing.wang@pku.edu.cn. Mobile Browsing. Generates more HTTP traffic than desktop browsing Up to 70% of web traffic happens on mobile devices 40 % of people search only on a smartphone
E N D
A Multipath QUIC Scheduler • for Mobile HTTP/2 Jing Wang, Yunfeng Gao, Chenren Xu Peking University jing.wang@pku.edu.cn
Mobile Browsing • Generates more HTTP traffic than desktop browsing • Up to 70% of web traffic happens on mobile devices • 40% of people search only on a smartphone • Page Load Time • 500 mscan decrease up to 20% traffic • Slow pages get lower search rankings • Slow pages generate less revenue
Web Browsing Pattern http://index.html foo.js bar.js ... var image = new Image(); image.src = “img2.jpg"; document.appendChild(image); ... <html> ... <script>foo.js</script> <script>bar.js</script> ... </html> ... var image = new Image(); image.src = “img1.jpg"; document.appendChild(image); ... Network ④ Execute foo.js ⑤ Execute bar.js ② Parse HTML CPU client Both ⑥ GET img2.jpg ③ GET foo.js Bar.js ⑤GET img1.jpg ① GET index.html IMG HTML JS JS IMG server Cellular Network Low Bandwidth Mobile Devices Limited CPU Poor CPU/network Utilization
Dependency Tree in HTTP/2 • Not all messages are of equal importance • Stream dependencies • Weights: relative proportion of available resources 0 32 22 42 3 2 1 Font 1 MB Image 2 MB Java Script 2 MB S1: 0.8MB S1: 1.2MB S3: 0.6MB S2: 1MB Bandwidth allocated to S1 S3: 0.9MB S3: 0.5MB 4.4s 5s 2.3s 1 Mbps Time 0s
Exclusive delivery S1: 0.8MB S1: 1.2MB 1 Mbps S3: 0.6MB S2: 1MB S3: 0.9MB S3: 0.5MB Time 0s 4.4s 5s 2.3s S3: 2MB S2: 1MB S1: 2MB 1 Mbps Time 3s 5s 1s
Goal of our work Toy Example Potential of Reducing Object Completion Time • Intuition: • Prioritize rendering resources ☺ Utilize HTTP/2 dependency tree • Aggregate bandwidth of multiple interfaces ☺ Apply multipath transport protocol • Improve CPU/network utilization ☺ Reduce object completion time • Challenges • Fairness VS. Efficiency • Path heterogeneity especially on mobile devices • Path Loss Loading… Loading… https://soar.group
QUIC Background • Transport layer network protocol • Facilitate rapid deployment • Improve performance for HTTP traffic • Reduce handshake time (0-RTT) • Prevent head-of-line blocking • Improve loss recovery • HTTP-over-QUIC became HTTP/3
MPTCP vs. MPQUIC • MPQUIC outperforms MPTCP • Quentin De Coninck, et al. Multipath QUIC: Design and Evaluation. In ACM CoNEXT, 2017. • MPTCP • Decide which data will be sent on which path • Forced to (re)transmit data in sequence over each path • MPQUIC • Also determines which control frame will be sent on which path • Retransmission strategy is more flexible • Stream details known at arrival time • Size of each stream • Priority information from HTTP/2
Downlink Scheduler Design • Goal: For each stream • Complete transfer on all paths simultaneously • Steps • Select a stream according to the ordering • For this stream, allocate byte quotas on all paths • Considering RTT, bandwidth, queuing time • Update total queuing time for each path • Loop to step 1 Ordered set of streams Stream scheduling Set of streams Stream ordering Exclusive delivery • Fair Schedulers • Weighted Round Robin (WRR), Deficit Round Robin (DRR), Weighted Fair Queuing (WFQ) • Calculate Stream Completion Order • S2, S1, S3
Uplink Scheduler Design Send ACK on the faster path • Step 1: Estimate uplink delay • Step 2: Change ACK Return Path Data 1 Data 1 10 ms 10 ms 10 ms 10 ms ACK 1 ACK 1 ACK 2 Data 2 Data 2 50 ms 50 ms Server Server 50 ms 50 ms ACK 2 RTT = 60 ms RTT = 100 ms
Evaluation Methodology • Websites with different sizes and number of resources • Simulation: Mininet + mpquic-go • Real-world Setup Low High Aggregated bandwidth = 10 Mbps WLAN 214 ± 54 ms Internet MPQUIC LTE Client AlibabaCloud 78 ± 30 ms
Page Load Time (PLT) Take away messages 1) Uplink scheduler benefits more in lossy & heterogeneous scenarios 2) Downlink scheduler doesn’t significantly reduce PLT Mininet Real world 92.2 ms 85.9 ms 155.3 ms 8.0 ms 40.5 ms 15.5 ms
Stream Completion Time (SCT) Downlink scheduler and Co-Designed scheduler can reduce average SCT Mininet Real world 10.9% 6.5% 12.9%
Conclusion & Future Work • Conclusion • MPQUIC provides opportunities for finer-grained scheduling • Uplink scheduler can speed up loss recovery • Downlink scheduler benefits from stream information • Future Work • How much can a browser benefit from stream completion time reduction? • Integrate our work into Chromium • Reduce Page Load Time by optimizing dependency tree.