RIMMS: Runtime Integrated Memory Management System for Heterogeneous Computing
Serhan Gener, Aditya Ukarande, Shilpa Mysore Srinivasa Murthy, Sahil Hassan, Joshua Mack, Chaitali Chakrabarti, Umit Ogras, and Ali Akoglu

TL;DR
RIMMS is a runtime memory management system that simplifies data handling in heterogeneous computing environments, achieving significant speedups and reducing programming complexity without platform-specific tuning.
Contribution
It introduces a hardware-agnostic, runtime memory abstraction layer that improves performance and ease of programming in heterogeneous systems.
Findings
Up to 2.43X speedup on GPU systems
Up to 3.08X speedup over IRIS
Low overhead of 1-2 cycles per memory call
Abstract
Efficient memory management in heterogeneous systems is increasingly challenging due to diverse compute architectures (e.g., CPU, GPU, FPGA) and dynamic task mappings not known at compile time. Existing approaches often require programmers to manage data placement and transfers explicitly, or assume static mappings that limit portability and scalability. This paper introduces RIMMS (Runtime Integrated Memory Management System), a lightweight, runtime-managed, hardware-agnostic memory abstraction layer that decouples application development from low-level memory operations. RIMMS transparently tracks data locations, manages consistency, and supports efficient memory allocation across heterogeneous compute elements without requiring platform-specific tuning or code modifications. We integrate RIMMS into a baseline runtime and evaluate with complete radar signal processing applications…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Security and Verification in Computing
