Shared-PIM: Enabling Concurrent Computation and Data Flow for Faster Processing-in-DRAM
<|reference_start|>Shared-PIM: Enabling Concurrent Computation and Data Flow for Faster Processing-in-DRAM: Processing-in-Memory (PIM) enhances memory with computational capabilities, potentially solving energy and latency issues associated with data transfer between memory and processors. However, managing concurrent computation and data flow within the PIM architecture incurs significant latency and energy penalty for applications. This paper introduces Shared-PIM, an architecture for in-DRAM PIM that strategically allocates rows in memory banks, bolstered by memory peripherals, for concurrent processing and data movement. Shared-PIM enables simultaneous computation and data transfer within a memory bank. When compared to LISA, a state-of-the-art architecture that facilitates data transfers for in-DRAM PIM, Shared-PIM reduces data movement latency and energy by 5x and 1.2x respectively. Furthermore, when integrated to a state-of-the-art (SOTA) in-DRAM PIM architecture (pLUTo), Shared-PIM achieves 1.4x faster addition and multiplication, and thereby improves the performance of matrix multiplication (MM) tasks by 40%, polynomial multiplication (PMM) by 44%, and numeric number transfer (NTT) tasks by 31%. Moreover, for graph processing tasks like Breadth-First Search (BFS) and Depth-First Search (DFS), Shared-PIM achieves a 29% improvement in speed, all with an area overhead of just 7.16% compared to the baseline pLUTo.<|reference_end|>
@article{mamdouh2024shared-pim:,
    title={Shared-PIM: Enabling Concurrent Computation and Data Flow for Faster
  Processing-in-DRAM},
    author={Ahmed Mamdouh, Haoran Geng, Michael Niemier, Xiaobo Sharon Hu, and
  Dayane Reis},
    journal={arXiv preprint arXiv:2408.15489},
    year={2024},
    archivePrefix={arXiv},
    eprint={2408.15489},
    primaryClass={cs.AR}
}