2018
DOI: 10.48550/arxiv.1802.00320
|View full text |Cite
Preprint
|
Sign up to set email alerts
|

Enabling the Adoption of Processing-in-Memory: Challenges, Mechanisms, Future Research Directions

Abstract: Performance improvements from DRAM technology scaling have been lagging behind the improvements from logic technology scaling for many years. As application demand for main memory continues to grow, DRAM-based main memory is increasingly becoming a larger system bottleneck in terms of both performance and energy consumption. A major reason for poor memory performance and energy efficiency is memory's inability to perform computation. Instead, data stored within DRAM memory must be moved into the CPU before any… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
14
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
4
2

Relationship

4
2

Authors

Journals

citations
Cited by 9 publications
(14 citation statements)
references
References 120 publications
(308 reference statements)
0
14
0
Order By: Relevance
“…Synergy With PIM. Processing-in-memory (PIM) systems improve system performance and/or energy consumption by performing computations directly within a memory chip, thereby avoiding unnecessary data movement [25,26,57,58,60,116,118,137,139]. Prior works propose a broad range of PIM systems [5-8, 13, 22-24, 34, 38, 44, 48, 49, 54, 55, 58, 59, 65, 66, 71, 72, 89, 98, 100, 103, 107, 113, 115, 119, 120, 124, 133-135, 137-139, 142, 148, 164, 168] in the context of various workloads and memory devices.…”
Section: Motivation and Goalmentioning
confidence: 99%
“…Synergy With PIM. Processing-in-memory (PIM) systems improve system performance and/or energy consumption by performing computations directly within a memory chip, thereby avoiding unnecessary data movement [25,26,57,58,60,116,118,137,139]. Prior works propose a broad range of PIM systems [5-8, 13, 22-24, 34, 38, 44, 48, 49, 54, 55, 58, 59, 65, 66, 71, 72, 89, 98, 100, 103, 107, 113, 115, 119, 120, 124, 133-135, 137-139, 142, 148, 164, 168] in the context of various workloads and memory devices.…”
Section: Motivation and Goalmentioning
confidence: 99%
“…Pushing computation from the CPU into memory introduces new challenges for system architects and programmers to overcome. Many of these challenges must be addressed for PIM to be adopted in a wide variety of systems of workloads, without placing a heavy burden on most programmers [22,73] These challenges include 1) how to easily program PIM systems (with good programming model, library, compiler and tools support) [4,32]; 2) how to design runtime systems and system software that can take advantage of PIM (e.g., runtime scheduling of code on PIM logic, data mapping) [4,9,32,80]; 3) how to efficiently enable coherence between PIM logic and CPU/accelerator cores that operate on shared data [4,10,11]; 4) how to efficiently enable virtual memory support on the PIM logic [33]; 5) how to design high-performance data structures for PIM whose performance is better than concurrent data structures on multi-core machines [65]; 6) how to accurately assess the benefits and shortcomings of PIM using realistic workload suites, rigorous analysis methodologies, and accurate and flexible simulation infrastructures [50,86].…”
Section: Enabling Pim Adoptionmentioning
confidence: 99%
“…In this paper, we explore two new approaches to enabling PIM in modern systems. The first approach only minimally changes memory chips to perform simple yet powerful common operations that the chip is inherently efficient at performing [12,13,15,22,23,60,73,[87][88][89][90][91][92][93]. Such solutions take advantage of the existing memory design to perform bulk operations (i.e., operations on an entire row of DRAM cells), such as bulk copy, data initialization, and bitwise operations [13,[88][89][90][91].…”
Section: Introductionmentioning
confidence: 99%
“…Despite the extensive design space that we have studied so far, a number of key challenges remain to enable the widespread adoption of PIM in future computing systems [94,95]. Important challenges include developing easy-to-use programming models for PIM (e.g., PIM application interfaces, compilers and libraries designed to abstract away PIM architecture details from programmers), and extensive runtime support for PIM (e.g., scheduling PIM operations, sharing PIM logic among CPU threads, cache coherence, virtual memory support).…”
Section: Conclusion and Future Outlookmentioning
confidence: 99%
“…In this paper, we explore two approaches to enabling processing-in-memory in modern systems. The first approach examines a form of PIM that only minimally changes memory chips to perform simple yet powerful common operations that the chip could be made inherently very good at performing [31,71,82,83,84,85,86,90,92,93,94,95,96]. Solutions that fall under this approach take advantage of the existing DRAM design to cleverly and efficiently perform bulk operations (i.e., operations on an entire row of DRAM cells), such as bulk copy, data initialization, and bitwise operations.…”
Section: Introductionmentioning
confidence: 99%