[论文解读] SQUASH: Simple QoS-Aware High-Performance Memory Scheduler for Heterogeneous Systems with Hardware Accelerators
SQUASH 是一种面向 CPU 与硬件加速器(HWAs)异构系统的 QoS 友好型内存调度器,通过分布式优先级、基于应用的优先级分配以及基于截止时间的调度,确保所有 HWA 均满足其截止时间要求,同时相比以往工作将 CPU 性能提升最高达 24.0%。它根据内存访问模式和对短截止时间 HWA 的最坏情况延迟估计,动态调整调度策略。
Modern SoCs integrate multiple CPU cores and Hardware Accelerators (HWAs) that share the same main memory system, causing interference among memory requests from different agents. The result of this interference, if not controlled well, is missed deadlines for HWAs and low CPU performance. State-of-the-art mechanisms designed for CPU-GPU systems strive to meet a target frame rate for GPUs by prioritizing the GPU close to the time when it has to complete a frame. We observe two major problems when such an approach is adapted to a heterogeneous CPU-HWA system. First, HWAs miss deadlines because they are prioritized only close to their deadlines. Second, such an approach does not consider the diverse memory access characteristics of different applications running on CPUs and HWAs, leading to low performance for latency-sensitive CPU applications and deadline misses for some HWAs, including GPUs. In this paper, we propose a Simple Quality of service Aware memory Scheduler for Heterogeneous systems (SQUASH), that overcomes these problems using three key ideas, with the goal of meeting deadlines of HWAs while providing high CPU performance. First, SQUASH prioritizes a HWA when it is not on track to meet its deadline any time during a deadline period. Second, SQUASH prioritizes HWAs over memory-intensive CPU applications based on the observation that the performance of memory-intensive applications is not sensitive to memory latency. Third, SQUASH treats short-deadline HWAs differently as they are more likely to miss their deadlines and schedules their requests based on worst-case memory access time estimates. Extensive evaluations across a wide variety of different workloads and systems show that SQUASH achieves significantly better CPU performance than the best previous scheduler while always meeting the deadlines for all HWAs, including GPUs, thereby largely improving frame rates.
研究动机与目标
- 解决现有内存调度器在异构系统中无法有效平衡 HWA 截止时间合规性与高 CPU 性能的问题。
- 识别出仅在截止时间临近时才优先处理 HWA 会导致截止时间错过和性能不佳。
- 设计一种调度器,综合考虑 CPU 应用与 HWA 的多样化内存访问特性,以提升整体系统效率。
- 确保所有 HWA(包括 GPU)始终满足其截止时间要求,同时最小化对延迟敏感 CPU 工作负载的干扰。
- 在不牺牲共享内存 SoC 中硬件加速器实时保证的前提下,实现高系统性能。
提出的方法
- SQUASH 采用分布式优先级机制,通过持续监控 HWA 的进度,在其偏离截止时间轨迹时立即提升优先级,而非仅在最后阶段预留优先级。
- 优先调度 HWA 而非内存密集型 CPU 应用,因为后者对内存延迟的敏感度较低,从而在不显著影响 CPU 性能的前提下加速 HWA 进度。
- 对于短截止时间 HWA,SQUASH 基于最坏情况内存访问时间估计,调度一个短时高优先级周期,以确保及时完成。
- 调度器采用 1000 个周期的 SchedulingUnit 和 500 个周期的 SwitchingUnit,该参数通过实验确定,以在性能与公平性之间取得平衡。
- 基于实时进度跟踪动态分类 HWA 的紧迫性,并相应调整优先级概率。
- SQUASH 与现有内存管理技术(如源端限速和银行分区)集成,作为互补的调度基础架构。
实验结果
研究问题
- RQ1内存调度器能否在异构系统中有效满足 HWA 截止时间要求,同时保持高 CPU 性能?
- RQ2仅在截止时间临近时优先处理 HWA 是否会导致截止时间错过和性能不佳?
- RQ3基于内存访问特性的应用感知优先级分配,能否同时提升 HWA 截止时间合规性与 CPU 性能?
- RQ4基于最坏情况内存访问时间估计的调度策略,对短截止时间 HWA 的性能有何影响?
- RQ5在真实工作负载中,简单的非预测性调度机制能否优于复杂的、基于截止时间的调度器?
主要发现
- SQUASH 在最佳先期调度器基础上,将 CPU 性能最高提升 24.0%,同时始终满足所有 HWA 的截止时间要求。
- 所有 HWA(包括 GPU)的截止时间满足率均为 100%,表明其 QoS 合规性具有一致性和可靠性。
- SQUASH 通过仅在必要时智能调度,显著减少了 HWA 优先于延迟敏感型 CPU 应用的次数。
- 分布式优先级机制通过在截止期早期主动纠正性能偏差,有效防止了临界时刻的截止时间错过。
- 在多种工作负载下,SQUASH 在系统性能和截止时间满足率方面均优于最先进的 CPU-GPU 调度器 [17]。
- 最优配置采用 1000 个周期的 SchedulingUnit 和 500 个周期的 SwitchingUnit,实现了性能与公平性的最佳平衡。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。