MIMDRAM: An End-to-End Processing-Using-DRAM System for High-Throughput, Energy-Efficient and Programmer-Transparent Multiple-Instruction Multiple-Data Processing
CoRR(2024)
摘要
Processing-using-DRAM (PUD) is a processing-in-memory (PIM) approach that
uses a DRAM array's massive internal parallelism to execute very-wide
data-parallel operations, in a single-instruction multiple-data (SIMD) fashion.
However, DRAM rows' large and rigid granularity limit the effectiveness and
applicability of PUD in three ways. First, since applications have varying
degrees of SIMD parallelism, PUD execution often leads to underutilization,
throughput loss, and energy waste. Second, most PUD architectures are limited
to the execution of parallel map operations. Third, the need to feed the wide
DRAM row with tens of thousands of data elements combined with the lack of
adequate compiler support for PUD systems create a programmability barrier.
Our goal is to design a flexible PUD system that overcomes the limitations
caused by the large and rigid granularity of PUD. To this end, we propose
MIMDRAM, a hardware/software co-designed PUD system that introduces new
mechanisms to allocate and control only the necessary resources for a given PUD
operation. The key idea of MIMDRAM is to leverage fine-grained DRAM (i.e., the
ability to independently access smaller segments of a large DRAM row) for PUD
computation. MIMDRAM exploits this key idea to enable a multiple-instruction
multiple-data (MIMD) execution model in each DRAM subarray.
We evaluate MIMDRAM using twelve real-world applications and 495
multi-programmed application mixes. Our evaluation shows that MIMDRAM provides
34x the performance, 14.3x the energy efficiency, 1.7x the throughput, and 1.3x
the fairness of a state-of-the-art PUD framework, along with 30.6x and 6.8x the
energy efficiency of a high-end CPU and GPU, respectively. MIMDRAM adds small
area cost to a DRAM chip (1.11
更多查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要