RDMARDMA编程:事件通知机制
发布时间
阅读量:
阅读量
RDMA凭借其核心的kernel-bypass与协议栈offload两项技术,成功实现了相较传统TCP/IP网络通信性能的显著提升。虽然RDMA在性能方面具备明显优势,但目前其在实际业务场景中的应用却极为有限。制约RDMA大规模推广和应用的主要因素主要体现在两个方面:
- 当前主流互联网企业普遍采用RoCE(RDMA over Converged Ethernet)作为部署RDMA的方案,而RoCE本质上是基于UDP协议实现的RDMA传输方式,无法在网络层面确保数据包不丢失。因此,在采用RoCE方案时需引入额外的拥塞控制机制以保障底层网络的无损传输,例如PFC与ECN等技术。然而,目前各大厂商对硬件层面拥塞控制的支持仍不够完善,导致存在一定的兼容性问题。
- RDMA提供的编程接口与传统的socket接口存在显著差异,因此若要使用RDMA技术,则必须对现有应用程序进行相应的调整和适配。同时,原生的RDMA编程API(如verbs/RDMA_CM)较为复杂,开发者需要具备对RDMA技术深入的理解才能进行有效开发,这无疑增加了学习与使用的难度。
为有效降低应用程序改造所需的成本,决定开发一款专门用于RDMA通信的库文件。该库直接基于ibverbs和RDMA_CM构建,在实现功能的同时避免了对其他第三方库的依赖。
本文主要针对rdma编程中的事件通知机制进行了系统性的归纳与
全部评论 (0)
还没有任何评论哟~
