核心内容摘要
DBT与Airflow结合的参数化模型执行
这里ATC存的是经过IOMMU翻译的GPA-HAP映射项还是经过SMMU翻译的GPA-HAP映射项?
核心概念与分工IOMMUCPU端在x86虚拟化环境中IOMMU如Intel VT-d的核心作用是将虚拟机物理地址GPA转换为主机物理地址HPA即你提到的HAP。
这是虚拟机和主机之间地址隔离与转换的关键硬件单元。
SMMU显卡端SMMU是显卡内部的内存管理单元它负责的是GPU虚拟地址GVA到GPA的转换或者设备IOVA到GPA的转换属于显卡内部的地址翻译。
ATCAddress Translation Cache这是PCIe设备如显卡内部的缓存用于存储地址转换结果以减少对IOMMU的重复查询提升性能。
地址转换流程当显卡的VDMA发起DMA请求时它使用的地址是GPA虚拟机物理地址。
这个GPA需要通过PCIe接口发送到CPU端的IOMMU由IOMMU完成GPA → HPA的转换。
根据PCIe的ATSAddress Translation Services机制如果ATC中没有对应的映射项显卡会向CPU端的IOMMU发送地址转换请求。
IOMMU完成转换后将GPA→HPA的映射结果返回给显卡。
显卡收到结果后会将这个映射项缓存到ATC中后续相同地址的DMA请求就可以直接从ATC获取HPA无需再请求IOMMU。