中文

NP-RDMA:利用商用 RDMA 而无需固定内存

网络与互联网体系结构 2023-10-18 v1

摘要

远程直接内存访问(Remote Direct Memory Access,RDMA)一直受困于需要固定内存区域。固定内存会阻碍按需分页与交换,从而限制内存利用率;它还会使大型内存应用的初始化延迟从数秒增加到数分钟。为消除内存固定,现有方法通常需要支持缺页异常的特殊硬件,且性能仍较差。我们提出 NP-RDMA,它在内存注册时去除内存固定,并利用商用 RDMA 网卡实现动态缺页处理。NP-RDMA 不要求网卡支持缺页异常。相反,通过 MMU-notifier 监控本地内存分页与交换,结合基于 IOMMU/SMMU 的地址映射,NP-RDMA 能在软件中高效检测并处理缺页,对非缺页 RDMA verbs 的额外延迟近乎为零。我们实现了一个 LD_PRELOAD 库(含一个修改后的内核模块),与现有 RDMA 应用完全兼容。实验表明,NP-RDMA 在非缺页场景下仅增加 0.1∼2 μs 延迟;在次要或缺页异常下分别仅增加 3.5∼5.7 μs 和 60 μs,比使用支持缺页高级网卡的 ODP 快 500 倍。使用非固定内存时,Spark 初始化快 20 倍,物理内存使用减少 86%,仅 slowdown 5.4%。企业存储可借助 SSD 扩展至 5 倍容量,而平均延迟仅高 10%。据我们所知,NP-RDMA 是首个利用商用 RDMA 网卡消除内存固定、高效且对应用透明的方法。

关键词

引用

@article{arxiv.2310.11062,
  title  = {NP-RDMA: Using Commodity RDMA without Pinning Memory},
  author = {Huijun Shen and Guo Chen and Bojie Li and Xingtong Lin and Xingyu Zhang and Xizheng Wang and Amit Geron and Shamir Rabinovitch and Haifeng Lin and Han Ruan and Lijun Li and Jingbin Zhou and Kun Tan},
  journal= {arXiv preprint arXiv:2310.11062},
  year   = {2023}
}