为了克服这些局限,研究人员正在探索新型的网络架构和协议设计。他们试图通过解耦应用程序与网络资源,实现更灵活的资源分配和更高效的数据处理。例如,虚拟网络系统(VNS)层的引入,允许应用程序通过标准化的接口与网络交互,同时确保数据传输的语义正确性。这一层的设计理念是让网络通信更加模块化,便于不同应用和内核程序的协同工作。
在NetChannel的设计中,NetDriver层起到了关键作用。它通过channel抽象将网络和远程服务器抽象为一个多队列设备,实现了包处理与单个应用程序和CPU核心的解耦。这样,一个核心上的应用程序可以同时映射到多个channel,从而提高资源利用率和网络吞吐量。
网络调度器是另一个重要的组成部分,它负责隔离延迟敏感的应用程序和带宽密集型的应用程序。通过精细的流量控制,网络调度器确保延迟敏感的应用程序能够在与高带宽应用竞争时,依然保持微秒级的尾部延迟,而带宽密集型应用则能充分利用剩余带宽。
除了重新设计网络堆栈,无服务器计算框架如SPRIGHT也吸引了研究者的注意。SPRIGHT旨在通过轻量级、事件驱动处理和共享内存技术,提高无服务器函数链的性能。通过使用eBPF和共享内存,SPRIGHT在吞吐量、延迟和CPU使用率方面相比传统的无服务器框架展现了显著的性能优势。
在视频流传输领域,研究也在不断推进。NeuroScaler项目致力于通过优化神经超分辨率计算和视频编码,实现高分辨率视频流的实时传输。NeuroScaler通过选择合适的锚帧和有效地分配计算资源,显著降低了计算和传输负载,提高了整体性能。
阿里巴巴的LiveNet项目则提供了一个基于扁平CDN结构的低延迟视频传输网络。LiveNet通过灵活的节点角色分配、集中协调的控制器和创新的流转发机制,大幅缩短了传输路径,降低了延迟,并提高了用户可感知的体验。
GSO-Simulcast是针对大规模视频会议系统的研究成果,它通过全局信息协调和流策略管理,实现了不同网络状态下参与者之间的协调,以及灵活的流策略配置,有效地提高了视频会议的质量和用户体验。
综上所述,网络通信技术正朝着更加灵活、高效和可扩展的方向发展。新型网络架构和协议设计不仅在理论层面上提供了创新的解决方案,而且在实际应用中展现出巨大的潜力。随着技术的不断进步和应用场景的日益丰富,我们有理由相信,未来的网络通信将更加智能、高效,更好地满足不断增长的需求。

-
使单个应用程序线程饱和数百千兆访问链路带宽;
-
支持具有核数的小消息处理的近线性可伸缩性,独立于应用程序线程数;
-
支持隔离对延迟敏感的应用程序,允许它们即使在与以近线速率运行的吞吐量绑定的应用程序竞争时也能保持us-scale的尾延迟。
-
优点
-
不足
SPRIGHT: Extracting the Server from Serverless Computing High-Performance eBPF-based Event-driven, Shared-Memory Processing
Shixiong Qi, Leslie Monis, Ziteng Zeng, Ian-chin Wang, K. K. Ramakrishnan (University of California, Riverside)
>背景与问题 这篇文章来自California的研究者。它设计了一个一种轻量级、高性能、响应式无服务器(Serverless)框架——SPRIGHT。无服务器计算越来越受欢迎,因为用户只需要开发他们的应用程序,而无需关心底层 操作系统和硬件基础设施。但是对于云服务提供商来说,如何确保满足服务质量要求(SLO)是一项复杂的工作。其中出现的困难主要有两个: (1)重型的无服务器组件:为了实现具有广泛功能支持的跨功能服务网格层(例如指标收集和缓冲,促进无服务器网络和编配等),每个函数仓(function pod)都会有一个专用的sidecar代理组件来帮助建立。但是该组件是重型的,需要持续运行并产生过多的开销。并且对于非常见的协议(例如MQTT, CoAP等),也需要额外的重型组件来适配,也会导致大量资源开销。 (2) 函数链的数据平面性能较差:现代的云架构为了提高灵活性,借助独立于平台的 通信技术(如HTTP/REST A PI),将单个应用程序分解为多个松耦合、链接的函数。但是,这涉及到上下文切换、序列化和反序列化以及数据复制开销。目前的设计还严重依赖于内核协议栈来处理路由和在功能舱之间转发网络数据包,所有这些都会影响性能。虽然灵活性提升了,但是性能开销却仍是一个负担。函数间产生的复杂数据管道为函数链增加了更多的 网络通信。所有这些都会导致数据平面性能较差(吞吐量较低,延迟较高),影响服务水平目标(SLOs)。 下图为作者研究了几个专有和开源的无服务器平台的设计后,开发的一个通用抽象模型。当客户端发送消息时,在经过网关后(①),在前端代理/消息代理中排队(②)。代理会将消息发送到第一个函数仓,但是会先经过sidecar代理(③)。第一个函数处理完成后,会发往代理排队进入下一个函数仓,但还是要先经过sidecar代理(④)。转交到下个函数仓,按③④的步骤,沿着函数链反复执行下去(⑤)。由此图就可以看出,无服务器函数链产生的额外开销是非常巨大的(除函数仓的user cont ainer外都是)。

