{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,11]],"date-time":"2026-07-11T07:09:24Z","timestamp":1783753764572,"version":"3.55.0"},"reference-count":56,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2024,5,21]],"date-time":"2024-05-21T00:00:00Z","timestamp":1716249600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"European High-Performance Computing Joint Undertaking (JU) project OPTIMA","award":["955739"],"award-info":[{"award-number":["955739"]}]},{"name":"European Union\u2019s H2020 research and innovation programme project EuroEXA","award":["754337"],"award-info":[{"award-number":["754337"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2024,6,30]]},"abstract":"<jats:p>FPGAs are increasingly popular in cloud environments for their ability to offer on-demand acceleration and improved compute efficiency. Providers would like to increase utilization, by multiplexing customers on a single device, similar to how processing cores and memory are shared. Nonetheless, multi-tenancy still faces major architectural limitations including: (a) inefficient sharing of memory interfaces across hardware tasks (HT) exacerbated by technological limitations and peculiarities, (b) insufficient solutions for performance and data isolation and high quality of service, and (c) absent or simplistic allocation strategies to effectively distribute external FPGA memory across HT. This article presents a full-stack solution for enabling multi-tenancy on FPGAs. Specifically, our work proposes an intra-fpga virtualization layer to share FPGA interfaces and its resources across tenants. To achieve efficient inter-connectivity between virtual FPGAs (vFGPAs) and external interfaces, we employ a compact network-on-chip architecture to optimize resource utilization. Dedicated memory management units implement the concept of virtual memory in FPGAs, providing mechanisms to isolate the address space and enable memory protection. We also introduce a memory segmentation scheme to effectively allocate FPGA address space and enhance isolation through hardware-software support, while preserving the efficacy of memory transactions. We assess our solution on an Alveo U250 Data Center FPGA Card, employing 10 real-world benchmarks from the Rodinia and Rosetta suites. Our framework preserves the performance of HT from a non-virtualized environment, while enhancing the device aggregate throughput through resource sharing; up to 3.96x in isolated and up to 2.31x in highly congested settings, where an external interface is shared across four vFPGAs. Finally, our work ensures high-quality of service, with HT achieving up to 0.95x of their native performance, even when resource sharing introduces interference from other accelerators.<\/jats:p>","DOI":"10.1145\/3648475","type":"journal-article","created":{"date-parts":[[2024,2,16]],"date-time":"2024-02-16T12:32:59Z","timestamp":1708086779000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["Architectural Support for Sharing, Isolating and Virtualizing FPGA Resources"],"prefix":"10.1145","volume":"21","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-7672-0547","authenticated-orcid":false,"given":"Panagiotis","family":"Miliadis","sequence":"first","affiliation":[{"name":"National Technical University of Athens, Athens, Greece"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0707-9415","authenticated-orcid":false,"given":"Dimitris","family":"Theodoropoulos","sequence":"additional","affiliation":[{"name":"National Technical University of Athens, Athens, Greece"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3533-2761","authenticated-orcid":false,"given":"Dionisios","family":"Pnevmatikatos","sequence":"additional","affiliation":[{"name":"National Technical University of Athens, Athens, Greece"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4890-8427","authenticated-orcid":false,"given":"Nectarios","family":"Koziris","sequence":"additional","affiliation":[{"name":"National Technical University of Athens, Athens, Greece"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2024,5,21]]},"reference":[{"key":"e_1_3_2_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/1950413.1950421"},{"key":"e_1_3_2_3_2","unstructured":"Alibaba. 2023. Overview - Elastic Compute Service - Alibaba Cloud Documentation Center. Retrieved Feb 19 2023 from https:\/\/www.alibabacloud.com\/help\/en\/elastic-compute-service\/latest\/compute-optimized-type-family-with-fpga-overview"},{"key":"e_1_3_2_4_2","unstructured":"Amazon. 2023. Amazon EC2 F1 Instances. Retrieved Feb 19 2023 from https:\/\/aws.amazon.com\/ec2\/instance-types\/f1\/"},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2014.30"},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/1176254.1176316"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2014.42"},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2016.7783710"},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2009.5306797"},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/2597917.2597929"},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2018.022071131"},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/1878961.1878966"},{"key":"e_1_3_2_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/CloudCom.2015.60"},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2014.6927488"},{"key":"e_1_3_2_15_2","unstructured":"InAccel. 2023. InAccel; Application Acceleration Made Simple. Retrieved Feb 19 2023 from https:\/\/inaccel.com\/. [Accessed 19-Feb-2023]."},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2011.48"},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2015.7293956"},{"key":"e_1_3_2_18_2","unstructured":"Ahmed Khawaja Joshua Landgraf Rohith Prakash Michael Wei Eric Schkufza and Christopher J. Rossbach. 2018. Sharing protection and compatibility for reconfigurable fabric with amorphos. In Proceedings of the 13th USENIX conference on Operating Systems Design and Implementation. USENIX Association USA 107\u2013127."},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","unstructured":"Robert Kirchgessner Greg Stitt Alan George and Herman Lam. 2012. VirtualRC: A virtual FPGA platform for applications and tools portability. In Proceedings of the ACM\/SIGDA international symposium on Field Programmable Gate Arrays. Association for Computing Machinery New York NY USA 205\u2013208. DOI:DOI:10.1145\/2145694.2145728","DOI":"10.1145\/2145694.2145728"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1109\/CLOUD.2016.0013"},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2013.6645517"},{"key":"e_1_3_2_22_2","volume-title":"Proceedings of the 14th USENIX Conference on Operating Systems Design and Implementation","author":"Korolija Dario","year":"2020","unstructured":"Dario Korolija, Timothy Roscoe, and Gustavo Alonso. 2020. Do OS abstractions make sense on FPGAs?. In Proceedings of the 14th USENIX Conference on Operating Systems Design and Implementation. USENIX Association, USA, Article 56, 20 pages."},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/3582016.3582048"},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/2749469.2749475"},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/1596532.1596540"},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","unstructured":"Jiacheng Ma Gefei Zuo Kevin Loughlin Xiaohe Cheng Yanqiang Liu Abel Mulugeta Eneyew Zhengwei Qi and Baris Kasikci. 2020. A hypervisor for shared-memory FPGA platforms. In Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems. Association for Computing Machinery New York NY USA 827\u2013844. DOI:DOI:10.1145\/3373376.3378482","DOI":"10.1145\/3373376.3378482"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/3579371.3589095"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/CLOUD.2018.00122"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/3194554.3194644"},{"key":"e_1_3_2_30_2","unstructured":"Microsoft. 2023. Azure Machine Learning. Retrieved Feb 19 2023 from https:\/\/learn.microsoft.com\/en-us\/azure\/machine-learning\/"},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-19983-7_13"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2017.37"},{"key":"e_1_3_2_33_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2006.311336"},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2015.42"},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2018.00015"},{"key":"e_1_3_2_36_2","volume-title":"Xilinx Stacked Silicon Interconnect Technology Delivers Breakthrough FPGA Capacity, Bandwidth, and Power Efficiency","author":"Saban Kirk","year":"2023","unstructured":"Kirk Saban. 2023. Xilinx Stacked Silicon Interconnect Technology Delivers Breakthrough FPGA Capacity, Bandwidth, and Power Efficiency. Technical Report. Xilinx."},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1145\/3035918.3035954"},{"key":"e_1_3_2_38_2","volume-title":"BORPH: An Operating System for FPGA-Based Reconfigurable Computers","author":"So Hayden Kwok-Hay","year":"2007","unstructured":"Hayden Kwok-Hay So and Robert W. Brodersen. 2007. BORPH: An Operating System for FPGA-Based Reconfigurable Computers. Ph. D. Dissertation. EECS Department, University of California, Berkeley. Retrieved from http:\/\/www2.eecs.berkeley.edu\/Pubs\/TechRpts\/2007\/EECS-2007-92.html"},{"key":"e_1_3_2_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/2847263.2847276"},{"key":"e_1_3_2_40_2","doi-asserted-by":"publisher","DOI":"10.1109\/MDAT.2017.2748393"},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/SAMOS.2017.8344606"},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.1109\/CODES-ISSS.2013.6658997"},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.1109\/ReCoSoC.2014.6861366"},{"key":"e_1_3_2_44_2","doi-asserted-by":"publisher","DOI":"10.1109\/UIC-ATC-ScalCom-CBDCom-IoP.2015.199"},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1109\/ReConFig.2014.7032514"},{"key":"e_1_3_2_46_2","unstructured":"Xilinx. 2023. Getting Started with Alveo Data Center Accelerator Cards User Guide UG1301. Retrieved Jan 26 2023 from https:\/\/docs.xilinx.com\/r\/en-US\/ug1301-getting-started-guide-alveo-accelerator-cards"},{"key":"e_1_3_2_47_2","unstructured":"Xilinx. 2023. Vitis BLAS Library. Retrieved Feb 19 2023 from https:\/\/github.com\/Xilinx\/Vitis_Libraries\/tree\/main\/blas"},{"key":"e_1_3_2_48_2","unstructured":"Xilinx. 2023. Vitis Quantitative Finance Library. Retrieved Feb 19 2023 from https:\/\/github.com\/Xilinx\/Vitis_Libraries\/tree\/main\/quantitative_finance"},{"key":"e_1_3_2_49_2","unstructured":"Xilinx. 2023. Vitis Security Library. RetrievedFeb19 2023fromhttps:\/\/github.com\/Xilinx\/Vitis_Libraries\/tree\/main\/security."},{"key":"e_1_3_2_50_2","unstructured":"Xilinx. 2023. Vitis Software Platform \u2014 xilinx.com. Retrieved Jul 27 2023 from https:\/\/www.xilinx.com\/products\/design-tools\/vitis\/vitis-platform.html"},{"key":"e_1_3_2_51_2","unstructured":"Xilinx. 2023. Vitis SPARSE Library. Retrieved Feb 19 2023 from https:\/\/github.com\/Xilinx\/Vitis_Libraries\/tree\/main\/sparse"},{"key":"e_1_3_2_52_2","doi-asserted-by":"publisher","unstructured":"Yue Zha and Jing Li. 2020. Virtualizing FPGAs in the cloud(ASPLOS\u201920). Association for Computing Machinery New York NY USA 845\u2013858. DOI:DOI:10.1145\/3373376.3378491","DOI":"10.1145\/3373376.3378491"},{"key":"e_1_3_2_53_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA52012.2021.00044"},{"key":"e_1_3_2_54_2","doi-asserted-by":"publisher","DOI":"10.1145\/3124680.3124743"},{"key":"e_1_3_2_55_2","doi-asserted-by":"publisher","unstructured":"Qian ZHAO Motoki AMAGASAKI Masahiro IIDA Morihiro KUGA and Toshinori SUEYOSHI. 2018. Enabling FPGA-as-a-service in the cloud with hCODE Platform. IEICE Transactions on Information and Systems E101.D 2 (2018) 335\u2013343. DOI:10.1587\/transinf.2017RCP0004","DOI":"10.1587\/transinf.2017RCP0004"},{"key":"e_1_3_2_56_2","doi-asserted-by":"publisher","DOI":"10.1109\/SBAC-PAD.2017.25"},{"key":"e_1_3_2_57_2","doi-asserted-by":"publisher","DOI":"10.1145\/3174243.3174255"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3648475","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3648475","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T22:50:19Z","timestamp":1750287019000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3648475"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,5,21]]},"references-count":56,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2024,6,30]]}},"alternative-id":["10.1145\/3648475"],"URL":"https:\/\/doi.org\/10.1145\/3648475","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"value":"1544-3566","type":"print"},{"value":"1544-3973","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,5,21]]},"assertion":[{"value":"2023-08-05","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-02-05","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-05-21","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}