Clutch: High Performance Vector-Scalar Comparison using DRAM via Chunked Temporal Coding

📅 2026-06-21
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work addresses the memory-bandwidth bottleneck in vector-scalar comparisons and the high command overhead and poor scalability of existing DRAM-based computing approaches that rely on bit-serial execution. The authors propose Clutch, the first method to efficiently map decision tree inference onto Processing-in-DRAM (PuD) architectures. Clutch employs chunked temporal encoding to transform input vectors into leading-one sequences and leverages compact on-die lookup tables to enable chunk-level parallel comparison and efficient result aggregation. This design achieves a flexible trade-off among accuracy, throughput, and memory footprint while substantially reducing command overhead. Experimental results demonstrate that, for predicate evaluation and decision tree inference tasks, Clutch improves end-to-end throughput by 12× and energy efficiency by 69× over highly optimized CPU/GPU baselines, and outperforms state-of-the-art PuD solutions by 2.9× in throughput and 3.0× in energy efficiency.
📝 Abstract
Vector-scalar comparison is a fundamental computation primitive that compares each element in a vector against a single scalar value. It is widely used in various data-intensive workloads from databases to machine learning. Due to its low computational intensity, its execution tends to be memory-bound, limiting the utilization of compute resources. Processing-using-DRAM (PuD) is an emerging computing paradigm that performs massively parallel bitwise operations directly inside DRAM arrays, alleviating off-chip data movement. Existing PuD-based approaches require many DRAM commands because the comparison's algorithmic complexity grows with operand bit-width in the bit-serial execution model. This command overhead becomes the dominant bottleneck, limiting application-level speedup. We propose Clutch, a data representation and comparison algorithm that accelerates vector-scalar comparisons in PuD systems with high efficiency and scalability. Clutch first uses temporal coding, encoding each vector value as a sequence of leading ones, which enables lookup-based comparison against a scalar by accessing the corresponding DRAM row. To avoid the prohibitive memory footprint of lookup tables at high precision, Clutch partitions operands into multiple multi-bit chunks, compares chunks independently using compact lookup tables, and merges the per-chunk results with a PuD-efficient procedure. By adjusting the number of chunks, Clutch provides a flexible tradeoff between throughput and memory usage. Across predicate evaluation and decision tree inference, Clutch improves end-to-end application throughput and energy efficiency by an average of 12x and 69x over highly optimized CPU and GPU execution, and by 2.9x and 3.0x over the state-of-the-art bit-serial PuD implementation. We also present the first mapping of decision tree inference to PuD execution, extending PuD to a new application domain.
Problem

Research questions and friction points this paper is trying to address.

vector-scalar comparison
Processing-in-DRAM
memory-bound computation
DRAM command overhead
data-intensive workloads
Innovation

Methods, ideas, or system contributions that make the work stand out.

Processing-using-DRAM
temporal coding
vector-scalar comparison
chunked representation
in-memory computing
🔎 Similar Papers
2024-01-16arXiv.orgCitations: 76