On Consistency for Bulk-Bitwise Processing-in-Memory

11/14/2022
by   Ben Perach, et al.
0

Processing-in-memory (PIM) architectures allow software to explicitly initiate computation in the memory. This effectively makes PIM operations a new class of memory operations, alongside standard memory operations (e.g., load, store). For software correctness, it is crucial to have ordering rules for a PIM operation with other PIM operations and other memory operations, i.e., a consistency model that takes into account PIM operations is vital. To the best of our knowledge, little attention to PIM operation consistency has been given in existing works. In this paper, we focus on a specific PIM approach, named bulk-bitwise PIM. In bulk-bitwise PIM, large bitwise operations are performed directly and stored in the memory array. We show that previous solutions for the related topic of maintaining coherency of bulk-bitwise PIM have broken the host native consistency model and prevent any guaranteed correctness. As a solution, we propose and evaluate four consistency models for bulk-bitwise PIM, from strict to relaxed. Our designs also preserve coherency between PIM and the host processor. Evaluating the proposed designs' performance with a gem5 simulation, using the YCSB short-range scan benchmark and TPC-H queries, shows that the run time overhead of guaranteeing correctness is at most 6%, and in many cases the run time is even improved. The hardware overhead of our design is less than 0.22%.

READ FULL TEXT

page 1

page 10

research
03/20/2022

PIMDB: Understanding Bulk-Bitwise Processing In-Memory Through Database Analytics

Bulk-bitwise processing-in-memory (PIM), where large bitwise operations ...
research
12/30/2022

Anticipation of Method Execution in Mixed Consistency Systems – Technical Report

Distributed applications often deal with data with different consistency...
research
02/23/2018

IPA: Invariant-preserving Applications for Weakly-consistent Replicated Databases

Storage systems based on Weak Consistency provide better availability an...
research
03/31/2023

Fused Depthwise Tiling for Memory Optimization in TinyML Deep Neural Network Inference

Memory optimization for deep neural network (DNN) inference gains high r...
research
09/24/2018

Pointing in the Right Direction - Securing Memory Accesses in a Faulty World

Reading and writing memory are, besides computation, the most common ope...
research
01/11/2019

Automatic acceleration of Numpy applications on GPUs and multicore CPUs

Frameworks like Numpy are a popular choice for application developers fr...
research
09/28/2017

Thread-Modular Static Analysis for Relaxed Memory Models

We propose a memory-model-aware static program analysis method for accur...

Please sign up or login with your details

Forgot password? Click here to reset