PiDRAM: A Holistic End-to-end FPGA-based Framework for Processing-in-DRAM

PiDRAM: A Holistic End-to-end FPGA-based Framework for Processing-in-DRAM

Abstract

PiDRAM is presented as the first flexible, end-to-end FPGA-based framework designed to solve system integration challenges for Processing-using-Memory (PuM) techniques on off-the-shelf DRAM. Utilizing an open-source RISC-V system, the framework provides comprehensive hardware and software components necessary for rapid PuM development and testing across the entire system stack. Evaluation demonstrated massive performance improvements, achieving speedups of 12.6x for bulk copy operations and 14.6x for bulk initialization tasks.

Report

PiDRAM: A Holistic End-to-end FPGA-based Framework for Processing-in-DRAM


Key Highlights

  • First Holistic Framework: PiDRAM is the initial flexible, end-to-end framework specifically designed for the system integration and holistic evaluation of real Processing-using-Memory (PuM) techniques.
  • Addresses Integration Bottleneck: It solves non-trivial system integration challenges associated with PuM that traditional simulators or specialized DRAM-testing platforms cannot address due to lack of flexibility or system-level view.
  • FPGA and RISC-V Based: The framework is implemented on an FPGA platform and utilizes an open-source RISC-V system to provide a comprehensive, modifiable execution environment.
  • Significant Speedups: Real-system evaluation showed performance improvements of 12.6x for in-memory bulk copy operations and 14.6x for bulk initialization operations.
  • Ease of Development: Implementation of a true random number generator (TRNG) PuM technique required minimal code changes (190 lines of Verilog and 74 lines of C code), demonstrating PiDRAM's streamlined integration capability.

Technical Details

  • Architecture: FPGA-based system incorporating an open-source RISC-V processor core.
  • Scope: PiDRAM provides necessary hardware components (e.g., modified memory controller) and software modifications (e.g., changes in the operating system) to facilitate full system stack integration of PuM techniques.
  • PuM Techniques Evaluated: The paper demonstrated the implementation and evaluation of two state-of-the-art PuM techniques:
    1. In-DRAM bulk copy and initialization operations (leveraging analog DRAM functions).
    2. In-DRAM True Random Number Generation (TRNG).
  • Performance Mechanism: The high performance gains (up to 14.6x) are achieved by moving computation directly into the DRAM device, drastically alleviating the bandwidth and latency overhead of data movement between the CPU and main memory.

Implications

  • Validation of PuM: PiDRAM transforms Processing-in-DRAM (PiDRAM/PuM) from a theoretical concept or isolated simulation result into a system-integrated, measurable reality, thereby accelerating research and commercialization efforts in this domain.
  • Enhancing the RISC-V Ecosystem: By building the framework on an open-source RISC-V system, PiDRAM ensures maximum transparency, accessibility, and community contribution. This strengthens RISC-V's position as a flexible platform for developing revolutionary memory and computing architectures.
  • Alleviating the Memory Wall: Since PuM techniques leverage existing analog DRAM operations, they offer a low-cost, high-impact solution to the fundamental data movement bottleneck, making high-performance computing more accessible.
  • Design Space Exploration: PiDRAM provides researchers with the essential tool to rapidly prototype and test various PuM integration strategies, operating system interfaces, and memory controller modifications, speeding up the overall design space exploration process.
lock-1

Technical Deep Dive Available

This public summary covers the essentials. The Full Report contains exclusive architectural diagrams, performance audits, and deep-dive technical analysis reserved for our members.

Read Full Report →