一句话:提出 FlexProf 内存控制器,用读/写优化轮次与灵活调度,在消除内存侧信道的同时显著降低性能损失。
安全处理器需防御包括共享内存控制器在内的微架构侧信道。已有方案为每个共调度虚拟机分配内存控制器“轮次”并插入间隔,但会带来约 2 倍性能下降。作者观察到部分性能损失源于调度按最坏情况同时适配读写。FlexProf 的核心是让每类轮次处理固定的读写模式,引入读优化轮次和写优化轮次;通过粗粒度应用画像决定两类轮次调用频率,且不泄露敏感信息;同时允许读优化轮次机会性发出写、写优化轮次机会性发出读,以平衡限制与灵活、吞吐与利用率。相对 state-of-the-art,混合负载上最高提升 33%,几何平均提升 8%,过半内存密集型程序提升超过 10%。
Secure processors must defend against a wide array of microarchitecture side-channels, including those induced by a shared memory controller. Multiple studies have proposed techniques that allocate ''turns'' (within the memory controller) to each co-scheduled virtual machine (VM), and introduce gaps between VM turns to prevent resource conflicts and side-channels. In spite of past advancements in secure memory scheduling, the elimination of side-channels imposes a performance slowdown of 2x. We observe that one of the causes of this slowdown is that the memory controller schedule accommodates the worst case, i.e., it is prepared to handle either reads or writes. The key insight in this work is that the schedule can be more efficient if we designate every turn to handle fixed patterns of reads and writes.In particular, we introduce a read-optimized turn and a write-optimized turn. Coarse-grain application profiling helps determine how often the two types of turns are invoked, without leaking sensitive information. We also add flexibility so that a read-optimized turn can opportunistically also issue writes, and vice versa. This provides a good balance between restrictions and flexibility; between throughput and utilization. The proposed FlexProf memory controller improves performance by up to 33% with a geometric mean gain of 8% on mixed workloads, relative to state-of-the-art methods. Over half the memory-intensive programs evaluated exhibit performance gains of over 10%.