NeuroScaler: neural video enhancement at scale
Hyunho Yeo, Hwijoon Lim, Jaehong Kim, Youngmok Jung, Juncheol Ye, Dongsu Han (KAIST)
这篇文章来自KAIST的研究者。本文主要解决的内容是在直播 视频流传输的场景下,采用传统的神经增强方法(Neural enhancement)实现高分辨率的视频流传输时,神经超分辨率(Neural super-resolution)计算开销过大,无法满足实时直播需求的问题。本文的是通过提供恰当的超分辨率帧计算方案与服务端的编码方案,优化整体传输性能与视频质量。 >背景与问题 当今视频流的传输过程中,人们对于高分辨率的视频需求日益增长。而随着网络技术的迭代,人们对于直播视频流的质量有了更多的期待。但是,高清视频的传输很大程度上依赖于上行带宽,因此,传统的技术多采用DNN技术,从较低的分辨率图像中获取较高的分辨率。当前的技术具有以下几个特点: 上行带宽较低:视频流需要从上行带宽中传输到媒体服务器,并分发给其他接收者。但由于上行带宽较低,往往无法提供较高的视频流质量。 超分辨率技术:超分辨率技术是指将低分辨率对应物生成高分辨率图像的技术。现有的超分辨率技术大多使用深度 神经网络 (DNN),学习低分辨率到高分辨率低映射。 锚帧选取:锚帧是指应用超分辨率技术的帧。因为对帧进行超分辨率推理带来极大的开销,因此我们无法对每一个帧进行推理。所以,从视频流的一系列帧中选取锚帧,利用锚帧重建高分辨率视频图像是一种合理的方式。 因为上行带宽较低,所以我们需要采用超分辨率技术进行视频流质量的提升。但是,超分辨率技术带来巨大的计算开销,因此,我们不能对每一个流进行推理,而是应该选择锚帧进行辅助重建。这也就带来了一系列的问题:1)锚帧的选取很大程度上影响着视频流的质量,不合理的锚帧会导致重建后的视频质量较低,因此,合适的实时锚帧选择方式能极大改善系统的质量。2)锚帧的计算开销是异构的,这也意味着如果对于锚帧计算资源分配不恰当,会导致整体性能的降低。3)媒体服务器上对帧的编码也会带来极大的计算开销。 >设计 本文作者认为,合适的锚帧选择可以提高视频重建的质量,而视频流的编码则是制约整体性能的重要瓶颈。当前的设计面临着三个主要的挑战:1)图像增强的高计算开销。2)编码带来的额外时延。3)在计算资源上的分配失效,无法带来满意的表现。此作者提出了三个部分的改进,分别是1)锚帧的调度,即选取合适的锚帧,利用该锚帧可以获取更好的视频重建表现。2)为锚帧有效地分配计算资源。3)以及锚帧的增强设计,即使用合适的方法,在超分辨率编码阶段降低计算开销。其整体的架构如下图所示:



