Processing-in-Memory: Theory and Practice
summary
Processing-in-memory is treated as a two-tier model with a small shared-frontend and many weak local PIM modules; the work designs PIM-friendly ordered indexes (PIM-tree) that replicate the top O(n/P) levels, use a push–pull decision to pull hot nodes to the frontend or push queries to PIMs, and use a B=16 skip structure to get about constant (~3 words) communication per query. Experiments on a 2,560-module UPMEM system show provable load-balance guarantees, up to 59x speedup over prior PIM indexes, 5–6× less memory traffic for OLTP workloads and ~70% faster on read-heavy benchmarks, with limits from simple 450 MHz cores and weak PIM synchronization.
AI-written summary · about
chapters (15)
- 0:00Processing-in-Memory intro
- 2:22Why PIM matters now
- 6:21Near-data processing model
- 15:17Theory gap in PIM research
- 25:58PIM model definition
- 31:08Load balancing in PIM
- 36:09PIM-tree case study
- 46:28Push-pull search for PIM
- 56:30UPMEM architecture overview
- 1:00:44Radix trees and PIM
- 1:02:56Transactional DBs on PIM
- 1:07:48OLTPim benchmark results
- 1:10:45Host power in PIM
- 1:17:12Future of CXL and PIM
- 1:21:08Open PIM algorithm questions
related talks
13mMemPool Flavors: Between Versatility and Specialization in a RISC-V Manycore Cluster
58m“SPMD Programming Using C++ and ISPC"
35mSQUIP or Why We Need to Study Processors Like Nature
01h 21mPanel+Closing
19mNuclei System Technology Releases UX1030H with Full Support for RVA23
14mStrategies for CXL’s success in a world of proprietary Coherent...
10mOmniXtend: Open Coherent Memory Fabric for RISC-V
43mWhat Every Programmer Should Know about How CPUs Work
