### SRNIC:面向RDMA NICs的可扩展架构
#### 概述
随着数据中心规模的不断扩大,RDMA(远程直接内存访问)技术因其低延迟、高带宽等特性,在高性能计算、分布式存储等领域受到了广泛关注。然而,传统的商业RoCEv2 NIC(RDMA网络接口卡,简称RNICs)在可扩展性方面存在明显不足。具体来说,它们依赖于无损、有限规模的网络结构,并且只能支持少量高性能连接。虽然近期的一些工作如IRN在一定程度上改善了网络的可扩展性,但连接可扩展性的问题仍然没有得到解决。
针对这一问题,本文提出了一种新型的RDMA NIC架构——SRNIC,旨在实现高连接可扩展性的同时保持高性能和低CPU开销,并具备高网络可扩展性。SRNIC的关键洞察在于,通过精心设计协议与架构,可以在RNIC中最小化芯片上的数据结构及其内存需求,从而显著提高连接可扩展性。
#### SRNIC的关键技术
##### 1. 数据结构分析与优化
SRNIC首先对RDMA的概念模型中的所有数据结构进行了全面分析,识别出哪些数据结构是必需的,哪些可以被简化或移除。通过对RDMA协议头部进行修改以及引入一系列创新性的架构设计,SRNIC成功地移除了尽可能多的数据结构,从而显著减少了内存需求。
##### 2. 无缓存队列调度器
传统RNIC通常采用基于缓存的队列调度策略来管理RDMA操作。这种方式虽然能提供较好的性能,但在处理大量连接时会导致较高的内存占用。为此,SRNIC提出了一种无缓存队列调度器,该调度器能够有效减少内存占用,同时保持高性能。
##### 3. 内存无关的选择性重传机制
选择性重传(Selective Repeat)是一种有效的错误恢复机制,尤其适用于有丢包现象的网络环境。然而,传统的选择性重传机制需要维护大量的内存状态信息。为了进一步降低内存需求,SRNIC引入了一种内存无关的选择性重传机制。该机制通过巧妙的设计,能够在不牺牲性能的情况下显著减少内存占用。
#### 实验验证
为了验证SRNIC的有效性,研究团队使用FPGA实现了SRNIC原型系统,并进行了详尽的实验测试。实验结果显示,SRNIC能够支持高达10K个高性能连接,并且在标准化连接可扩展性指标(即每1MB内存支持的高性能连接数量)上相比商业RNIC提高了18倍。此外,SRNIC还能实现97Gbps的吞吐量和3.3微秒的延迟,同时仅消耗不到5%的CPU资源。
#### 结论与展望
SRNIC通过一系列创新的设计方法显著提升了RDMA NIC的连接可扩展性,为构建大规模数据中心提供了重要的技术支持。未来的研究方向可能包括探索更高效的错误恢复机制、进一步降低CPU开销等,以应对更加复杂的应用场景和更高的性能需求。
2025-12-16 16:36:49
751KB
论文
RDMA
1