LiveNet: a low-latency video transport network for large-scale live streaming
Jinyang Li, Zhenyu Li (ICT, CAS), Ri Lu, Kai Xiao, Songlin Li, Jufeng Chen, Jingyu Yang, Chunli Zong, Aiyun Chen (Alibaba Group), Qinghua Wu (ICT, CAS), Chen Sun (Alibaba Group), Gareth Tyson (Queen Mary University of London), Hongqiang Harry Liu (Alibaba Group)
本文来自阿里巴巴和中科院计算所等机构的研究者,主要报道了作者在阿里云的直播服务LiveNet的建设和运营方面所做的工作。 >背景与问题 随着新冠肺炎疫情在全球范围内蔓延,直播已经成为日常生活的必需品。随着新的低延迟直播用例的出现(如 电子商务、工作、娱乐游戏),用户数量显著增长。随着用户期望的增长,底层传输系统的灵活性和可扩展性受到了挑战。 作为全球主要的CDN提供商之一,阿里巴巴的CDN拥有众多的直播应用(如淘宝的电商直播)。多年来,这些应用程序在很大程度上得到了阿里巴巴第一代分层视频传输网络的支持(见下图)。在该网络中,流被传输到一个中央系统进行视频加工,然后分配到边缘节点,这些节点随后与观众连接。通常,这些CDN节点使用例如应用层组播和缓存等,形成一个(多层)覆盖树,叶子节点服务客户端和内部节点传播内容到叶子。然而,这对中央处理系统和内部节点造成了巨大的压力,它们必须根据流的数量进行伸缩。这对于有严格延迟约束的直播流来说尤其具有挑战性,因为流需要两次遍历传递树的深度。事实上,树形结构覆盖没有达到低延迟直播服务对CDN延迟的严格要求。


GSO-simulcast: global stream orchestration in simulcast video conferencing systems
Xianshang Lin, Yunfei Ma, Junshao Zhang, Yao Cui, Jing Li, Shi Bai, Ziyue Zhang, Dennis Cai, Hongqiang Harry Liu, Ming Zhang (Alibaba Group)
本文来自于阿里巴巴的研究者,主要研究的是大规模视频会议系统下,传统的方法无法同时提供1. 较好的视频质量;2. 改善较慢参与者的表现;3.应用于任何可接入会议的设备;的问题,并尝试使用联播 (Simulcast) 的方式,提供一个可以任意设备接入的,具有较好的会议质量,同时不会因为较慢参与者而导致整体表现不佳的系统。 >背景与问题 这个时代,在线视频会议已经成为了一个日常生活的重要组成部分,在线会议,远程授课等场景十分常见。而这种大规模的多方在线会议,带来了两个问题:1)不同的参与者,网络状态是不同的。2)参与者间的订阅关系是复杂的。传统的设计主要集中于以下三个方案: 代码转换:代码转换(transcoding)可以给下游网络路径提供适配的视频流,但在大规模场景中,对服务器的性能具有较高的需求,在昂贵的花销上是不合算的。 SVC:SVC可以把一个流适配到多种比特率上,但SVC的问题是它严重依赖于编解码方案,而部分终端不具备对于SVC的编解码能力。 联播:联播 (Simulcast) 可以将视频流编码成多种比特率,并且并行发送。但是,传统的联播方法,没有对于链路间和参与者的协调,流策略也不够灵活,导致视频和网络之间的失配,以及大规模网络下的低可管理性。 在传统的设计下,联播无法满足大规模多方会议的需求,那么,就需要全局的 信息进行参与者的协调与流策略的设置,这就带来了以下几个挑战:1)如何实现实时的控制。2)如何对不同的流进行优先级的管理。3)如何获取全局的信息。4)可以利用现有的架构进行实现。 >设计 本文认为,是全局信息的缺失与流策略的僵硬,导致联播方式的较差表现。因此,本文提出了GSO-Simulcast,通过全局信息进行流策略管理。从而满足以下三个目标,即1)更低的链路拥塞。2)更少的视频和网络失配状况。3)更好的流策略。为此,本文提出了一个三层的网络架构,如下图所示:

编辑:黄飞