2019 · 156 citations · 63 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureParallel ComputingSystem-on-chip DesignMemory Hierarchy DesignMemory Subsystem DesignTiming Constraint Specification
In-memory computing has long been promised as a solution to the "Memory Wall" problem. Recent work has proposed using chargesharing on the bit-lines of a memory in order to compute in-place and with massive parallelism, all without having to move data across the memory bus. Unfortunately, prior work has required modification to RAM designs (e.g. adding multiple row decoders) in order to open multiple rows simultaneously. So far, the competitive and low-margin nature of the DRAM industry has made commercial DRAM manufacturers resist adding any additional logic into DRAM. This paper addresses the need for in-memory computation with little to no change to DRAM designs. It is the first work to demonstrate in-memory computation with off-the-shelf, unmodified, commercial, DRAM. This is accomplished by violating the nominal timing specification and activating multiple rows in rapid succession, which happens to leave multiple rows open simultaneously, thereby enabling bit-line charge sharing. We use a constraint-violating command sequence to implement and demonstrate row copy, logical OR, and logical AND in unmodified, commodity, DRAM. Subsequently, we employ these primitives to develop an architecture for arbitrary, massively-parallel, computation. Utilizing a customized DRAM controller in an FPGA and commodity DRAM modules, we characterize this opportunity in hardware for all major DRAM vendors. This work stands as a proof of concept that in-memory computation is possible with unmodified DRAM modules and that there exists a financially feasible way for DRAM manufacturers to support in-memory compute.
63
Wm. A. Wulf, Sally A. McKee · ACM SIGARCH Computer Architecture News · 1995 · 1.5K citations
Hitting the Memory Wall: Implications of the Obvious
Wm. A. Wulf, Sally A. McKee · 1995 · 1.4K citations
Shahar Kvatinsky, Slavik Liman, Guy Satat et al. · IEEE Transactions on Circuits & Systems II Express Briefs · 2014 · 824 citations
Engineering, Computer Engineering, Electrical Engineering +14
Design of a Massively Parallel Processor
Batcher · IEEE Transactions on Computers · 1980 · 702 citations
David A. Patterson, Thomas E. Anderson, Neal Cardwell et al. · IEEE Micro · 1997 · 668 citations