Processing-in-memory: A workload-driven perspective

S. Ghose, A. Boroumand, J. S. Kim, J. Gómez-Luna, O. Mutlu

Research output: Contribution to journalReview articlepeer-review


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.

Original languageEnglish (US)
Article number8792187
JournalIBM Journal of Research and Development
Issue number6
StatePublished - Nov 1 2019
Externally publishedYes

ASJC Scopus subject areas

  • Computer Science(all)


Dive into the research topics of 'Processing-in-memory: A workload-driven perspective'. Together they form a unique fingerprint.

Cite this