Accelerating Aggregation Using a Real Processing-in-Memory System
Muhammad Attahir Jibril, Hani Al-Sayeh, Kai-Uwe Sattler · 2024
Processing-in-Memory (PIM) is a new computing paradigm aimed at minimizing data movement, which is a bottleneck in modern and emerging applications. PIM upgrades the otherwise passive memory subsystem to an active computation role along with the processor. PIM achieves this by moving processing cores to where the data resides, thereby reducing memory access latency, increasing overall memory bandwidth and decreasing energy consumption. In this paper, we leverage the commercially available real UPMEM PIM system to accelerate the execution of the aggregation operator, which is data-intensive and involves large amounts of data movements. We tailor the operator to PIM, propose various performance optimizations with regards to the architectural peculiarities of the UPMEM PIM system and conduct evaluations in comparison with a CPU baseline implementation. Our PIM-based aggregation outperforms the CPU baseline by up to a speedup of 2.41 x.