IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:RDMA

共 2 篇相关文章

IT 累计浏览 20

Loop Engineering 实践:我把 RDMA 开发库移植到 Go 语言,花费 239 块钱

作者为了在Go语言中实现高性能RDMA库,采用Loop Engineering方法进行自动化移植实验。Loop Engineering的核心是将复杂任务拆分为可管理的小单元,在循环中逐步执行实现、审查和发布。实验从一份PRD出发,生成15个依赖issue,通过AI Agent自动化处理,覆盖设备枚举、PD/MR分配、QP创建、TCP握手和perftest工具构建。AI在macOS上生成代码,使用stub实现确保跨平台编译。但流水线中审查步骤未真正执行,导致cgo与rdma-core库的兼容性问题未被及时发现。真机在Linux服务器编译时,暴露imm_data访问错误和ibv_query_port类型不匹配等致命bug,此外还有内存屏障缺失、资源泄漏等运行时问题。修复阶段通过静态分析工具和真机测试逐步解决,包括编写C辅助函数、调整unsafe.Pointer用法和引入原子操作。最终项目包含3981行Go代码和16个PR,花费239元。文章展示了Loop Engineering在结构化任务中的效率,同时强调了人工审查和硬件环境验证的必要性,对后端系统开发有实践参考价值。

IT 累计浏览 12

傻瓜式RDMA高性能网络开发:从零跑到 400 Gb每秒

RDMA(远程直接内存访问)是一种高性能网络技术,通过内核旁路、零拷贝和CPU卸载机制,使网卡能直接读写远程内存,实现微秒级延迟和数百Gb/s吞吐,广泛应用于AI训练、分布式存储等领域。但其编程复杂,涉及队列对(QP)、完成队列(CQ)、内存区域(MR)等术语,标准流程繁琐易错。本文介绍了gordma,一个用Go语言封装的RDMA库,提供两套API:高级API类似标准net包,简化开发;底层API直接映射RDMA原语,允许精细控制。在400Gb/s RoCE v2网卡实测中,gordma高级API吞吐达28Gb/s,底层API达232Gb/s,原生基准为392Gb/s。文章详解了RDMA核心概念,包括历史发展、术语速记、传输类型,并演示了使用perftest工具进行基准测试,讨论了单位换算和环境因素影响。gordma为Go开发者提供了从零开始RDMA开发的路径,平衡易用性与性能,适用于高性能计算场景。