PIM-tree: A Skew-resistant Index for Processing-in-Memory

Abstract The performance of today’s in-memory indexes is bottlenecked by the memory latency/bandwidth wall. Processing-in-memory (PIM) is an emerging approach that potentially mitigates this bottleneck by enabling low-latency memory access whose aggregate memory bandwidth scales with the number of PIM nodes. There is an inherent tension, however, between minimizing inter-node communication and achieving load balance in PIM systems, in the presence of workload skew. This paper presents PIM-tree , an ordered index for PIM systems that achieves both low communication and high load balance, regardless of the degree of skew in data/queries. Our skew-resistant index is based on a novel division of labor between the multi-core host CPU and the PIM nodes, which leverages the strengths of each. We introduce push-pull search , which dynamically decides whether to push queries to a PIM-tree node (CPU $$\rightarrow $$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mo>→</mml:mo> </mml:math> PIM-node) or pull the node’s keys back to the CPU (PIM-node $$\rightarrow $$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mo>→</mml:mo> </mml:math> CPU) based on workload skew. Combined with other PIM-friendly optimizations ( shadow subtrees and chunking ), PIM-tree achieves high throughput, (guaranteed) low communication, and (guaranteed) high load balance, for batches of point queries, updates, and range scans. We implement the PIM-tree structure, in addition to prior proposed PIM indexes, on the latest PIM system from UPMEM, with 32 CPU cores and 2048 PIM nodes. On workloads with 500 million keys and batches of 1 million queries, the throughput using PIM-trees is up to $$69.7\times $$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mrow> <mml:mn>69.7</mml:mn> <mml:mo>×</mml:mo> </mml:mrow> </mml:math> and $$59.1\times $$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mrow> <mml:mn>59.1</mml:mn> <mml:mo>×</mml:mo> </mml:mrow> </mml:math> higher than the two best prior PIM-based methods. As far as we know these are the first implementations of ordered indexes on real PIM systems.

Authors

Institutions

Publication Details

Journal
The VLDB Journal
Published
2025-09-24
DOI
https://doi.org/10.1007/s00778-025-00937-5
Citations
1
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
2.27

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

PIM-tree: A Skew-resistant Index for Processing-in-Memory

Phillip B. Gibbons, Charles McGuffey, Guy E. Blelloch, Yan Gu et al.
1 citations
The VLDB Journal
Parallel Computing and Optimization Techniques
2.27
article

PIM-tree: A Skew-resistant Index for Processing-in-Memory

Phillip B. Gibbons, Charles McGuffey, Guy E. Blelloch, Yan Gu, Laxman Dhulipala, Hongbo Kang, Yiwei Zhao
article en
1 citations

Abstract

Abstract The performance of today’s in-memory indexes is bottlenecked by the memory latency/bandwidth wall. Processing-in-memory (PIM) is an emerging approach that potentially mitigates this bottleneck by enabling low-latency memory access whose aggregate memory bandwidth scales with the number of PIM nodes. There is an inherent tension, however, between minimizing inter-node communication and achieving load balance in PIM systems, in the presence of workload skew. This paper presents PIM-tree , an ordered index for PIM systems that achieves both low communication and high load balance, regardless of the degree of skew in data/queries. Our skew-resistant index is based on a novel division of labor between the multi-core host CPU and the PIM nodes, which leverages the strengths of each. We introduce push-pull search , which dynamically decides whether to push queries to a PIM-tree node (CPU $$\rightarrow $$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mo>→</mml:mo> </mml:math> PIM-node) or pull the node’s keys back to the CPU (PIM-node $$\rightarrow $$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mo>→</mml:mo> </mml:math> CPU) based on workload skew. Combined with other PIM-friendly optimizations ( shadow subtrees and chunking ), PIM-tree achieves high throughput, (guaranteed) low communication, and (guaranteed) high load balance, for batches of point queries, updates, and range scans. We implement the PIM-tree structure, in addition to prior proposed PIM indexes, on the latest PIM system from UPMEM, with 32 CPU cores and 2048 PIM nodes. On workloads with 500 million keys and batches of 1 million queries, the throughput using PIM-trees is up to $$69.7\times $$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mrow> <mml:mn>69.7</mml:mn> <mml:mo>×</mml:mo> </mml:mrow> </mml:math> and $$59.1\times $$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mrow> <mml:mn>59.1</mml:mn> <mml:mo>×</mml:mo> </mml:mrow> </mml:math> higher than the two best prior PIM-based methods. As far as we know these are the first implementations of ordered indexes on real PIM systems.

The VLDB JournalVol. 34(6)
University of California, Riverside (US), Reed College (US), University of Maryland, College Park (US), Carnegie Mellon University (US), Tsinghua University (CN)
National Science Foundation, NetApp, VMware, Seagate Technology, Samsung
Openalex Percentile: Top 12%
Parallel Computing and Optimization Techniques
2.27
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.