2026 Volume 34 Pages 636-647
Recently, the gap between CPU computation and memory access speed has become a major performance bottleneck. The processing-in-memory (PIM) approach, which places computation near memory, has attracted attention to address this issue. In this study, we use a practical PIM implementation, UPMEM, and develop a system that executes Java methods offloaded from the CPU on UPMEM. UPMEM equips small processors called DPUs near DRAM. The developed system compiles only the offloaded Java methods into DPU machine code. Because the program memory of a DPU is limited to 32KB, the developed system dynamically swaps binaries during execution. Further, we leverage the hardware threads available on the DPU to support SPMD-model parallel programming.