论文及视频:XLINK: QoE-driven multi-path QUIC transport in large-scale video services
XLINK设计思想:
XLINK的核心贡献:
XLINK核心设计:基于播放器buffer水平的重注入
XLINK特殊设计:
其他设计:
*注:文中“【】”中的内容为个人想法,仅供参考。
XLINK的两个设计目标:
XLINK的两个基础:
挑战:
实验:
96%的消费者表明,短视频对其购物决策有帮助
“网红经济“的兴起
两个观察
问题:is it practical and worthwhile to bring multi-path QUIC to large-scale video services?
直接将多路径应用于大规模视频
MP-HoL的传统解决方案:
因此,现有MP技术主要用于音频场景(Apple Siri和Apple Music)
Key idea:
设计机制:
核心指标
贡献:
主要结果:
XLINK总结:
短视频应用::TikTok、Reels、Twitter
电子商务公司:阿里、亚马逊、Ebay、Redfin
现状:
QUIC是Google提出的用于替换TCP的协议,现已占据Google流量的40%+和Facebook流量的75%+
QUIC相对于TCP的优势:
QUIC的用户态特性,便于其实际MPTCP在克服部署中的问题,如:
现状:
现状:
趋势:同时利用5G和Wi-Fi
Vanilla-MP:MPQUIC(CoNEXT’17)
多路径性能的两个挑战:
环境:Mahimahi
观察:Vanilla-MP无法快速应对网络突变
数据采集:一周
对比:Vanilla-MP vs. SP(单路径)
观察:
结论:直接应用于短视频时,Vanilla-MP相对于单路径不一定能取得性能提升
目标:用最少的开销取得最优的QoE(低时延,少卡顿)
思想:跨层网络设计,与视频应用紧密结合
核心:
MPQUIC草案:MPQUIC(CoNEXT’17)
XLINK与草案的区别:为ACK_MP帧引入额外的字段,而非使用额外的帧
三个组成部分:
在传输层与应用层同时实现
MP-HoL阻塞的根源:调度器在多个路径分配数据包,使多路径产生耦合
重注入:通过另一个路径重传Inflight数据包,将多路径解耦合,以缓解MP-HoL阻塞
【关于路径耦合我的理解:
指一条路径的传输行为受到另一条路径的影响,无法充分利用带宽。那么所谓解耦合,就是指不管其他路径的环境如何,所有路径在传输数据的全部时间内,都可以打满带宽进行发送。
MinRTT之所以会耦合,是因为慢路径在传输最后一个RTT的数据时,快路径很可能被空闲,导致无法更快地完成传输。而重注入通过利用快路径发送冗余数据包,使得在最后一个慢路径RTT内,快路径仍然以满带宽传输,直至所有数据传输完成。通过重注入,可以将传输尾部的完成时间从慢路径RTT缩短至快路径RTT。】
QUIC特性:Multi Stream
思想:按照Stream的先后顺序进行优先级排序,确保高优先级的Stream优先完成传输
实现:发送某Stream的最后一个数据包后,检查未ACK队列(unacked_q)中是否存在同优先级的数据包,若有,则将其插入至低优先级流未发送的数据包前,优先发送
挑战:对于视频帧而言,其传输单元相对较小,帧的传输很容易被慢路径阻塞(图中的pkt3)——需要重注入
问题:基于流级别的重注入粒度太粗(一个流包含多个帧),无法解决视频帧阻塞的问题
思想:识别视频帧的数据,优先完成首帧数据包的传输
实现:stream_send API
重注入的问题:冗余流量成本(直接使用会引入15%的冗余流量)
解决思路:利用客户端的QoE反馈,控制重注入的数据量
QoE反馈:XLINK感知播放器buffer水平
重注入控制算法的三个设计目标:
*注:视频流在start-up阶段重注入的数据量较多,但当buffer稳定以后,重注入较少
性能&成本
过去研究表明,由于路径时延差异的存在,主路径选择会影响MPTCP性能
5G SA增大了路径时延差
XLINK的无线感知主路径选择:5G SA > 5G NSA > WiFi > LTE
MPTCP:ACK从其原始路径返回
XLINK:ACK从最快路径返回
XLINK基于所提出的MPQUIC草案实现:https://datatracker.ietf.org/doc/html/draft-liu-multipath-quic-02
与之前草案的区别:
设计要点:
QUIC标准草案[34]:https://datatracker.ietf.org/doc/html/draft-ietf-quic-transport-33
实现:
三个扩展帧:
服务器与客户端通过发送PATH_STATUS帧来关闭Path Identifier对应的路径
通过检测网络环境变化,客户端和服务器可以立即关闭路径
QUIC安全性的一般原则不变:设置数据包保护密钥、初始化加密、头部保护、0-RTT密钥等
对于1-RTT数据包使用的multiple number spaces,需要改变AEAD的使用
【这部分看不懂,暂略】
负载均衡器(LB)需实现QUIC-LB草案[44]中指定的路由算法
对于LB中的CID使用相同的hash,以确保将多路径数据包路由到相同的真实服务器
XLINK客户端基于XQUIC(IETF QUIC的C语言实现),并集成至手淘Android客户端APP,测试包可以每周发布
XLINK服务器同样基于XQUIC,部署于CDN服务器
对程序的进程ICD使用相同的hash,以确保将多路径数据包传递给保存QUIC连接上下文的进程
XLINK通过配置项添加其算法参数,可在几小时内更新
实验环境:
根据buffer水平的分布来确定双阈值控制参数
观察:
相对单路径,XLINK降低了buffer<50ms的比例(此时很可能引发卡顿)
最终参数:95-80,产生2.1%的冗余数据开销
传输指标:请求完成时间
连续两周的线上测试表明,对于中位数、尾部请求完成时间(RCT),XLINK可以稳定优于单路径,因为它有效地解决了MP-HoL问题
环境:Mahimahi仿真+真实网络采集的Trace
对比对象:
实验环境:3个安卓5G手机下载不同大小(10MB~50MB)的文件
记录信息:时间戳,瞬时电流,电压,WiFi RSSI,cellular RSSI
控制变量:清后台,开关飞行模式,保持屏幕亮度相同
结论:使用多路径会提升瞬时能耗(power),但不一定会提升每bit能耗(energy)
观察:
QUIC的多路径扩展方案:
现有方案的缺陷:对于可部署性和收益的问题缺乏大规模实验研究( https://mailarchive.ietf.org/arch/browse/quic/)
XLINK验证了MPQUIC在商业大规模短视频服务中作为端到端服务的可行性、可部署性和优势
MPTCP在2013年实现标准化,却极少在移动操作系统中应用,原因:
大规模实验室可控环境实验表明,MPTCP对于单路径的性能提升受到许多因素影响,如下载数据量、路径时延差等
本文认为不同路径对于多路径能力的需求有所不同,因此多路径需要与应用协同
MPTCP默认:MinRTT + opportunistic retransmission and penalization
基于网络预测的方法(解决惩罚影响性能的问题):ECF、BLEST、Musher
乱序发送按序到达类方法:STMS、DEMS
低时延MPTCP:RAVEN
XLINK:以视频应用为中心,考虑可扩展性和部署性,通过QoE反馈的重注入来解决HoL拥塞问题,平衡性能与成本
跨层视频QoE提升技术(单路径):
多路径方案:
XLINK:
解决方案:
XLINK采用解耦合拥塞控制,与MP-DASH一致
原因:现有Wi-Fi和蜂窝数据网络(甚至是5G NSA)不太可能共享瓶颈链路(last mile)
limitation:随着5G SA的部署,瓶颈链路很可能从last mile转移,这种情况下应选择耦合拥塞控制策略