首页> 外文会议>IEEE International Conference on Cyber-Physical Systems, Networks, and Applications >MEDUSA: A Predictable and High-Performance DRAM Controller for Multicore Based Embedded Systems
【24h】

MEDUSA: A Predictable and High-Performance DRAM Controller for Multicore Based Embedded Systems

机译:MEDUSA:适用于基于多核的嵌入式系统的可预测高性能DRAM控制器

获取原文

摘要

Commercial-Off-The-Shelf (COTS) DRAM controllers are optimized for high memory throughput, but they do not provide predictable timing among memory requests from different cores in multicore systems. Therefore, memory requests from a critical real-time task on one core can be substantially delayed by memory requests from on-real-time tasks on the other cores. In this work, we propose a DRAM controller design, called MEDUSA, to provide predictable memory performance in multicore based real-time systems. MEDUSA can provide high time predictability when needed for real-time tasks but also strive to provide high average performance for non-real-time tasks through a close collaboration between the OSand the DRAM controller. In our approach, the OS partially partitions DRAM banks into two groups: reserved banks and shared banks. The reserved banks are exclusive to each core to provide predictable timing while the shared banks are shared by all cores to efficiently utilize the resources. MEDUSA has two separate queues for read and write requests, and it prioritizes reads over writes. In processing read requests, MEDUSA employs a two-level scheduling algorithm that prioritizes the memory requests to the reserved banks in a Round Robin fashion to provide strong timing predictability. In processing write requests, MEDUSA largely relies on the FR-FCFS for high throughput but makes an immediate switch to read upon arrival of read requests to the reserved banks. We implemented MEDUSA in a Gem5 full-system simulator and a Linux kernel and performed experiments using a set of synthetic and SPEC2006 benchmarks to analyze the performance impact of MEDUSA on both real-time and non-real-time tasks. The results show that MEDUSA achieves up to 95% better worst-case performance for real-time tasks while achieving up to 31% throughput improvement for non-real-time tasks.
机译:现成的商用(COTS)DRAM控制器针对高内存吞吐量进行了优化,但它们无法在多核系统中来自不同内核的内存请求中提供可预测的时序。因此,来自一个核心上的关键实时任务的内存请求可能会被来自其他核心上的实时任务的内存请求大大延迟。在这项工作中,我们提出了一种称为MEDUSA的DRAM控制器设计,以在基于多核的实时系统中提供可预测的内存性能。 MEDUSA可以在实时任务需要时提供较高的时间可预测性,但也可以通过OS与DRAM控制器之间的紧密协作,努力为非实时任务提供较高的平均性能。在我们的方法中,操作系统将DRAM存储库部分划分为两组:保留存储库和共享存储库。预留的存储区是每个核心专有的,可提供可预测的时序,而共享的存储区则被所有核心共享,以有效地利用资源。 MEDUSA有两个用于读取和写入请求的单独队列,并且将读取优先于写入。在处理读取请求时,MEDUSA采用了两级调度算法,该算法以循环方式将对存储组的存储请求进行优先级排序,以提供强大的时序可预测性。在处理写请求时,MEDUSA在很大程度上依赖于FR-FCFS来实现高吞吐量,但在将读请求到达保留存储区时立即进行了切换。我们在Gem5全系统模拟器和Linux内核中实现了MEDUSA,并使用一组综合和SPEC2006基准进行了实验,以分析MEDUSA对实时和非实时任务的性能影响。结果表明,MEDUSA对实时任务的最坏情况性能提高了95%,而对非实时任务的吞吐量提高了31%。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号