TY - JOUR
T1 - Processing-in-memory
T2 - A workload-driven perspective
AU - Ghose, S.
AU - Boroumand, A.
AU - Kim, J. S.
AU - Gómez-Luna, J.
AU - Mutlu, O.
N1 - Funding Information:
We thank all of the members of the SAFARI Research Group, and our collaborators at Carnegie Mellon, ETH Zurich, and other universities, who have contributed to the various works we describe in this article. Thanks also goes to our research group’s industrial sponsors over the past ten years, especially Alibaba, Facebook, Google, Huawei, Intel, Microsoft, NVIDIA, Samsung, Seagate, and VMware. This work was supported in part by the Intel Science and Technology Center for Cloud Computing, in part by the Semiconductor Research Corporation, in part by the Data Storage Systems Center at Carnegie Mellon University, and in part by past NSF Grants 1212962, 1320531, and 1409723 and past NIH Grant HG006004.
Publisher Copyright:
© 1957-2012 IBM.
PY - 2019/11/1
Y1 - 2019/11/1
N2 - Many modern and emerging applications must process increasingly large volumes of data. Unfortunately, prevalent computing paradigms are not designed to efficiently handle such large-scale data: The energy and performance costs to move this data between the memory subsystem and the CPU now dominate the total costs of computation. This forces system architects and designers to fundamentally rethink how to design computers. Processing-in-memory (PIM) is a computing paradigm that avoids most data movement costs by bringing computation to the data. New opportunities in modern memory systems are enabling architectures that can perform varying degrees of processing inside the memory subsystem. However, many practical system-level issues must be tackled to construct PIM architectures, including enabling workloads and programmers to easily take advantage of PIM. This article examines three key domains of work toward the practical construction and widespread adoption of PIM architectures. First, we describe our work on systematically identifying opportunities for PIM in real applications and quantify potential gains for popular emerging applications (e.g., machine learning, data analytics, genome analysis). Second, we aim to solve several key issues in programming these applications for PIM architectures. Third, we describe challenges that remain for the widespread adoption of PIM.
AB - Many modern and emerging applications must process increasingly large volumes of data. Unfortunately, prevalent computing paradigms are not designed to efficiently handle such large-scale data: The energy and performance costs to move this data between the memory subsystem and the CPU now dominate the total costs of computation. This forces system architects and designers to fundamentally rethink how to design computers. Processing-in-memory (PIM) is a computing paradigm that avoids most data movement costs by bringing computation to the data. New opportunities in modern memory systems are enabling architectures that can perform varying degrees of processing inside the memory subsystem. However, many practical system-level issues must be tackled to construct PIM architectures, including enabling workloads and programmers to easily take advantage of PIM. This article examines three key domains of work toward the practical construction and widespread adoption of PIM architectures. First, we describe our work on systematically identifying opportunities for PIM in real applications and quantify potential gains for popular emerging applications (e.g., machine learning, data analytics, genome analysis). Second, we aim to solve several key issues in programming these applications for PIM architectures. Third, we describe challenges that remain for the widespread adoption of PIM.
UR - http://www.scopus.com/inward/record.url?scp=85075099372&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85075099372&partnerID=8YFLogxK
U2 - 10.1147/JRD.2019.2934048
DO - 10.1147/JRD.2019.2934048
M3 - Review article
AN - SCOPUS:85075099372
SN - 0018-8646
VL - 63
JO - IBM Journal of Research and Development
JF - IBM Journal of Research and Development
IS - 6
M1 - 8792187
ER -