{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,2]],"date-time":"2025-10-02T00:54:23Z","timestamp":1759366463059,"version":"build-2065373602"},"reference-count":49,"publisher":"Association for Computing Machinery (ACM)","issue":"5s","funder":[{"name":"Air Force Research Laboratory (AFRL) and Defense Advanced Research Projects Agency","award":["FA8650-18-2-7860"],"award-info":[{"award-number":["FA8650-18-2-7860"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2025,11,30]]},"abstract":"<jats:p>Efficient memory management in heterogeneous systems is increasingly challenging due to diverse compute architectures (e.g., CPU, GPU, and 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 article 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 across CPU+GPU and CPU+FPGA platforms. RIMMS delivers up to 2.43\u00d7 speedup on GPU-based and 1.82\u00d7 on FPGA-based systems over the baseline. Compared to IRIS, a recent heterogeneous runtime system, RIMMS achieves up to 3.08X speedup and matches the performance of native CUDA implementations while significantly reducing programming complexity. Despite operating at a higher abstraction level, RIMMS incurs only 1\u20132 cycles of overhead per memory management call, making it a low-cost solution. These results demonstrate RIMMS\u2019s ability to deliver high performance and enhanced programmer productivity in dynamic, real-world heterogeneous environments.<\/jats:p>","DOI":"10.1145\/3760257","type":"journal-article","created":{"date-parts":[[2025,8,11]],"date-time":"2025-08-11T11:26:22Z","timestamp":1754911582000},"page":"1-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["RIMMS: Runtime Integrated Memory Management System for Heterogeneous Computing"],"prefix":"10.1145","volume":"24","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8163-1191","authenticated-orcid":false,"given":"Serhan","family":"Gener","sequence":"first","affiliation":[{"name":"Electrical and Computer Engineering Department, The University of Arizona","place":["Tucson, United States"]}]},{"ORCID":"https:\/\/orcid.org\/0009-0009-2401-4902","authenticated-orcid":false,"given":"Aditya","family":"Ukarande","sequence":"additional","affiliation":[{"name":"Electrical and Computer Engineering Department, University of Wisconsin-Madison","place":["Madison, United States"]}]},{"ORCID":"https:\/\/orcid.org\/0009-0001-1002-0422","authenticated-orcid":false,"given":"Shilpa","family":"Mysore Srinivasa murthy","sequence":"additional","affiliation":[{"name":"Electrical and Computer Engineering Department, University of Wisconsin-Madison","place":["Madison, United States"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4574-9555","authenticated-orcid":false,"given":"Sahil","family":"Hassan","sequence":"additional","affiliation":[{"name":"Electrical and Computer Engineering Department, The University of Arizona","place":["Tucson, United States"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1066-5578","authenticated-orcid":false,"given":"Joshua","family":"Mack","sequence":"additional","affiliation":[{"name":"Electrical and Computer Engineering Department, The University of Arizona","place":["Tucson, United States"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9859-7778","authenticated-orcid":false,"given":"Chaitali","family":"Chakrabarti","sequence":"additional","affiliation":[{"name":"Electrical, Computer and Energy Engineering, Arizona State University","place":["Tempe, United States"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5045-5535","authenticated-orcid":false,"given":"Umit","family":"Ogras","sequence":"additional","affiliation":[{"name":"Electrical and Computer Engineering Department, University of Wisconsin-Madison","place":["Madison, United States"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7982-8991","authenticated-orcid":false,"given":"Ali","family":"Akoglu","sequence":"additional","affiliation":[{"name":"Electrical and Computer Engineering Department, The University of Arizona","place":["Tucson, United States"]}]}],"member":"320","published-online":{"date-parts":[[2025,9,26]]},"reference":[{"key":"e_1_3_1_2_2","article-title":"AXI4-stream protocol specification","author":"AMBA ARM","year":"2010","unstructured":"ARM AMBA. 2010. AXI4-stream protocol specification. Volume IHI 51A (2010), 1\u201342.","journal-title":"Volume IHI 51A"},{"key":"e_1_3_1_3_2","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.1631"},{"key":"e_1_3_1_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/3123939.3123975"},{"key":"e_1_3_1_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2023.3349208"},{"key":"e_1_3_1_6_2","doi-asserted-by":"publisher","DOI":"10.1109\/MSP.2009.934110"},{"key":"e_1_3_1_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/3544016"},{"key":"e_1_3_1_8_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2024.3406893"},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2009.5306797"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/2744769.2744794"},{"key":"e_1_3_1_11_2","doi-asserted-by":"publisher","DOI":"10.1109\/99.660313"},{"key":"e_1_3_1_12_2","doi-asserted-by":"publisher","DOI":"10.3390\/jlpea13040056"},{"key":"e_1_3_1_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/WWC.2001.990739"},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","DOI":"10.1049\/iet-cdt.2019.0092"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/3282307"},{"key":"e_1_3_1_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/TCSI.2025.3546256"},{"key":"e_1_3_1_17_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4419-6778-7_1"},{"key":"e_1_3_1_18_2","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW63119.2024.00017"},{"key":"e_1_3_1_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/2997649"},{"key":"e_1_3_1_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/3373376.3378529"},{"key":"e_1_3_1_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2024.3429010"},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/3534933"},{"key":"e_1_3_1_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/3563946"},{"key":"e_1_3_1_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/3613424.3614295"},{"key":"e_1_3_1_25_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE60146.2024.00439"},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2021.3135876"},{"key":"e_1_3_1_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW59300.2023.00016"},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/3529257"},{"key":"e_1_3_1_29_2","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW50202.2020.00016"},{"key":"e_1_3_1_30_2","doi-asserted-by":"publisher","DOI":"10.1145\/2788396"},{"key":"e_1_3_1_31_2","doi-asserted-by":"publisher","DOI":"10.3390\/s21072408"},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/1365490.1365500"},{"key":"e_1_3_1_33_2","unstructured":"Nvidia AGX. 2023. Jetson AGX Xavier Evaluation Board. (2023). Retrieved September 06 2024 from https:\/\/www.nvidia.com\/en-us\/autonomous-machines\/embedded-systems\/jetson-agx-xavier\/"},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICCD.2013.6657019"},{"key":"e_1_3_1_35_2","doi-asserted-by":"publisher","DOI":"10.3390\/app13031469"},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/2654822.2541942"},{"key":"e_1_3_1_37_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2014.6835965"},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2004.1342547"},{"key":"e_1_3_1_39_2","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW63119.2024.00013"},{"key":"e_1_3_1_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/3676151.3719366"},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/MDAT.2023.3310355"},{"key":"e_1_3_1_42_2","doi-asserted-by":"publisher","DOI":"10.1109\/JSEN.2021.3057450"},{"key":"e_1_3_1_43_2","volume-title":"Towards 5G: Applications, Requirements and Candidate Technologies","author":"Vannithamby Rath","year":"2017","unstructured":"Rath Vannithamby and Shilpa Talwar. 2017. Towards 5G: Applications, Requirements and Candidate Technologies. John Wiley & Sons."},{"key":"e_1_3_1_44_2","unstructured":"Xilinx ZCU102. 2023. ZCU102 Evaluation Board. (2023). Retrieved September 06 2024 from https:\/\/docs.amd.com\/v\/u\/en-US\/ug1182-zcu102-eval-bd"},{"key":"e_1_3_1_45_2","doi-asserted-by":"publisher","DOI":"10.1145\/3580394"},{"key":"e_1_3_1_46_2","doi-asserted-by":"crossref","unstructured":"Anish Krishnakumar and others. 2023. FALCON: An FPGA emulation platform for domain-specific SoCs (DSSoCs). IEEE Design & Test 41 1 (2023) 70\u201380.","DOI":"10.1109\/MDAT.2023.3291331"},{"key":"e_1_3_1_47_2","doi-asserted-by":"publisher","unstructured":"Joshua Mack Anish Krishnakumar Umit Ogras and Ali Akoglu. 2024. Tutorial: A novel runtime environment for accelerator-rich heterogeneous architectures. ACM Trans. Embed. Comput. Syst. 24 1 (December 2024). DOI:10.1145\/3687463","DOI":"10.1145\/3687463"},{"key":"e_1_3_1_48_2","doi-asserted-by":"publisher","unstructured":"H. Umut Suluhan Serhan Gener Alexander Fusco H. Fatih Ugurdag and Ali Akoglu. 2023. PyTorch and CEDR: Enabling deployment of machine learning models on heterogeneous computing systems. In 2023 20th ACS\/IEEE International Conference on Computer Systems and Applications (AICCSA). 1\u20138. DOI:10.1109\/AICCSA59173.2023.10479315","DOI":"10.1109\/AICCSA59173.2023.10479315"},{"key":"e_1_3_1_49_2","doi-asserted-by":"publisher","unstructured":"Serhan Gener Sahil Hassan Liangliang Chang Chaitali Chakrabarti Tsung-Wei Huang Umit Ogras and Ali Akoglu. 2025. A unified portable and programmable framework for task-based execution and dynamic resource management on heterogeneous systems. In Proceedings of the 2025 4th International Workshop on Extreme Heterogeneity Solutions (ExHET\u201925) Association for Computing Machinery New York NY USA 1\u20139. DOI:10.1145\/3720555.3721988","DOI":"10.1145\/3720555.3721988"},{"key":"e_1_3_1_50_2","unstructured":"Joshua Mack Serhan Gener Ali Akoglu Jacob Holtom Alex Chiriyath Chaitali Chakrabarti Daniel Bliss Anish Krishnakumar Alper Goksoy and Umit Ogras. 2022. GNU radio and CEDR: Runtime scheduling to heterogeneous accelerators. In Proceedings of the GNU Radio Conference."}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3760257","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,1]],"date-time":"2025-10-01T17:13:47Z","timestamp":1759338827000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3760257"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,9,26]]},"references-count":49,"journal-issue":{"issue":"5s","published-print":{"date-parts":[[2025,11,30]]}},"alternative-id":["10.1145\/3760257"],"URL":"https:\/\/doi.org\/10.1145\/3760257","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2025,9,26]]},"assertion":[{"value":"2025-07-30","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-08-03","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-09-26","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}