,
Shigeyuki Sato
,
Tomoharu Ugawa
Creative Commons Attribution 4.0 International license
Processing-in-Memory (PIM) is a computing paradigm in which computation takes place in or near memory devices, offering high-bandwidth yet energy-efficient data-parallel processing. Real-world PIM systems have recently emerged, and SPMD-style programming in C is supported there. However, high-level object-oriented programming in managed languages has never been studied. Pursuing high-level programming for offloading Java applications to PIM processors, we are developing a Java framework to support it. As a status report on our project, we present our prototype Java VM built upon a real-world PIM system and experimentally demonstrate its scalability. The experimental results showed the potential of our Java VM on the PIM system with thousands of PIM processors.
@InProceedings{ichinose_et_al:OASIcs.Programming.2025.2,
author = {Ichinose, Kazuki and Sato, Shigeyuki and Ugawa, Tomoharu},
title = {{Towards a Java Virtual Machine for Processing-In-Memory}},
booktitle = {Companion Proceedings of the 9th International Conference on the Art, Science, and Engineering of Programming (Programming 2025)},
pages = {2:1--2:5},
series = {Open Access Series in Informatics (OASIcs)},
ISBN = {978-3-95977-382-9},
ISSN = {2190-6807},
year = {2025},
volume = {134},
editor = {Edwards, Jonathan and Perera, Roly and Petricek, Tomas},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.Programming.2025.2},
URN = {urn:nbn:de:0030-drops-242862},
doi = {10.4230/OASIcs.Programming.2025.2},
annote = {Keywords: Java VM, Processing-in-Memory, Offloading, Data parallelism}
}