ESE Fall Colloquium – “Processing in Memory: Past, Present, and Future”
December 14, 2021 at 11:00 AM - 12:00 PM
Applications are increasingly data-intensive and bound by the performance of the memory and/or storage system. This “memory wall” arises from several factors: the volume of data is increasing exponentially, outstripping cache capacities; many applications extensively use streaming data with little or no temporal reuse; as algorithms become more sophisticated, access patterns are often unfriendly to effective caching; and the computation intensity of many of these algorithms is low–we often spend more time and energy moving data to the processor than we spend computing on the data. All these factors motivate breaking down the classic von Neumann architecture that separates processing and memory, and computing as close to the data as possible, with processing elements either tightly coupled with memory or storage, or possibly even embedded directly in the memory chips.
The memory wall has been a concern for decades, with numerous proposals over the years for processing-in-memory and near-data architectures. This talk will review the motivation for processing in memory and some prior proposals, then provide an overview of the current landscape, take a deep dive into the Fulcrum processing-in-memory architecture developed by my research group, and then conclude with some suggestions for promising applications and directions for in-memory/near-data design, together with some necessary operating-system and middleware capabilities.

