RDMA网络中的数据报文错误的分析与优化
Analyzing and Optimizing Packet Corruption in RDMA Network
-
摘要: 1、研究背景
远程内存直接访问 (RDMA) 已成为当今数据中心中最先进的高性能网络技术之一数据中心。 RDMA的可靠传输是基于无损底层网络设计的,不能承受高丢包率。但是,除了交换机缓冲区溢出,RDMA 网络中还有另一种报丢包,即链路错误丢包,没有被深入讨论过。在以前的研究中,由于损坏导致的丢包被视为网络故障,系统性能在其故障修复的过程中会受到影响。数据报文损坏通过引起超时重传导致较长的应用程序尾部延迟。
2、研究目标
本文的研究目标主要是在当前的数据中心设计架构和硬件配置条件下解决由于链路错误丢包引起的应用程序延迟超长的性能问题。
3、研究方法
本工作的关键思想是通过建立概率模型的方法分析并估计各种能够导致超时重传的包损坏事件, 并基于此将超时事件的超时重传转换为乱序重传从而将故障概率控制在预定的应用可接受水平内。首先,为了通过估计各类报文损坏发生概率和实际影响来量化问题,我们建立了一个概率模型来进行分析。其次,为了解决问题,我们通过重复和“伪报文头部”的技术将超时重传转换为乱序重传。作为一个可部署的实现,我们引入了 P4 可编程交换机并利用RDMA的零字节消息功能来实现,而无需修改当前的 RDMA 协议和支持 RDMA 的网卡。
4、研究结果
我们提出了一种能够定量分析估计数据中心RDMA网络超时事件发生的概率模型, 并基于此模型提出了当前RDMA网络架构可部署的可编程交换机协同的针对RDMA网络数据包损失的优化, 仿真以及真机实验表明, 优化能够在引入极少带宽损失的代价下, 在各种丢包率(最大值至少1/1024)下将不同流模式应用的长尾延迟降低多个数量级。
5、研究结论
对于数据中心RDMA网络中的包损坏问题, 本文使用的概率模型结合特定优化的方式能够打破传统采用的故障处理思路, 从而大大提高应用程序的长尾延迟等性能。该方法对其他网络中的包损坏问题,以至一般性的丢包问题同样具有一定的参考价值。Abstract: Remote direct memory access (RDMA) has become one of the state-of-the-art high-performance network technologies in datacenters. The reliable transport of RDMA is designed based on a lossless underlying network and cannot endure a high packet loss rate. However, except for switch buffer overflow, there is another kind of packet loss in the RDMA network, i.e., packet corruption, which has not been discussed in depth. The packet corruption incurs long application tail latency by causing timeout retransmissions. The challenges to solving packet corruption in the RDMA network include: 1) packet corruption is inevitable with any remedial mechanisms and 2) RDMA hardware is not programmable. This paper proposes some designs which can guarantee the expected tail latency of applications with the existence of packet corruption. The key idea is controlling the occurring probabilities of timeout events caused by packet corruption through transforming timeout retransmissions into out-of-order retransmissions. We build a probabilistic model to estimate the occurrence probabilities and real effects of the corruption patterns. We implement these two mechanisms with the help of programmable switches and the zero-byte message RDMA feature. We build an ns-3 simulation and implement optimization mechanisms on our testbed. The simulation and testbed experiments show that the optimizations can decrease the flow completion time by several orders of magnitudes with less than 3% bandwidth cost at different packet corruption rates.