一句话:提出 sIOPMP,一种面向 TEE 的可扩展 I/O 物理内存保护机制,以低开销实现大量设备隔离并提升吞吐。
TEE(如 Intel SGX/TDX、AMD SEV-SNP、ARM TrustZone/CCA)已被广泛采用,但通常未将 I/O 隔离(例如防御恶意 DMA 请求)作为一等需求,导致 I/O 密集负载性能下降。传统 IOMMU 或软件 I/O 方案可使吞吐至少降低 20%,原因是 I/O 设备的隔离需求不同于 CPU。本文提出 sIOPMP(可扩展 I/O 物理内存保护),包含三项关键设计:基于多级树的检查器,支持超过 1000 个硬件区域;将设备分为热设备和冷设备,并通过可挂载条目支持无限设备;提出重映射机制,在动态 I/O 负载下切换设备的热/冷状态。评估表明,sIOPMP 在基准测试和真实负载中开销可忽略,相比基于 IOMMU 的机制或 TEE 中采用的软件 I/O,网络吞吐提升 20%~38%。
Trusted Execution Environments (TEEs), like Intel SGX/TDX, AMD SEV-SNP, ARM TrustZone/CCA, have been widely adopted in prevailing architectures. However, these TEEs typically do not consider I/O isolation (e.g., defending against malicious DMA requests) as a first-class citizen, which may degrade the I/O performance. Traditional methods like using IOMMU or software I/O can degrade throughput by at least 20% for I/O intensive workloads. The main reason is that the isolation requirements for I/O devices differ from CPU ones. This paper proposes a novel I/O isolation mechanism for TEEs, named sIOPMP (scalable I/O Physical Memory Protection), with three key features. First, we design a Multi-stage-Tree-based checker, supporting more than 1,000 hardware regions. Second, we classify the devices into hot and cold, and support unlimited devices with the mountable entry. Third, we propose a remapping mechanism to switch devices between hot and cold status for dynamic I/O workloads. Evaluation results show that sIOPMP introduces only negligible performance overhead for both benchmarks and real-world workloads, and improves 20% ~ 38% network throughput compared with IOMMU-based mechanisms or software I/O adopted in TEEs.
@inproceedings{FengF0XZZ024,
title = {sIOPMP: Scalable and Efficient I/O Protection for TEEs},
author = {Erhu Feng and Dahu Feng and Dong Du and Yubin Xia and Wenbin Zheng and Siqi Zhao and Haibo Chen},
booktitle = {ASPLOS},
year = {2024},
doi = {10.1145/3620665.3640378}
}