WIP: When RDMA Meets Wireless论文阅读笔记

在这里插入图片描述
2022年发表在WOWMOM(C会)上

简述

针对无线网络场景,这篇文章提出了Wireless-RDMA(W-RDMA),能够在无线网络中使用RDMA解决无线主机上的CPU瓶颈问题。

背景

AR/VR互动游戏、超高清直播、4K无线投影、超视界等新兴应用意味着对超低延迟、超高带宽无线传输的需求。但传统的内核TCP协议栈不能满足需求,CPU瓶颈限制了高带宽技术的性能。TCP协议栈传输大量流量时的上下文切换和内存复制等操作会导致主机上的高CPU开销。无线主机虽然从硬件角度被赋予了超高带宽,但主机CPU瓶颈制约了新技术的性能。高分辨率和基于视频的交互式应用需要超低延迟,但基于软件的视频编解码延迟远远超出了可容忍范围,CPU密集型编解码器正在成为商用设备中高分辨率和交互式应用的瓶颈。
RDMA可以降低主机95%以上的CPU利用率。目前,几乎所有与RDMA相关的研究都是在数据中心网络的背景下进行的。他们已经证明,基于RDMA的协议栈(例如,RDMA over Converged Ethernet (RoCE) v2)与内核TCP栈相比,实现了更低的延迟和更高的带宽。而基于RDMA的应用当前都是在有线领域。

贡献

  • 首次提出无线RDMA(W-RDMA)的概念,W-RDMA使RDMA能够进行无线传输,并解决无线主机上的CPU瓶颈问题。
  • 揭示了在实践中广泛部署W-RDMA应该克服的几个技术挑战。例如:(1)无损传输保证;(2)接口适配器设计;(3)专用硬件支持。
  • 设计了一个测试平台来验证WRDMA的可行性,并进一步讨论了测试平台与W-RDMA协议栈完全实现之间的差距。

方法

W-RDMA架构

在这里插入图片描述
上图显示了TCP/IP和W-RDMA各自在无线链路上的模块交互。在TCP/IP协议中,应用程序缓冲区中的数据通过Socket api发送,传入操作系统进行处理,然后通过无线MAC发送给接收方。在W-RDMA协议中,应用层的数据不经过操作系统,直接进入WRDMA引擎的缓存,通过UDP帧发送给另一个接收方主机。在这种W-RDMA的体系结构设计中,期望专有硬件支持RDMA,并且还需要面向W-RDMA的协议和应用程序接口。

W-RDMA协议栈

W-RDMA协议栈遵循分层设计,包括硬件空间、内核空间和用户空间。如下图所示。
在这里插入图片描述

  • 硬件空间。W-RDMA传输协议应该在硬件空间实现。链路层基于IEEE 802.11标准。另外,W-RDMA传输协议应该包含一个主机信道适配器( Host Channel Adapter),因为无线信道是无线网络发送和接收数据的介质,在正确的信道上运行有助于加快连接速度。不同频段的信道数量不同,相邻的信道容易相互干扰。具体来说,主机信道适配器是检测信道的使用情况,选择受干扰最小的信道,以保证W-RDMA的高带宽优势。此外,W-RDMA传输层可以重用UDP作为传输层载波,但需要增加特定模块,如Rate Controller(类似于RDMA的DCQCN)和Loss Recovery(如Go-Back-N)。
  • 内核空间。W-RDMA的内核空间执行较少的操作,包括捕获和转发数据包、封装数据(?)和执行任务调度。
  • 用户空间。W-RDMA的用户空间需要在应用层和内核空间之间设计一个W-RDMA接口适配器。W-RDMA接口适配器至少应该包括统一的北向APIs和无线信道选择APIs的框架。统一的北向APIs提供原始的数据传输接口,如SEND、RECEIVE、WRITE、READ等;无线信道选择APIs为应用程序提供一种方法来自定义信道选择策略。

