{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T16:01:17Z","timestamp":1772208077484,"version":"3.50.1"},"reference-count":25,"publisher":"Association for Computing Machinery (ACM)","issue":"8","license":[{"start":{"date-parts":[[2024,8,1]],"date-time":"2024-08-01T00:00:00Z","timestamp":1722470400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by-nd\/4.0\/"}],"funder":[{"DOI":"10.13039\/https:\/\/doi.org\/10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CNS-1846169,CNS-2006943"],"award-info":[{"award-number":["CNS-1846169,CNS-2006943"]}],"id":[{"id":"10.13039\/https:\/\/doi.org\/10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Commun. ACM"],"published-print":{"date-parts":[[2024,8]]},"abstract":"<jats:p>FPGAs are increasingly common in modern applications, and cloud providers now support on-demand FPGA acceleration in datacenters. Applications in datacenters run on virtual infrastructure, where consolidation, multi-tenancy, and workload migration enable economies of scale that are fundamental to the provider's business. However, a general strategy for virtualizing FPGAs has yet to emerge. While manufacturers struggle with hardware-based approaches, we propose a compiler\/runtime-based solution called Synergy. We show a compiler transformation for Verilog programs that produces code able to yield control to software at<jats:italic>sub-clock-tick<\/jats:italic>granularity according to the semantics of the original program. Synergy uses this property to efficiently support core virtualization primitives: suspend and resume, program migration, and spatial\/temporal multiplexing, on hardware which is available<jats:italic>today.<\/jats:italic>We use Synergy to virtualize FPGA workloads across a cluster of Intel SoCs and Xilinx FPGAs on Amazon F1. The workloads require no modification, run within 3--4x of unvirtualized performance, and incur a modest increase in FPGA fabric usage.<\/jats:p>","DOI":"10.1145\/3613903","type":"journal-article","created":{"date-parts":[[2024,5,7]],"date-time":"2024-05-07T15:02:59Z","timestamp":1715094179000},"page":"134-142","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Compiler-Driven FPGA Virtualization with SYNERGY"],"prefix":"10.1145","volume":"67","author":[{"given":"Joshua","family":"Landgraf","sequence":"first","affiliation":[{"name":"University of Texas at Austin, TX, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tiffany","family":"Yang","sequence":"additional","affiliation":[{"name":"University of Texas at Austin, TX, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Will","family":"Lin","sequence":"additional","affiliation":[{"name":"University of California, San Diego, CA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Christopher J.","family":"Rossbach","sequence":"additional","affiliation":[{"name":"University of Texas at Austin and VMware Research Group, Austin, TX, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eric","family":"Schkufza","sequence":"additional","affiliation":[{"name":"Graft, Inc., San Francisco, CA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,8]]},"reference":[{"key":"e_1_3_1_2_2","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2014.42"},{"key":"e_1_3_1_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/2597917.2597929"},{"key":"e_1_3_1_4_2","doi-asserted-by":"publisher","DOI":"10.5555\/2492708.2492853"},{"key":"e_1_3_1_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2018.022071131"},{"key":"e_1_3_1_6_2","doi-asserted-by":"publisher","DOI":"10.23919\/ECC.2013.6669541"},{"key":"e_1_3_1_7_2","doi-asserted-by":"publisher","DOI":"10.1109\/CloudCom.2015.60"},{"key":"e_1_3_1_8_2","doi-asserted-by":"crossref","unstructured":"Hamilton B.K. Inggs M. and So H.K.H. Scheduling mixed-architecture processes in tightly coupled FPGA-CPU reconfigurable computers. In Field-Programmable Custom Computing Machines (FCCM) 2014 IEEE 22nd Annual Intern. Symp. on pages 240\u2013240 May 2014.","DOI":"10.1109\/FCCM.2014.75"},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168866"},{"key":"e_1_3_1_10_2","unstructured":"Khawaja A. et al. Sharing protection and compatibility for reconfigurable fabric with amorphos. In 13th {USENIX} Symp. on Operating Systems Design and Implementation ({OSDI} 18) 2018 107\u2013127."},{"key":"e_1_3_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/2746404"},{"key":"e_1_3_1_12_2","doi-asserted-by":"crossref","unstructured":"Knodel O. Lehmann P. and Spallek R.G. RC3E: Reconfigurable accelerators in data centres and their provision by adapted service models. In 2016 IEEE 9th Intern. Conf. on Cloud Computing (CLOUD) June 2016 19\u201326.","DOI":"10.1109\/CLOUD.2016.0013"},{"key":"e_1_3_1_13_2","unstructured":"Knodel O. and Spallek R.G. Rc3e: Provision and management of reconfigurable hardware accelerators in a cloud environment. CoRR abs\/1508.06843 2015."},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","DOI":"10.5555\/3488766.3488822"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/2749469.2750416"},{"key":"e_1_3_1_16_2","doi-asserted-by":"publisher","DOI":"10.1145\/1596532.1596540"},{"key":"e_1_3_1_17_2","doi-asserted-by":"crossref","unstructured":"Ma J. et al. A hypervisor for shared-memory FPGA platforms. In Proceedings of the 25th Intern. Conf. on Architectural Support for Programming Languages and Operating Systems 2020.","DOI":"10.1145\/3373376.3378482"},{"key":"e_1_3_1_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/2847263.2847337"},{"key":"e_1_3_1_19_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2006.311336"},{"key":"e_1_3_1_20_2","doi-asserted-by":"crossref","unstructured":"Pham K.D. et al. Microkernel hypervisor for a hybrid ARM-FPGA platform. In Application-Specific Systems Architectures and Processors (ASAP) 2013 IEEE 24th Intern. Conf. on pages 219\u2013226 June 2013.","DOI":"10.1109\/ASAP.2013.6567578"},{"key":"e_1_3_1_21_2","doi-asserted-by":"crossref","unstructured":"Putnam A. et al. A reconfigurable fabric for accelerating large-scale datacenter services. In 41st Annual Intern. Symp. on Computer Architecture (ISCA) June 2014.","DOI":"10.1109\/ISCA.2014.6853195"},{"key":"e_1_3_1_22_2","doi-asserted-by":"crossref","unstructured":"Schkufza E. Wei M. and Rossbach C.J. Just-in-time compilation for verilog: A new technique for improving the FPGA programming experience. In Proceedings of the Twenty-Fourth Intern. Conf. on Architectural Support for Programming Languages and Operating Systems ASPLOS 2019 Providence RI USA April 13-17 2019 2019 271\u2013286.","DOI":"10.1145\/3297858.3304010"},{"key":"e_1_3_1_23_2","doi-asserted-by":"crossref","unstructured":"Wassi G. et al. Multi-shape tasks scheduling for online multitasking on FPGAs. In Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC) 2014 9th Intern. Symp. on pages 1\u20137 May 2014.","DOI":"10.1109\/ReCoSoC.2014.6861366"},{"key":"e_1_3_1_24_2","doi-asserted-by":"crossref","unstructured":"Weerasinghe J. Abel F. Hagleitner C. and Herkersdorf A. Enabling FPGAs in hyperscale data centers. In 2015 IEEE 12th Intl Conf on Ubiquitous Intelligence and Computing and 2015 IEEE 12th Intl Conf on Autonomic and Trusted Computing and 2015 IEEE 15th Intl Conf on Scalable Computing and Communications and Its Associated Workshops (UIC-ATC-ScalCom) Beijing China August 10-14 2015 2015 1078\u20131086.","DOI":"10.1109\/UIC-ATC-ScalCom-CBDCom-IoP.2015.199"},{"key":"e_1_3_1_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/2684746.2689073"},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/3373376.3378491"}],"container-title":["Communications of the ACM"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3613903","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3613903","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:36:30Z","timestamp":1750178190000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3613903"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,8]]},"references-count":25,"journal-issue":{"issue":"8","published-print":{"date-parts":[[2024,8]]}},"alternative-id":["10.1145\/3613903"],"URL":"https:\/\/doi.org\/10.1145\/3613903","relation":{},"ISSN":["0001-0782","1557-7317"],"issn-type":[{"value":"0001-0782","type":"print"},{"value":"1557-7317","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,8]]},"assertion":[{"value":"2024-08-01","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}