中文

虚拟地址RDMA期间的内存缺页处理

分布式、并行与集群计算 2025-11-27 v1 硬件体系结构

摘要

如今,在现代高速互连网络中,由于内核空间与用户空间之间多次数据拷贝的高开销,避免集群通信(例如在数据中心和高性能计算中)期间的系统调用已成为必要。用户级零拷贝远程直接内存访问(RDMA)技术通过提高性能和降低系统能耗来解决此问题。然而,传统的RDMA引擎无法容忍缺页,因此使用各种技术来避免它们。最先进的RDMA方法通常依赖于为每个应用程序固定地址空间或多个页面。这种方法由于增加了编程复杂性(固定和解除固定缓冲区)、限制了可固定的内存量以及内存利用率低下,而带来了长期的不利影响。此外,固定并不能完全防止缺页,因为现代操作系统应用了内部优化机制,例如Linux中默认启用的透明大页(THP)。本论文实现了一个与ExaNeSt项目的DMA引擎集成的缺页处理机制。缺页由ARM系统内存管理单元(SMMU)检测,并通过一个能在需要时请求重传的软硬件解决方案来解决。该机制需要修改Linux SMMU驱动程序、开发一个新的软件库、更改DMA引擎硬件以及调整DMA调度逻辑。实验在ExaNeSt的Quad-FPGA子板(QFDB)上进行,该子板使用Xilinx Zynq UltraScale+ MPSoC。最后,我们评估了我们的机制,并将其与固定内存和预缺页等替代方案进行了比较,并讨论了该方法的优势。

关键词

引用

@article{arxiv.2511.21018,
  title  = {Handling of Memory Page Faults during Virtual-Address RDMA},
  author = {Antonis Psistakis},
  journal= {arXiv preprint arXiv:2511.21018},
  year   = {2025}
}

备注

Antonis Psistakis, Master of Science (MSc) Thesis 2019. The abstract and text were lightly revised in 2025 to comply with arXiv formatting guidelines