应用W-RDMA的挑战

  • 无损传输保证。确保无损传输是保证RoCEv2性能优势的先决条件。这是因为RDMA采用的是Go-Back-N重传机制,当丢包发生时会严重损失性能。由于自然或人为干扰导致无线信号强度较差,加上移动终端的软硬件资源有限,无线传输的网络条件比有线传输更具不可预测性。因此,如何保证无损传输对基于W-RDMA的传输控制提出了更大的挑战。一方面,W-RDMA应该尽量避免丢包。另一方面,在丢包的情况下,W-RDMA应该在不产生太多开销的情况下尽可能快地恢复。
  • 接口适配器设计。W-RDMA接口适配器可能包括统一的北向APIs和无线信道选择APIs。对于统一的北向APIs, W-RDMA基本上应该尽可能多地重用传统的RDMA verbs APIs的功能,包括SEND、RECEIVE、WRITE、READ等。然而,(1)与面向服务的数据中心网络不同,W-RDMA可能普遍应用于面向应用的无线网络;(2)对于其他平台的一些应用,如基于ARM的Android,RDMA verbs APIs相对复杂。基于这些,W-RDMA需要一组新颖且相对简单的统一的北向APIs来支持零拷贝和硬件卸载以实现高性能传输。对于无线信道选择APIs,它们被设计为和硬件层的主机信道适配器交互,这使跨层应用程序可自定义无线信道。
  • 专用硬件支持。RDMA主机的内核旁路能力主要由专用硬件即网卡来支持。虽然现在Wi-Fi 6和5G通信模块已经广泛配备,但目前还没有针对智能手机等移动终端的专用W-RDMA芯片。因此,缺乏W-RDMA专用的智能网卡对W-RDMA的部署是一个巨大的挑战。

实验

  • 网络拓扑
    在这里插入图片描述
  • 实验配置:两个主机配置支持RoCE v2协议的RDMA智能网卡,具有10Gbps的高带宽能力。每台主机通过一段有线链路连接到一个10-GbE路由器,形成一个逻辑无线终端,两台逻辑无线终端之间的通信仍然通过Wi-Fi链路(例如无线分布式系统(WDS))。
    为了保证无损传输(减少丢包),在主机和路由器之间添加速率控制器来控制主机的发送速率。速率控制器是一个带有两个82599ES网卡的普通服务器,这两块网卡都作为路由转发的入端口和出端口。
    两个路由器都是WiFi 6无线路由器(华硕RT-AX89X)。
  • 评价指标:吞吐量、CPU利用率
  • 结果
    W-RDMA ib_send_bw原子操作 vs TCP iperf 3 vs 没有速率控制器的传统RDMA
    总体上吞吐量随数据包大小的增加而增加。这是因为当数据包很小时,开关流模式不能充分利用带宽;当数据包大小足够大时(例如,超过32768字节),RDMA的发送速率超过无线带宽,这会导致数据包丢失和重传,这将严重影响RDMA的性能。W-RDMA优于RDMA,因为它引入了一个额外的速率控制器来避免丢包。WRDMA在传输大数据包时的吞吐量接近TCP。注意,TCP和W-RDMA的最大吞吐量都低于2 Gbps,这是由于两个无线路由器之间的WDS链路的带宽限制。
    在这里插入图片描述
    将数据包大小设置为30000字节,以确保它们实现相似的吞吐量(即,TCP为1704 Mbps, W-RDMA为1693.92 Mbps)。W-RDMA能够显著降低主机上的CPU开销。
    在这里插入图片描述

评价

这篇文章讲了W-RDMA的架构但不详细,这只是RDMA从有线领域迈向无线领域的第一步。W-RDMA与传统的RDMA在以下几个方面有所不同。(1) W-RDMA的链路层基于IEEE 802.11标准;(2) W-RDMA传输协议应该包括一个主机信道适配器,以便更好地管理信道;(3)如何有效地避免丢包和恢复丢包,对W-RDMA提出了更大的挑战。(4) W-RDMA需要一组更简单的用户APIs来支持零拷贝和硬件卸载以实现高性能传输;(5) W-RDMA专用智能网卡。未来的工作包括克服上述挑战,以及设计极简设备到设备传输协议和跨层优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值