[论文解读] Deterministic Memory Abstraction and Supporting Multicore System Architecture
本文提出 Deterministic Memory,一种新型的操作系统与硬件级内存抽象,可保证严格 bounded 的最坏情况内存访问时间,从而在不牺牲性能的前提下,实现多核系统中的高时间可预测性。通过在页粒度上区分确定性内存与尽力而为内存,该方法将缓存利用率提升 39%,减少对私有 DRAM 空间的依赖,同时保持强隔离性,已在 Linux 和 gem5 模拟中得到验证。
Poor time predictability of multicore processors has been a long-standing challenge in the real-time systems community. In this paper, we make a case that a fundamental problem that prevents efficient and predictable real-time computing on multicore is the lack of a proper memory abstraction to express memory criticality, which cuts across various layers of the system: the application, OS, and hardware. We, therefore, propose a new holistic resource management approach driven by a new memory abstraction, which we call Deterministic Memory. The key characteristic of deterministic memory is that the platform - the OS and hardware - guarantees small and tightly bounded worst-case memory access timing. In contrast, we call the conventional memory abstraction as best-effort memory in which only highly pessimistic worst-case bounds can be achieved. We propose to utilize both abstractions to achieve high time predictability but without significantly sacrificing performance. We present deterministic memory-aware OS and architecture designs, including OS-level page allocator, hardware-level cache, and DRAM controller designs. We implement the proposed OS and architecture extensions on Linux and gem5 simulator. Our evaluation results, using a set of synthetic and real-world benchmarks, demonstrate the feasibility and effectiveness of our approach.
研究动机与目标
- 解决多核实时系统中因不可控的内存访问干扰而导致的时间可预测性差的根本挑战。
- 识别出缺乏统一的内存抽象来表达应用、操作系统和硬件层之间的内存关键性,是导致问题的根本原因。
- 提出一个端到端的跨层资源管理框架,采用两种内存抽象:确定性内存(时序有界)和尽力而为内存(性能优化)。
- 实现对内存关键性的细粒度、页级控制,以在共享内存层次中平衡可预测性与效率。
- 设计并实现操作系统的扩展(页分配器)、缓存和 DRAM 控制器,以支持新抽象,并评估其有效性。
提出的方法
- 将 Deterministic Memory 定义为一种内存抽象,其中操作系统与硬件共同保证极小且严格有界的最坏情况访问时间。
- 在 Linux 3.13 内核中扩展新页分配器,替代原有的 buddy 分配器,以支持确定性内存与尽力而为内存页的分配。
- 设计一种支持确定性内存感知的缓存,其隔离性与基于路的分区相同,但缓存空间利用率显著更高。
- 增强实时 DRAM 控制器,以减少对私有 DRAM bank 空间的依赖,同时保持实时任务的可预测访问时序。
- 在针对高性能、乱序执行四核平台的 gem5 全系统模拟器中,实现 OS 与硬件扩展。
- 使用 MMU 基于的页表项在页粒度上编码内存关键性,实现端到端、跨层的内存时序需求感知。
实验结果
研究问题
- RQ1一种能保证有界最坏情况内存访问时序的新内存抽象,是否能在不降低性能的前提下,提升多核系统的时间可预测性?
- RQ2如何将确定性内存集成到操作系统与硬件栈中,以实现跨层资源管理,并在页粒度上实现细粒度控制?
- RQ3确定性内存能在多大程度上减少缓存空间浪费与 DRAM bank 分配,同时保持对实时任务的强隔离性?
- RQ4当仅对关键内存区域应用确定性内存时,会涌现出哪些性能与可预测性之间的权衡?
- RQ5与传统的基于路的缓存分区和最先进的实时 DRAM 控制器相比,所提方法在隔离性、效率和资源利用率方面表现如何?
主要发现
- 所提出的确定性内存抽象在隔离性方面与传统基于路的缓存分区相当,同时使共调度的非实时工作负载的平均缓存命中率提升 39%。
- 确定性内存感知的缓存设计相比传统基于路的分区,平均可减少 49% 的缓存空间需求,且不损害隔离性保证。
- 确定性内存感知的 DRAM 控制器在减少预留私有 DRAM bank 空间的同时,仍能实现与最先进的实时 DRAM 控制器相当的最坏情况执行时间(WCET)保证。
- 基于 MMU 的页级内存关键性编码支持灵活的细粒度控制,克服了以往基于范围寄存器方法的局限性。
- 在 Linux 和 gem5 中的实现证明了所提跨层资源管理框架在 EEMBC、SD-VBS 和 SPEC2006 套件中的真实工作负载下的可行性与有效性。
- 该方法在通过选择性使用确定性内存的同时,实现了对关键任务的高时间可预测性,且保持了非关键工作负载的高性能。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。