PiDRAM: A Holistic End-To-end FPGA-based Framework for Processing-in-DRAM
dc.contributor.author
Olgun, Ataberk
dc.contributor.author
Gómez Luna, Juan
dc.contributor.author
Kanellopoulos, Konstantinos
dc.contributor.author
Salami, Behzad
dc.contributor.author
Hassan, Hasan
dc.contributor.author
Ergin, Oguz
dc.contributor.author
Mutlu, Onur
dc.date.accessioned
2023-03-06T07:52:36Z
dc.date.available
2023-03-06T06:57:19Z
dc.date.available
2023-03-06T07:52:36Z
dc.date.issued
2023-03
dc.identifier.issn
1544-3566
dc.identifier.issn
1544-3973
dc.identifier.other
10.1145/3563697
en_US
dc.identifier.uri
http://hdl.handle.net/20.500.11850/601590
dc.identifier.doi
10.3929/ethz-b-000601590
dc.description.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 DRAM-based 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.6× and 12.6×, 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.
en_US
dc.format
application/pdf
en_US
dc.language.iso
en
en_US
dc.publisher
Association for Computing Machinery
en_US
dc.rights.uri
http://creativecommons.org/licenses/by/4.0/
dc.subject
Processing-using-memory
en_US
dc.subject
processing-in-memory
en_US
dc.subject
RISC-V
en_US
dc.subject
FPGA
en_US
dc.subject
DRAM
en_US
dc.subject
memory controllers
en_US
dc.title
PiDRAM: A Holistic End-To-end FPGA-based Framework for Processing-in-DRAM
en_US
dc.type
Journal Article
dc.rights.license
Creative Commons Attribution 4.0 International
dc.date.published
2022-11-17
ethz.journal.title
ACM Transactions on Architecture and Code Optimization
ethz.journal.volume
20
en_US
ethz.journal.issue
1
en_US
ethz.journal.abbreviated
ACM trans. archit. code optim.
ethz.pages.start
8
en_US
ethz.size
31 p.
en_US
ethz.version.deposit
publishedVersion
en_US
ethz.identifier.scopus
ethz.publication.place
New York, NY
en_US
ethz.publication.status
published
en_US
ethz.leitzahl
ETH Zürich::00002 - ETH Zürich::00012 - Lehre und Forschung::00007 - Departemente::02140 - Dep. Inf.technologie und Elektrotechnik / Dep. of Inform.Technol. Electrical Eng.::09483 - Mutlu, Onur / Mutlu, Onur
ethz.leitzahl.certified
ETH Zürich::00002 - ETH Zürich::00012 - Lehre und Forschung::00007 - Departemente::02140 - Dep. Inf.technologie und Elektrotechnik / Dep. of Inform.Technol. Electrical Eng.::09483 - Mutlu, Onur / Mutlu, Onur
ethz.date.deposited
2023-03-06T06:57:20Z
ethz.source
SCOPUS
ethz.eth
yes
en_US
ethz.availability
Open access
en_US
ethz.rosetta.installDate
2023-03-06T07:52:37Z
ethz.rosetta.lastUpdated
2024-02-02T20:43:40Z
ethz.rosetta.versionExported
true
ethz.COinS
ctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.atitle=PiDRAM:%20A%20Holistic%20End-To-end%20FPGA-based%20Framework%20for%20Processing-in-DRAM&rft.jtitle=ACM%20Transactions%20on%20Architecture%20and%20Code%20Optimization&rft.date=2023-03&rft.volume=20&rft.issue=1&rft.spage=8&rft.issn=1544-3566&1544-3973&rft.au=Olgun,%20Ataberk&G%C3%B3mez%20Luna,%20Juan&Kanellopoulos,%20Konstantinos&Salami,%20Behzad&Hassan,%20Hasan&rft.genre=article&rft_id=info:doi/10.1145/3563697&
Files in this item
Publication type
-
Journal Article [131554]