MIMDRAM: An End-to-End Processing-Using-DRAM System for High-Throughput, Energy-Efficient and Programmer-Transparent Multiple-Instruction Multiple-Data Processing

2024年02月29日
  • 简介
    PUD(Processing-using-DRAM)是一种内存中处理(PIM)方法,利用DRAM阵列的内部并行性执行非常宽的数据并行操作,以单指令多数据(SIMD)方式进行。然而,DRAM行的大而且刚性的粒度以三种方式限制了PUD的有效性和适用性。首先,由于应用程序具有不同程度的SIMD并行性,PUD执行经常导致低利用率、吞吐量损失和能源浪费。其次,大多数PUD架构仅限于并行映射操作的执行。第三,需要将成千上万的数据元素组合在一起馈送到宽DRAM行中,再加上缺乏对PUD系统的充分编译器支持,这就造成了可编程性障碍。我们的目标是设计一个灵活的PUD系统,以克服PUD的大而刚性的粒度所带来的限制。为此,我们提出了MIMDRAM,一种硬件/软件共同设计的PUD系统,引入了新的机制来为给定的PUD操作分配和控制必要的资源。MIMDRAM的关键思想是利用细粒度DRAM(即独立访问大DRAM行的较小段的能力)进行PUD计算。MIMDRAM利用这个关键思想在每个DRAM子阵列中实现多指令多数据(MIMD)执行模型。我们使用12个真实应用程序和495个多程序应用程序混合来评估MIMDRAM。我们的评估显示,MIMDRAM提供了一个现有PUD框架的34倍性能、14.3倍能源效率、1.7倍吞吐量和1.3倍公平性,同时还提供了高端CPU和GPU的30.6倍和6.8倍的能源效率。MIMDRAM为DRAM芯片(1.11%)和CPU芯片(0.6%)增加了少量的面积成本。
  • 图表
  • 解决问题
    解决问题:论文试图解决DRAM行的大而刚性的粒度限制对于PUD的影响,包括应用程序的SIMD并行度不同导致执行效率低下,PUD体系结构限制于并行映射操作,以及缺乏足够的编译器支持等问题。
  • 关键思路
    关键思路:提出了一种硬件/软件协同设计的PUD系统MIMDRAM,通过利用DRAM的细粒度,即能够独立访问大DRAM行的较小部分,来进行PUD计算,从而实现DRAM子阵列中的多指令多数据(MIMD)执行模型。
  • 其它亮点
    其他亮点:使用12个真实世界应用程序和495个多程序应用程序混合进行评估,结果表明MIMDRAM提供了34倍的性能,14.3倍的能效,1.7倍的吞吐量和1.3倍的公平性,相比现有PUD框架具有更好的效果。同时,MIMDRAM还具有小的面积成本(DRAM芯片1.11%和CPU芯片0.6%)。
  • 相关研究
    相关研究:最近的相关研究包括使用PIM方法的其他系统,如HMC和PRIME,以及使用DRAM的其他计算方法,如DRAMCache和MemFlow等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论