首页> 外文会议>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可以在实时任务时提供高时间可预测性,但也努力通过DRAM控制器之间的密切协作为非实时任务提供高平均性能。在我们的方法中,OS部分将DRAM Bank分为两组:保留银行和共享银行。保留银行对每个核心独家提供可预测的时机,而共享银行由所有核心共享以有效利用资源。 Medusa有两个单独的队列,用于读写请求,它优先考虑写入写入。在处理读取请求时,Medusa采用了一种两级调度算法,其优先考虑存储器请求以循环方式,以提供强的时间预测性。在处理写请求中,MEDUSA在很大程度上依赖于高吞吐量的FR-FCF,但是在读取请求到达保留银行时,请立即开关。我们在GEM5全系统模拟器和Linux内核中实现了MEDUSA,并使用一组合成和规范2006基准进行了实验,以分析MEDUSA对实时和非实时任务的性能影响。结果表明,MeduSa为实时任务实现了高达95%的最坏情况性能,同时实现了非实时任务的吞吐量提高了31%的吞吐量。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号