{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,13]],"date-time":"2026-04-13T23:15:34Z","timestamp":1776122134391,"version":"3.50.1"},"reference-count":49,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2022,1,11]],"date-time":"2022-01-11T00:00:00Z","timestamp":1641859200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Reconfigurable Technol. Syst."],"published-print":{"date-parts":[[2022,6,30]]},"abstract":"<jats:p>\u201cCloud-native\u201d is the umbrella adjective describing the standard approach for developing applications that exploit cloud infrastructures\u2019 scalability and elasticity at their best. As the application complexity and user-bases grow, designing for performance becomes a first-class engineering concern. As an answer to these needs, heterogeneous computing platforms gained widespread attention as powerful tools to continue meeting SLAs for compute-intensive cloud-native workloads. We propose BlastFunction, an FPGA-as-a-Service full-stack framework to ease FPGAs\u2019 adoption for cloud-native workloads, integrating with the vast spectrum of fundamental cloud models. At the IaaS level, BlastFunction time-shares FPGA-based accelerators to provide multi-tenant access to accelerated resources without any code rewriting. At the PaaS level, BlastFunction accelerates functionalities leveraging the serverless model and scales functions proactively, depending on the workload\u2019s performance. Further lowering the FPGAs\u2019 adoption barrier, an accelerators\u2019 registry hosts accelerated functions ready to be used within cloud-native applications, bringing the simplicity of a SaaS-like approach to the developers. After an extensive experimental campaign against state-of-the-art cloud scenarios, we show how BlastFunction leads to higher performance metrics (utilization and throughput) against native execution, with minimal latency and overhead differences. Moreover, the scaling scheme we propose outperforms the main serverless autoscaling algorithms in workload performance and scaling operation amount.<\/jats:p>","DOI":"10.1145\/3472958","type":"journal-article","created":{"date-parts":[[2022,1,11]],"date-time":"2022-01-11T16:34:21Z","timestamp":1641918861000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["BlastFunction: A Full-stack Framework Bringing FPGA Hardware Acceleration to Cloud-native Applications"],"prefix":"10.1145","volume":"15","author":[{"given":"Andrea","family":"Damiani","sequence":"first","affiliation":[{"name":"DEIB, Politecnico di Milano, Milano, ITA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Giorgia","family":"Fiscaletti","sequence":"additional","affiliation":[{"name":"DEIB, Politecnico di Milano, Milano, ITA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Marco","family":"Bacis","sequence":"additional","affiliation":[{"name":"DEIB, Politecnico di Milano, Milano, ITA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rolando","family":"Brondolin","sequence":"additional","affiliation":[{"name":"DEIB, Politecnico di Milano, Milano, ITA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Marco D.","family":"Santambrogio","sequence":"additional","affiliation":[{"name":"DEIB, Politecnico di Milano, Milano, ITA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2022,1,11]]},"reference":[{"key":"e_1_3_2_2_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSC.2017.2711009"},{"key":"e_1_3_2_3_2","unstructured":"Amazon Web Services Inc.2019. Amazon EC2 F1 instances. (2019). Retrieved 2019-06-12 from https:\/\/aws.amazon.com\/ec2\/instance-types\/f1\/."},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/CCGRID.2017.15"},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2009.5272532"},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2017.2661582"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/2898442.2898444"},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.5555\/2650280.2650362"},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.5555\/3195638.3195647"},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2018.022071131"},{"key":"e_1_3_2_11_2","unstructured":"Docker Inc.2019. Docker containers. (2019). Retrieved 2019-02-28 from https:\/\/www.docker.com."},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.5555\/3122009.3122035"},{"key":"e_1_3_2_13_2","unstructured":"Fission Project Contributors. 2020. Fission. (2020). Retrieved 2020-11-11 from https:\/\/fission.io."},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/UCC.2012.30"},{"key":"e_1_3_2_15_2","first-page":"141","article-title":"SPECTOR: An OpenCL FPGA benchmark suite","author":"Gautier Quentin","year":"2017","unstructured":"Quentin Gautier, Alrie Althoff, Pingfan Meng, and Ryan Kastner. 2017. SPECTOR: An OpenCL FPGA benchmark suite. In 2016 International Conference on Field-Programmable Technology (FPT\u201916) (2017), 141\u2013148. https:\/\/doi.org\/10.1109\/FPT.2016.7929519","journal-title":"2016 International Conference on Field-Programmable Technology (FPT\u201916)"},{"key":"e_1_3_2_16_2","unstructured":"John L. Hennessy and David A. Patterson. 2018. John Hennessy and David Patterson 2017 ACM A.M. Turing Award Lecture. (4 6 2018). Retrieved 2021-01-11 from https:\/\/www.youtube.com\/watch?v=3LVeEjsn8Ts&t=1h15m."},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.1109\/FiCloud.2018.00020"},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/2996890.2996895"},{"key":"e_1_3_2_19_2","unstructured":"Eric Jonas Johann Schleier-Smith Vikram Sreekanti Chia-Che Tsai Anurag Khandelwal Qifan Pu Vaishaal Shankar Joao Carreira Karl Krauth Neeraja Yadwadkar Joseph E. Gonzalez Raluca Ada Popa Ion Stoica and David A. Patterson. 2019. Cloud Programming Simplified: A Berkeley View on Serverless Computing. arXiv:1902.03383 [cs.OS]."},{"key":"e_1_3_2_20_2","unstructured":"JuliaLang.org contributors. 2020. Julia. (2020). Retrieved 2020-11-01 from https:\/\/julialang.org\/."},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","DOI":"10.5555\/3291168.3291177"},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.23919\/DATE.2019.8715018"},{"key":"e_1_3_2_23_2","unstructured":"Kubeless. 2020. Kubeless. (2020). Retrieved 2020-11-11 from https:\/\/kubeless.io."},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.5555\/3091622.3091666"},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.1109\/MCOM.2019.1800506"},{"key":"e_1_3_2_26_2","first-page":"2","article-title":"VineTalk: Simplifying software access and sharing of FPGAs in datacenters","author":"Mavridis Stelios","year":"2017","unstructured":"Stelios Mavridis, Manolis Pavlidakis, Ioannis Stamoulias, Christos Kozanitis, Nikolaos Chrysos, Christoforos Kachris, Dimitrios Soudris, and Angelos Bilas. 2017. VineTalk: Simplifying software access and sharing of FPGAs in datacenters. In 2017 27th International Conference on Field Programmable Logic and Applications (FPL\u201917) (2017), 2\u20135. https:\/\/doi.org\/10.23919\/FPL.2017.8056788","journal-title":"2017 27th International Conference on Field Programmable Logic and Applications (FPL\u201917)"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.5555\/2206223"},{"key":"e_1_3_2_28_2","volume-title":"9th Workshop on Big Data Benchmarks Performance, Optimization and Emerging Hardware (BPOE-9)","author":"Ojika S.","year":"2018","unstructured":"S. Ojika, A. Gordon-Ross, H. Lam, B. Patel, G. Kaul, and J. Strayer. 2018. Using FPGAs as microservices: Technology, challenges and case study. In 9th Workshop on Big Data Benchmarks Performance, Optimization and Emerging Hardware (BPOE-9)."},{"key":"e_1_3_2_29_2","unstructured":"OpenFaaS Author(s). 2020. OpenFaaS autoscaler. (2020). Retrieved 2020-10-26 from https:\/\/docs.openfaas.com\/architecture\/autoscaling\/."},{"key":"e_1_3_2_30_2","unstructured":"OpenFaaS Ltd.2019. OpenFaaS serverless framework. (2019). Retrieved 2019-06-12 from https:\/\/www.openfaas.com\/."},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1155\/2016\/4670271"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2018.00030"},{"key":"e_1_3_2_33_2","unstructured":"Prometheus Authors. 2019. Prometheus monitoring system. (2019). Retrieved 2019-05-20 from https:\/\/prometheus.io\/."},{"key":"e_1_3_2_34_2","doi-asserted-by":"crossref","unstructured":"Andrew Putnam Adrian M. Caulfield Eric S. Chung Derek Chiou Kypros Constantinides John Demme Hadi Esmaeilzadeh Jeremy Fowers Gopi Prashanth Gopal Jan Gray Michael Haselman Scott Hauck Stephen Heil Amir Hormati Joo-Young Kim Sitaram Lanka James Larus Eric Peterson Simon Pope Aaron Smith Jason Thong Phillip Yi Xiao and Doug Burger. 2014. A reconfigurable fabric for accelerating large-scale datacenter services. 13\u201324. https:\/\/doi.org\/10.1109\/ISCA.2014.6853195","DOI":"10.1145\/2678373.2665678"},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/CLOUD.2019.00061"},{"key":"e_1_3_2_36_2","unstructured":"Mathieu Stefani. 2019. Pistache C++ REST Framework. (2019). Retrieved 2019-06-26 from http:\/\/pistache.io\/."},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICAC.2006.1662383"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.4526"},{"key":"e_1_3_2_39_2","unstructured":"The Knative Authors. 2020. Knative. (2020). Retrieved 2020-11-11 from https:\/\/knative.dev."},{"key":"e_1_3_2_40_2","unstructured":"The Kubernetes Authors. 2020. Kubernetes autoscaler. (2020). Retrieved 2020-10-26 from https:\/\/kubernetes.io\/docs\/tasks\/run-application\/horizontal-pod-autoscale\/."},{"key":"e_1_3_2_41_2","unstructured":"The Kubernetes Authors. 2020. Pods | Kubernetes. (2020). Retrieved 2021-01-07 from https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/."},{"key":"e_1_3_2_42_2","volume-title":"Proxy Re-Encryption for Accelerator Confidentiality in FPGA-Accelerated Cloud","author":"Turan Furkan","year":"2020","unstructured":"Furkan Turan and Ingrid Verbauwhede. 2020. Proxy Re-Encryption for Accelerator Confidentiality in FPGA-Accelerated Cloud. Technical Report. Cryptology ePrint Archive, Report 2020\/805. Retrieved from https:\/\/eprint...."},{"key":"e_1_3_2_44_2","first-page":"131","article-title":"A survey on FPGA virtualization","author":"Vaishnav Anuj","year":"2018","unstructured":"Anuj Vaishnav, Khoa Dang Pham, and Dirk Koch. 2018. A survey on FPGA virtualization. In the 2018 International Conference on Field-Programmable Logic and Applications (FPL\u201918) (2018), 131\u2013138. https:\/\/doi.org\/10.1109\/FPL.2018.00031","journal-title":"2018 International Conference on Field-Programmable Logic and Applications (FPL\u201918)"},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPT.2017.8280160"},{"key":"e_1_3_2_46_2","doi-asserted-by":"publisher","DOI":"10.5555\/2555692.2555702"},{"key":"e_1_3_2_47_2","first-page":"1078","article-title":"Enabling FPGAs in hyperscale data centers","author":"Weerasinghe Jagath","year":"2016","unstructured":"Jagath Weerasinghe, Francois Abel, Christoph Hagleitner, and Andreas Herkersdorf. 2016. Enabling FPGAs in hyperscale data centers. In 2015 IEEE 12th International Conference on Ubiquitous Intelligence and Computing, 2015 IEEE 12th International Conference on Advanced and Trusted Computing, 2015 IEEE 15th International Conference on Scalable Computing and Communications, 20 (2016), 1078\u20131086. https:\/\/doi.org\/10.1109\/UIC-ATC-ScalCom-CBDCom-IoP.2015.199","journal-title":"2015 IEEE 12th International Conference on Ubiquitous Intelligence and Computing, 2015 IEEE 12th International Conference on Advanced and Trusted Computing, 2015 IEEE 15th International Conference on Scalable Computing and Communications, 20"},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.1145\/3061639.3062207"},{"key":"e_1_3_2_49_2","doi-asserted-by":"publisher","DOI":"10.1587\/transinf.2017RCP0004"},{"key":"e_1_3_2_50_2","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2018.2829860"},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.1109\/TCC.2018.2874011"}],"container-title":["ACM Transactions on Reconfigurable Technology and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3472958","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3472958","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:11:57Z","timestamp":1750191117000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3472958"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,1,11]]},"references-count":49,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2022,6,30]]}},"alternative-id":["10.1145\/3472958"],"URL":"https:\/\/doi.org\/10.1145\/3472958","relation":{},"ISSN":["1936-7406","1936-7414"],"issn-type":[{"value":"1936-7406","type":"print"},{"value":"1936-7414","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,1,11]]},"assertion":[{"value":"2021-01-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-06-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-01-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}