In complex systems with many compute nodes containing multiple CPUs that are coherent within each node, a key challenge is maintaining efficient and correct coherence between nodes. The Unimem system addresses this by proposing a virtualized global address space that enables such coherence, relying on the I/O Memory Management Unit (IOMMU) in each node. The goal of this thesis is to support this approach by successfully testing and using the IOMMU of a single node. For this purpose, we used ARM's IOMMU, known as the System Memory Management Unit (SMMU), which translates virtual addresses to physical addresses. Because Linux documentation for the SMMU is limited and unclear, we implemented custom kernel modules to test and use its functionality. First, we tested the SMMU in the Processing System (PS) of the Xilinx Zynq UltraScale+ MPSoC by developing a module that inserted virtual-to-physical address mappings into the SMMU. We then triggered a DMA transfer to a virtual address and observed that the request passed through the SMMU for address translation. We repeated this experiment by initiating DMA transactions from the Programmable Logic (PL) and similarly confirmed that the transactions were translated by the SMMU. Finally, we developed a module that enables transactions from the PL without requiring explicit pre-mapping of virtual and physical address pairs. This was achieved by configuring the SMMU with the page table pointer of a user process, allowing it to translate all relevant virtual addresses dynamically. Overall, we successfully demonstrated the correct operation of the SMMU across all tested scenarios. Due to time constraints, further exploration of advanced SMMU features is left for future work.


翻译:在包含多个 CPU 且每个节点内部保持缓存一致性的多计算节点复杂系统中,维持节点间高效且正确的缓存一致性是一项关键挑战。Unimem 系统通过提出一种虚拟化的全局地址空间来解决这一问题,该方案依赖于每个节点中的 I/O 内存管理单元(IOMMU)。本论文的目标是通过成功测试并使用单个节点的 IOMMU 来支持这一方法。为此,我们采用了 ARM 的 IOMMU(即系统内存管理单元,SMMU),其功能是将虚拟地址转换为物理地址。由于 Linux 中关于 SMMU 的文档有限且表述不清,我们实现了自定义内核模块以测试并使用其功能。首先,我们在 Xilinx Zynq UltraScale+ MPSoC 的处理系统(PS)中测试了 SMMU,开发了一个将虚拟地址到物理地址映射插入 SMMU 的模块。随后,我们触发了一个指向虚拟地址的 DMA 传输,并观察到该请求经过 SMMU 进行地址转换。我们通过从可编程逻辑(PL)发起 DMA 事务重复了该实验,同样证实了事务由 SMMU 进行转换。最后,我们开发了一个模块,使得来自 PL 的事务无需显式预映射虚拟地址与物理地址对即可执行。这是通过使用用户进程的页表指针配置 SMMU 实现的,使其能够动态转换所有相关的虚拟地址。总体而言,我们在所有测试场景中成功验证了 SMMU 的正确运行。由于时间限制,对 SMMU 高级功能的进一步探索将留待后续工作。

0
下载
关闭预览

相关内容

AAAI 2022 | ProtGNN:自解释图神经网络
专知会员服务
40+阅读 · 2022年2月28日
AAAI 2022 | ProtGNN:自解释图神经网络
专知
10+阅读 · 2022年2月28日
图节点嵌入(Node Embeddings)概述,9页pdf
专知
15+阅读 · 2020年8月22日
论文浅尝 | GEOM-GCN: Geometric Graph Convolutional Networks
开放知识图谱
14+阅读 · 2020年4月8日
【NeurIPS2019】图变换网络:Graph Transformer Network
Single-Shot Object Detection with Enriched Semantics
统计学习与视觉计算组
14+阅读 · 2018年8月29日
国家自然科学基金
0+阅读 · 2017年12月31日
国家自然科学基金
6+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
47+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
VIP会员
最新内容
国外海军作战管理系统与作战训练系统
专知会员服务
0+阅读 · 今天4:16
美军条令《海军陆战队规划流程(2026版)》
专知会员服务
4+阅读 · 今天3:36
《压缩式分布式交互仿真标准》120页
专知会员服务
3+阅读 · 今天3:21
《电子战数据交换模型研究报告》
专知会员服务
4+阅读 · 今天3:13
《基于Transformer的异常舰船导航识别与跟踪》80页
《低数据领域军事目标检测模型研究》
专知会员服务
4+阅读 · 今天2:37
【CMU博士论文】物理世界的视觉感知与深度理解
伊朗战争停火期间美军关键弹药状况分析
专知会员服务
8+阅读 · 4月22日
电子战革命:塑造战场的十年突破(2015–2025)
相关VIP内容
相关基金
国家自然科学基金
0+阅读 · 2017年12月31日
国家自然科学基金
6+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
47+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员