Processing data where it makes sense: Enabling in-memory computation

被引:124
|
作者
Mutlu, Onur [1 ,2 ]
Ghose, Saugata [2 ]
Gomez-Luna, Juan [1 ]
Ausavarungnirun, Rachata [2 ,3 ]
机构
[1] Swiss Fed Inst Technol, Zurich, Switzerland
[2] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
[3] King Mongkuts Univ Technol North Bangkok, Bangkok, Thailand
基金
美国安德鲁·梅隆基金会;
关键词
Data movement; Main memory; Processing-in-memory; 3D-Stacked memory; Near-data processing;
D O I
10.1016/j.micpro.2019.01.009
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Today's systems are overwhelmingly designed to move data to computation. This design choice goes directly against at least three key trends in systems that cause performance, scalability and energy bottlenecks: (1) data access from memory is already a key bottleneck as applications become more data-intensive and memory bandwidth and energy do not scale well, (2) energy consumption is a key constraint in especially mobile and server systems, (3) data movement is very expensive in terms of bandwidth, energy and latency, much more so than computation. These trends are especially severely-felt in the data-intensive server and energy-constrained mobile systems of today. At the same time, conventional memory technology is facing many scaling challenges in terms of reliability, energy, and performance. As a result, memory system architects are open to organizing memory in different ways and making it more intelligent, at the expense of higher cost. The emergence of 3D-stacked memory plus logic as well as the adoption of error correcting codes inside DRAM chips, and the necessity for designing new solutions to serious reliability and security issues, such as the RowHammer phenomenon, are an evidence of this trend. In this work, we discuss some recent research that aims to practically enable computation close to data. After motivating trends in applications as well as technology, we discuss at least two promising directions for processing-in-memory (PIM): (1) performing massively-parallel bulk operations in memory by exploiting the analog operational properties of DRAM, with low-cost changes, (2) exploiting the logic layer in 3D-stacked memory technology to accelerate important data-intensive applications. In both approaches, we describe and tackle relevant cross-layer research, design, and adoption challenges in devices, architecture, systems, and programming models. Our focus is on the development of in-memory processing designs that can be adopted in real computing platforms at low cost. (C) 2019 Published by Elsevier B.V.
引用
收藏
页码:28 / 41
页数:14
相关论文
共 50 条
  • [41] In-Memory Eigenvector Computation in Time O(1)
    Sun, Zhong
    Pedretti, Giacomo
    Ambrosi, Elia
    Bricalli, Alessandro
    Ielmini, Daniele
    [J]. ADVANCED INTELLIGENT SYSTEMS, 2020, 2 (08)
  • [42] Addressing Resiliency of In-Memory Floating Point Computation
    Ensan, Sina Sayyah
    Ghosh, Swaroop
    Motaman, Seyedhamidreza
    Weast, Derek
    [J]. IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 2022, 30 (09) : 1172 - 1183
  • [43] DigitalPIM: Digital-based Processing In-Memory for Big Data Acceleration
    Imani, Mohsen
    Gupta, Saransh
    Kim, Yeseong
    Zhou, Minxuan
    Rosing, Tajana
    [J]. GLSVLSI '19 - PROCEEDINGS OF THE 2019 ON GREAT LAKES SYMPOSIUM ON VLSI, 2019, : 429 - 434
  • [44] Infinity Stream: Enabling Transparent and Automated In-Memory Computing
    Wang, Zhengrong
    Liu, Christopher
    Nowatzki, Tony
    [J]. IEEE COMPUTER ARCHITECTURE LETTERS, 2022, 21 (02) : 85 - 88
  • [45] mBalloon: Enabling Elastic Memory Management for Big Data Processing
    Chen, Wei
    Pi, Aidi
    Rao, Jia
    Zhou, Xiaobo
    [J]. PROCEEDINGS OF THE 2017 SYMPOSIUM ON CLOUD COMPUTING (SOCC '17), 2017, : 654 - 654
  • [46] Not in Name Alone: A Memristive Memory Processing Unit for Real In-Memory Processing
    Haj-Ali, Ameer
    Ben-Hur, Rotem
    Wald, Nimrod
    Ronen, Ronny
    Kvatinsky, Shahar
    [J]. IEEE MICRO, 2018, 38 (05) : 13 - 21
  • [47] YinMem: a distributed parallel indexed in-memory computation system for large scale data analytics
    Huang, Yin
    Yesha, Yelena
    Halem, Milton
    Yesha, Yaacov
    Zhou, Shujia
    [J]. 2016 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA), 2016, : 214 - 222
  • [48] Efficient In-Memory Processing Using Spintronics
    Chowdhury, Zamshed
    Harms, Jonathan D.
    Khatamifard, S. Karen
    Zabihi, Masoud
    Lv, Yang
    Lyle, Andrew P.
    Sapatnekar, Sachin S.
    Karpuzcu, Ulya R.
    Wang, Jian-Ping
    [J]. IEEE COMPUTER ARCHITECTURE LETTERS, 2018, 17 (01) : 42 - 46
  • [49] Scalable in-memory processing of omics workflows
    Elisseev, Vadim
    Gardiner, Laura-Jayne
    Krishna, Ritesh
    [J]. Computational and Structural Biotechnology Journal, 2022, 20 : 1914 - 1924
  • [50] Scalable in-memory processing of omics workflows
    Elisseev, Vadim
    Gardiner, Laura-Jayne
    Krishna, Ritesh
    [J]. COMPUTATIONAL AND STRUCTURAL BIOTECHNOLOGY JOURNAL, 2022, 20 : 1914 - 1924