Please use this identifier to cite or link to this item: https://hdl.handle.net/20.500.11851/10312
Title: PiDRAM: A Holistic End-to-end FPGA-based Framework for Processing-in-DRAM
Authors: Olgun, Ataberk
Luna, Juan Gomez
Kanellopoulos, Konstantinos
Salami, Behzad
Hassan, Hasan
Ergin, Oguz
Mutlu, Onur
Keywords: Processing-using-memory
processing-in-memory
RISC-V
FPGA
DRAM
memory controllers
Logic Operations
Latency Dram
Memory
Cpu
Publisher: Assoc Computing Machinery
Abstract: Commodity DRAM-based processing-using-memory (PuM) techniques that are supported by off-the-shelf DRAM chips present an opportunity for alleviating the data movement bottleneck at low cost. However, system integration of these techniques imposes non-trivial challenges that are yet to be solved. Potential solutions to the integration challenges require appropriate tools to develop any necessary hardware and software components. Unfortunately, current proprietary computing systems, specialized DRAM-testing platforms, or system simulators do not provide the flexibility and/or the holistic system view that is necessary to properly evaluate and deal with the integration challenges of commodity DRAM-based PuM techniques. We design and develop Processing-in-DRAM (PiDRAM), the first flexible end-to-end framework that enables system integration studies and evaluation of real, commodity DRAM-based PuM techniques. PiDRAM provides software and hardware components to rapidly integrate PuM techniques across the whole system software and hardware stack. We implement PiDRAM on an FPGA-based RISC-V system. To demonstrate the flexibility and ease of use of PiDRAM, we implement and evaluate two state-of-the-art commodity DRAMbased PuM techniques: (i) in-DRAM copy and initialization (RowClone) and (ii) in-DRAM true random number generation (D-RaNGe). We describe how we solve key integration challenges to make such techniques work and be effective on a real-system prototype, including memory allocation, alignment, and coherence. We observe that end-to-end RowClone speeds up bulk copy and initialization operations by 14.6x and 12.6x, respectively, over conventional CPU copy, even when coherence is supported with inefficient cache flush operations. Over PiDRAM's extensible codebase, integrating both RowClone and D-RaNGe end-to-end on a real RISC-V system prototype takes only 388 lines of Verilog code and 643 lines of C++ code.
URI: https://doi.org/10.1145/3563697
https://hdl.handle.net/20.500.11851/10312
ISSN: 1544-3566
1544-3973
Appears in Collections:Scopus İndeksli Yayınlar Koleksiyonu / Scopus Indexed Publications Collection
WoS İndeksli Yayınlar Koleksiyonu / WoS Indexed Publications Collection

Show full item record



CORE Recommender

SCOPUSTM   
Citations

2
checked on Nov 2, 2024

WEB OF SCIENCETM
Citations

7
checked on Oct 5, 2024

Page view(s)

80
checked on Nov 4, 2024

Google ScholarTM

Check




Altmetric


Items in GCRIS Repository are protected by copyright, with all rights reserved, unless otherwise indicated.