随着消费者对于数字内容体验的要求越来越高,通过本地计算来满足用户需求的难度越来越大。将数字世界的生产依托于"云端",把存储和计算密集型应用程序部署在云端,通过互联网随时随地的与数字世界进行交互正成为行业的新趋势。最近出现的下一代互联网基础设施,如Wi-Fi 7、5G和全光纤宽带,更是推动了基于云的应用程序的发展,促进移动通信、物联网、云游戏、无人机等行业的创新和进步。
本文旨在分享腾讯START团队在解决云游戏传输延迟这一核心问题上,与高校研究团队合作所取得的三个重要技术成果。
云游戏作为一种新兴的游戏方式,其核心在于将游戏的处理、渲染工作从用户设备转移到云端服务器上进行,并将游戏声音与画面通过实时音视频流传输到用户设备,让玩家无需强大的硬件就能随时随地的享受高质量游戏体验。为了满足用户体验的要求,云游戏场景需要25Mbps以上的高码率、20ms以下的低延迟,跟传统的RTC应用相比,码率需要提高一个数量级、延迟需要降低一个数量级,这对实时音视频的网络传输带来了前所未有的挑战。为应对这一挑战,START云游戏网络团队经过多年理论研究和实践探索,提出并逐步完善了一套系统化的解决方案,并与三所高校研究团队协作,将相关研究成果(3篇)同时发表在计算机网络与系统顶级学术会议USENIX NSDI 2024上。
线上数据证明:卡顿率大于0.01%、延迟大于20ms、码率小于25Mbps,都会导致用户时长的明显下降
为了满足云游戏对于画质、延迟、卡顿极为苛刻的要求,START网络团队需要在充分利用网络带宽的同时避免网络排队延迟。为解决这个问题,全新设计了面向云游戏场景的拥塞控制算法,突破端到端拥塞控制算法的极限,业内首次同时做到“零排队”和高带宽利用率,实现了卡顿率和延迟数量级的优化(合作学者西安交通大学博士生王世博,犀牛鸟精英人才培养计划入选学生,高校导师杨树森教授);在此基础之上,针对无线接入网频繁抖动的情况,START网络团队利用手机上已经普遍支持的Wi-Fi + Cellular双链路,全新设计了多路径传输系统AUGUR,实现了卡顿率数量级的降低(合作学者北京大学许辰人副教授);针对网络随机丢包的情况,提出了重传和FEC相结合的可靠传输机制Hairpin(合作学者清华大学王博助理教授)。
影响云游戏网络传输延迟的几个因素:有线网传播延迟+排队延迟+无线传输延迟+丢包带来的重传延迟
成果一 Pudica:一种基于端到端带宽利用率估计的超低延迟云游戏拥塞控制方法
云游戏用户对延迟和码率均有极高的要求,这进一步要求拥塞控制算法满足以下三点。首先,它应该能够在使用不依赖于过度排队的网络探测方法的前提下实现高链路利用率。其次,在多个同类流同时存在时,避免出现严重的排队现象。第三,当今互联网上存在大量带宽骤降现象,当链路状况突然恶化时,拥塞控制算法必须迅速做出反应,尽快排空瓶颈队列。
Pudica的研究背景:降低排队延迟
腾讯START提出了一个以零排队为目标的拥塞控制算法Pudica,适用于对延迟和吞吐率有严格要求的交互式流媒体场景。该算法通过避免引入帧级别的排队来保证低延迟,通过创新的方法实现了对带宽利用率(BUR)的高准确性估计。通过利用来自长期历史的平滑BUR估计和来自短期的BUR估计,设计了多种码率控制策略,综合多种策略在保证排队延迟最小化的同时,提高网络带宽利用率和公平性。
首先,该算法探测链路状况时不会有意触发排队,而是仅基于端侧反馈来估计链路的带宽利用率比例。通过自适应地控制发送速率和引入轻量级的探测数据包,在不触发帧级别排队的前提下,有效提升了对链路利用率估计的准确性。尤其是在链路利用率较高时,准确性更高,避免了由估计误差导致的错误升速。
根据链路带宽利用率比例的估计,算法采用多种码率控制策略。在链路利用率较低时,采用乘性增的方式提升码率,在指数级增加链路利用率的同时,确保带宽利用率保持在100%以下,实现低延迟和高链路利用率的目标。此外,在带宽利用率较高时,通过AI和MD同步调控的方法(AI-MD) 来控制码率。算法能够快速收敛至跨流公平性,且不会导致严重的排队现象。Pudica算法还能够快速响应任何码率的过度调整或链路带宽的急剧下降,进一步巩固了低延迟的特性。
START团队已将Pudica大规模部署数年的时间,为上千万玩家提供了服务。大规模的线上部署结果表明,Pudica实现了“零”排队、高带宽利用率和良好的公平性。与业界最先进的方法相比,Pudica在保持码率不变的同时,将卡顿率降低了一个数量级,并且平均帧延迟降低了3.1倍。
*论文原文链接:https://www.usenix.org/conference/nsdi24/presentation/wang-shibo
成果二 AUGUR:创新的Wi-Fi与蜂窝网络协同工作机制,为移动端用户带来前所未有的低延迟和高稳定性体验
腾讯START在线上观测发现,移动端用户在使用Wi-Fi网络访问服务时会因为无线网络的波动导致延迟增长,导致难以实现一致的低尾部延迟。
ANGUR的研究背景:对抗无线传输抖动
移动端是当前最广泛的双通道场景,其具备同时接入Wi-Fi与蜂窝网络的能力,引入Wi-Fi与蜂窝网络双通道的方法使得我们有机会实现一致的低时延体验。但面临的一个重要挑战是,用户对蜂窝数据使用的高度关注要求多路径传输方案在提升性能的同时,必须限制数据的使用量。
AUGUR针对实时视频传输的场景,全新实现了一套多路径传输框架,该框架具备了多链路、多连接和多协议组合的网络传输能力
AUGUR的设计核心在于利用蜂窝网络作为备份路径,智能地进行主动地视频帧重传和主路径切换,以应对Wi-Fi网络的RTT波动,将视频帧的传输延迟维持在时延Deadline之内,以期为用户提供一致性的低时延云游戏体验。
通过START线上数据发现,每个用户的网络特征是千人千面的,并且同一个用户一定时间尺度上具备相关性,因此AUGUR在通过构建用户会话的状态概率模型,并将用户特征量化,进而将减少尾部延迟和限制蜂窝数据使用的问题转化为整数线性规划(ILP)问题。使得我们能够在保持用户的蜂窝网流量消耗的前提下,极大地去降低用户的尾部延迟。
使用整数线性规划方法保证长尾时延降低与低流量消耗
在腾讯START云游戏平台上的部署结果表明,AUGUR技术实现了高达66.0%的尾部延迟减少和99.5%的视频帧卡顿率降低,同时相较于传统多通道方法将蜂窝数据使用量减少了88.1%。这些成果表面了AUGUR在提升移动端用户云游戏延时体验与降低蜂窝网络流量消耗上的能力,使得云游戏在移动端的体验更上一层楼。
*论文原文链接:https://www.usenix.org/conference/nsdi24/presentation/zhou-yuhan
成果三 Hairpin:可靠传输新机制,平衡游戏延迟体验和网络带宽成本
在云游戏业务中,丢包率的控制是保障用户体验的重要因素。传统的丢包处理方案主要依赖于重传机制和前向纠错包(FEC)两种方法。然而,这些方案在处理高瞬时丢包率时显得力不从心,且存在带宽成本高和延迟要求难以满足的问题。由于云游戏服务器都在边缘计算节点上部署,服务器可以实现10-20ms的网络往返时间(RTT),为云游戏业务的低延迟传输提供了可能。Hairpin基于此背景,旨在优化数据包丢失恢复机制,以满足云游戏的严苛要求。
Hairpin的研究背景:对抗网络丢包
Hairpin提出了一种新的丢包恢复机制:它利用在边缘节点部署服务器带来的低延迟的网络环境,对数据包、重传和冗余包进行多轮传输的最优组合。这种机制不仅考虑了初始传输的冗余设置,还特别优化了重传数据包的冗余率,以适应剩余传输机会的变化。Hairpin的创新点在于,它区分对待初始传输和重传,并对它们采用不同的冗余策略。这种区分对待的策略使得Hairpin能够在保持低带宽成本的同时,有效控制卡顿率。Hairpin利用马尔可夫决策过程(MDP)对传输过程中的时序依赖性进行建模和优化,这种方法可以处理多轮传输中的决策问题,并找到最优的传输参数;通过实时监测网络状况,包括RTT和丢包事件,动态调整FEC参数,以适应网络条件的快速变化。
公网测试表明,跟传统的FEC方法相比,Hairpin平均能够减少40%的带宽成本和32%的卡顿率。
*论文原文链接:https://www.usenix.org/conference/nsdi24/presentation/meng
总结:
START云游戏网络团队,经过多年的不断探索和实践,体系化的解决了云游戏网络传输中的三大难题,突破了延迟、卡顿、带宽三角关系,在保证高画质的同时,实现了卡顿和延迟数量级的优化,为计算和交互分离的下一代应用到来奠定了基础。
未来,我们还会围绕着困扰云游戏播放体验中的重大瓶颈,理论结合实践,突破思维局限,让网络传输实时化成为普世能力。
NSDI是USENIX协会在网络系统设计和实现领域的顶会之一,与SIGCOMM并列居于计算机网络和系统研究领域会议之首,被计算机学会(CCF)评为推荐A类会议,NSDI 2024论文的接受率为18.6%。