【3.1 以太网RDMA优化--网卡缓存资源维度】

3.1 以太网RDMA优化--网卡缓存资源维度

RDMA是允许本端直接访问远端内存以提供低CPU开销、低延迟和高带宽的网络传输,非常适合当前AI的数据中心应用及云存储等交互系统的需求;目前工业和学术上的研究工作都是对以太网RDMA进行改进和优化,来充分发挥性能优势;主要从存储资源、可靠传输,应用相关3个方面来介绍对RDMA网卡的性能优化和功能增强;

3.1 面向存储资源上的优化

RDMA的特性要求需要网卡进行缓存QPC,MTT等元数据信息,预先注册MR等来支持网卡接收应用程序下发的RDMA操作和进行直接内存访问等;因此在存储空间的使用策略和注册访问机制是否高效等直接影响系统的整体性能。即对网卡上的缓存资源的优化;

3.1 网卡缓存资源

对于需要跑在多台机器之上的大规模分布式应用程序,即往往需要使用大量并发连接进行频繁的网络通信;但RDMA网卡上的缓存容量很有限,比如Mellanox ConnectX-5片上缓存容量为2MB,因此只能支持有限数量的QP连接,当活跃QP连接数量超过网卡缓存容量时,会由cache miss而需要在主机内存和网卡之间进行通信数据传输,从而带来性能带宽等就会显著下降;

针对这个问题:由于网卡上有限缓存资源导致的活跃QP数量上升而导致性能急剧下降的问题;目前的优化工作主要是:渐少网卡缓存信息、增加网卡cacha hit和减少可靠连接数这三个维度;其实本质上还是针对专门的应用场景来进行专门优化的;

3.1.1 减少网卡缓存信息

  • 减少网卡缓存信息:. 通过扩展报文头、上送主机内存、转移至远端等方式减少网卡存储的元数据信息.
    针对网卡上的通用数据结构和选择重传相关的数据结构:对于通用数据结构,SRNIC 采用全部存储(对 QPC)或部分缓存(对 MTT)的方式减少缓存未命中率,并设计 SQ 调度器,对预取但未使用的WQE 通过丢弃而非缓存的策略实现无 WQE 缓存的SQ 调度. 对于选择重传相关的数据结构,SRNIC 通过报文头扩展消除了未完成请求表和重排缓冲区;通过上送主机内存消除了位图部分,并将乱序报文的元数据信息送入软件重传模块进一步处理. SRNIC使用 4.4MB 缓存可支持 10 000 条 QP 连接,但其片上缓存需求与 QP 连接数仍呈线性关系,且上载软件重传的方式在丢包率较高时会引入较大 CPU 开销.

3.1.2 增加网卡缓存命中率

  • 增加网卡缓存命中率:通过高效的缓存管理、预取、连接调度等增加缓存命中率即减少缓存未未命中对性能的影响;
    在网卡中存储全部QPC的方式在避免出现QPC缓存未命中的情况影响该性能,、网卡中存储全部 QPC 的方式虽可以避免出现 QPC 缓存未命中的情况影响网卡性能,但也使得网卡可支持连接数受网卡 QPC 存储容量的限制,采用在网卡中部分缓存 QPC 的方式以支持更多连接数(可达 15 000). 对于使用 QPC 缓存带来的头阻塞问题(缓存未命中会阻塞对后续 QPC 访问请求的处理),csRNA 设计 QPC 调度器和管理模块实现非阻塞连接调度. 由调度器首先调度准备好的连接,由管理模块维护 QPC 缓存和处理 QPC 访问请求,并在缓存未命中时一方面暂存该请求并发起 DMA操作获取相应 QPC,另一方面直接处理后续命中的访问请求. 为避免语义错误,QPC 管理模块还解决不同 QPC 请求间的依赖关系以保证同一QP连接上的顺序处理。

3.1.3 减少可靠连接数

通过使用UD、连接共享等方式避免或减少建立可靠连接数,从而减少网卡需缓存的连接状态信息.

  • 使用UD而非RC传输方式可避免建立1对1的 QP连接;
  • 使 用 动 态 连 接 共 享(dynamically connectedtransport, DCT)、扩展可靠连接 (extended reliable connection,XRC)、跨进程/线程的连接共享等方式减少连接数;

【ref】

1.以太网RDMA网卡综述

相关推荐
roman_日积跬步-终至千里1 分钟前
【Starrocks】StarRocks 排错:`Invalid method name: ‘heartbeat‘`(BE 心跳端口/协议错误)
服务器·网络·php
松涛和鸣34 分钟前
34、 Linux IPC进程间通信:无名管道(Pipe) 和有名管道(FIFO)
linux·服务器·c语言·网络·数据结构·数据库
叽里咕噜怪40 分钟前
Ansible Playbook 从入门到精通:零基础玩转自动化部署与配置管理
网络·自动化·ansible
小虾米vivian1 小时前
dmetl5 web管理平台 监控-流程监控 看不到运行信息
linux·服务器·网络·数据库·达梦数据库
老蒋新思维1 小时前
创客匠人:从个人IP到知识变现,如何构建可持续的内容生态?
大数据·网络·人工智能·网络协议·tcp/ip·创客匠人·知识变现
怀旧,1 小时前
【Linux系统编程】13. Ext系列⽂件系统
android·linux·缓存
老蒋新思维1 小时前
创客匠人洞察:从“个人品牌”到“系统物种”——知识IP的终极进化之路
网络·人工智能·网络协议·tcp/ip·重构·创客匠人·知识变现
lin张1 小时前
Ansible学习总结:从基础命令到Playbook实战
网络·学习·ansible
我是小邵1 小时前
“域名托管”和“SSL 证书缺失”是什么关系?
网络·网络协议·ssl
Henry Zhu1231 小时前
VPP中ACL源码详解第六篇:多核和性能优化实现以及调试与观测
运维·网络·网络协议·计算机网络·性能优化