{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:32:06Z","timestamp":1750307526693,"version":"3.41.0"},"reference-count":20,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2009,8,1]],"date-time":"2009-08-01T00:00:00Z","timestamp":1249084800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"OptiMMA","award":["60831"],"award-info":[{"award-number":["60831"]}]},{"name":"FlexWare","award":["60068"],"award-info":[{"award-number":["60068"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Des. Autom. Electron. Syst."],"published-print":{"date-parts":[[2009,8]]},"abstract":"<jats:p>Application-specific hardware accelerators can significantly improve a system's performance. In a Java-based system, we then have to consider a hybrid architecture that consists of a Java Virtual Machine running on a general-purpose processor connected to the hardware accelerator. In such a hybrid architecture, data communication between the accelerator and the general-purpose processor can incur a significant cost, which may even annihilate the original performance improvement of adding the accelerator. A careful layout of the data in the memory structure is therefore of major importance to maintain the acceleration performance benefits.<\/jats:p>\n          <jats:p>This article addresses the reduction of the communication cost in a distributed shared memory consisting of the main memory of the processor and the accelerator's local memory, which are unified in the Java heap. Since memory access times are highly nonuniform, a suitable allocation of objects in either main memory or the accelerator's local memory can significantly reduce the communication cost. We propose several techniques for finding the optimal location for each Java object's data, either statically through profiling or dynamically at runtime. We show how we can reduce communication cost by up to 86% for the SPECjvm and DaCapo benchmarks. We also show that the best strategy is application dependent and also depends on the relative cost of remote versus local accesses. For a relative cost higher than 10, a self-learning dynamic approach often results in the best performance.<\/jats:p>","DOI":"10.1145\/1562514.1562516","type":"journal-article","created":{"date-parts":[[2009,8,25]],"date-time":"2009-08-25T18:02:02Z","timestamp":1251223322000},"page":"1-18","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Efficient memory management for hardware accelerated Java Virtual Machines"],"prefix":"10.1145","volume":"14","author":[{"given":"Peter","family":"Bertels","sequence":"first","affiliation":[{"name":"Ghent University, Gent, Belgium"}]},{"given":"Wim","family":"Heirman","sequence":"additional","affiliation":[{"name":"Ghent University, Gent, Belgium"}]},{"given":"Erik","family":"D'Hollander","sequence":"additional","affiliation":[{"name":"Ghent University, Gent, Belgium"}]},{"given":"Dirk","family":"Stroobandt","sequence":"additional","affiliation":[{"name":"Ghent University, Gent, Belgium"}]}],"member":"320","published-online":{"date-parts":[[2009,8,28]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065579.1065771"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1463768.1463776"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167488"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167999.1168010"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/TMM.2007.906606"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/54.245964"},{"volume-title":"Proceedings of the International Conference on Field Programmable Logic and Applications (FPL). IEEE, 675--680","author":"Faes P.","key":"e_1_2_1_7_1","unstructured":"Faes , P. , Christiaens , M. , Buytaert , D. , and Stroobandt , D . 2005. FPGA-aware garbage collection in Java . In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL). IEEE, 675--680 . Faes, P., Christiaens, M., Buytaert, D., and Stroobandt, D. 2005. FPGA-aware garbage collection in Java. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL). IEEE, 675--680."},{"volume-title":"Proceedings of the 16th IASTED International Conference Parallel and Distributed Computing and Systems, T. Gonzalez, Ed. ACTA Press","author":"Faes P.","key":"e_1_2_1_8_1","unstructured":"Faes , P. , Christiaens , M. , and Stroobandt , D . 2004. Transparent communication between Java and reconfigurable hardware . In Proceedings of the 16th IASTED International Conference Parallel and Distributed Computing and Systems, T. Gonzalez, Ed. ACTA Press , Cambridge, MA, 380--385. Faes, P., Christiaens, M., and Stroobandt, D. 2004. Transparent communication between Java and reconfigurable hardware. In Proceedings of the 16th IASTED International Conference Parallel and Distributed Computing and Systems, T. Gonzalez, Ed. ACTA Press, Cambridge, MA, 380--385."},{"volume-title":"Proceedings of the 21st International Parallel and Distributed Processing Symposium (IPDPS). IEEE Computer Society, 386","author":"Faes P.","key":"e_1_2_1_9_1","unstructured":"Faes , P. , Christiaens , M. , and Stroobandt , D . 2007. Mobility of data in distributed hybrid computing systems . In Proceedings of the 21st International Parallel and Distributed Processing Symposium (IPDPS). IEEE Computer Society, 386 . Faes, P., Christiaens, M., and Stroobandt, D. 2007. Mobility of data in distributed hybrid computing systems. In Proceedings of the 21st International Parallel and Distributed Processing Symposium (IPDPS). IEEE Computer Society, 386."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1146847.1146880"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/54.232470"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1011117608815"},{"volume-title":"Proceedings of the International Conference on Computer-Aided Design (ICCAD). IEEE Computer Society, 690--697","author":"Helaihel R.","key":"e_1_2_1_13_1","unstructured":"Helaihel , R. and Olukotun , K . 1997. Java as a specification language for hardware\/software systems . In Proceedings of the International Conference on Computer-Aided Design (ICCAD). IEEE Computer Society, 690--697 . Helaihel, R. and Olukotun, K. 1997. Java as a specification language for hardware\/software systems. In Proceedings of the International Conference on Computer-Aided Design (ICCAD). IEEE Computer Society, 690--697."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1504\/IJES.2005.009952"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1142980.1142986"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1183401.1183442"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1210268.1210274"},{"key":"e_1_2_1_18_1","unstructured":"Standard Performance Evaluation Corporation. 1998. Java Virtual Machine benchmarks (SPECjvm1998).  Standard Performance Evaluation Corporation. 1998. Java Virtual Machine benchmarks (SPECjvm1998)."},{"key":"e_1_2_1_19_1","unstructured":"Standard Performance Evaluation Corporation. 2008. Java Virtual Machine benchmarks (SPECjvm2008).  Standard Performance Evaluation Corporation. 2008. Java Virtual Machine benchmarks (SPECjvm2008)."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2004.104"}],"container-title":["ACM Transactions on Design Automation of Electronic Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1562514.1562516","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1562514.1562516","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:23:04Z","timestamp":1750249384000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1562514.1562516"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,8]]},"references-count":20,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2009,8]]}},"alternative-id":["10.1145\/1562514.1562516"],"URL":"https:\/\/doi.org\/10.1145\/1562514.1562516","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"type":"print","value":"1084-4309"},{"type":"electronic","value":"1557-7309"}],"subject":[],"published":{"date-parts":[[2009,8]]},"assertion":[{"value":"2008-11-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-04-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-08-28","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}