Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

BlastFunction: A Full-stack Framework Bringing FPGA Hardware Acceleration to Cloud-native Applications

Published: 11 January 2022 Publication History

Abstract

“Cloud-native” is the umbrella adjective describing the standard approach for developing applications that exploit cloud infrastructures’ 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’ 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’s performance. Further lowering the FPGAs’ adoption barrier, an accelerators’ 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.

References

[1]
Yahya Al-Dhuraibi, Fawaz Paraiso, Nabil Djarallah, and Philippe Merle. 2017. Elasticity in cloud computing: State of the art and research challenges. IEEE Transactions on Services Computing 11, 2 (2017), 430–447.
[2]
Amazon Web Services, Inc.2019. Amazon EC2 F1 instances. (2019). Retrieved 2019-06-12 from https://aws.amazon.com/ec2/instance-types/f1/.
[3]
H. Arabnejad, C. Pahl, P. Jamshidi, and G. Estrada. 2017. A comparison of reinforcement learning techniques for fuzzy cloud auto-scaling. In 2017 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID). 64–73. https://doi.org/10.1109/CCGRID.2017.15
[4]
Shuichi Asano, Tsutomu Maruyama, and Yoshiki Yamaguchi. 2009. Performance comparison of FPGA, GPU, and CPU in image processing. In 2009 International Conference on Field Programmable logic and applications. IEEE, 126–131.
[5]
Mikhail Asiatici, Nithin George, Kizheppatt Vipin, Suhaib A. Fahmy, and Paolo Ienne. 2017. Virtualized execution runtime for FPGA accelerators in the cloud. IEEE Access (2017). https://doi.org/10.1109/ACCESS.2017.2661582
[6]
Brendan Burns, Brian Grant, David Oppenheimer, Eric Brewer, and John Wilkes. 2016. Borg, Omega, and Kubernetes. Queue 14, 1 (2016), 70–93.
[7]
Stuart Byma, J. Gregory Steffan, Hadi Bannazadeh, Alberto Leon-Garcia, and Paul Chow. 2014. FPGAs in the cloud: Booting virtualized hardware accelerators with OpenStack. In Proceedings of the 2014 IEEE 22nd International Symposium on Field-Programmable Custom Computing Machines, (FCCM’14) (2014), 109–116. https://doi.org/10.1109/FCCM.2014.42
[8]
Adrian M. Caulfield, Eric S. Chung, Andrew Putnam, Hari Angepat, Jeremy Fowers, Michael Haselman, Stephen Heil, Matt Humphrey, Puneet Kaur, Joo-Young Kim, et al. 2016. A cloud-scale acceleration architecture. In the 49th Annual IEEE/ACM International Symposium on Microarchitecture. IEEE Press, 7.
[9]
Eric Chung, Jeremy Fowers, Kalin Ovtcharov, Michael Papamichael, Adrian Caulfield, Todd Massengill, Ming Liu, Daniel Lo, Shlomi Alkalay, Michael Haselman, Maleen Abeydeera, Logan Adams, Hari Angepat, Christian Boehn, Derek Chiou, Oren Firestein, Alessandro Forin, Kang Su Gatlin, Mahdi Ghandi, Stephen Heil, Kyle Holohan, Ahmad El Husseini, Tamas Juhasz, Kara Kagi, Ratna K. Kovvuri, Sitaram Lanka, Friedel van Megen, Dima Mukhortov, Prerak Patel, Brandon Perez, Amanda Rapsang, Steven Reinhardt, Bita Rouhani, Adam Sapek, Raja Seera, Sangeetha Shekar, Balaji Sridharan, Gabriel Weisz, Lisa Woods, Phillip Yi Xiao, Dan Zhang, Ritchie Zhao and Doug Burger. 2018. Serving DNNs in real time at datacenter scale with project brainwave. IEEE Micro 38, 2 (2018), 8–20. https://doi.org/10.1109/MM.2018.022071131
[10]
Docker Inc.2019. Docker containers. (2019). Retrieved 2019-02-28 from https://www.docker.com.
[11]
Maxim Egorov, Zachary N. Sunberg, Edward Balaban, Tim A. Wheeler, Jayesh K. Gupta, and Mykel J. Kochenderfer. 2017. POMDPs.jl: A framework for sequential decision making under uncertainty. Journal of Machine Learning Research 18, 26 (2017), 1–5. http://jmlr.org/papers/v18/16-300.html.
[12]
Fission Project Contributors. 2020. Fission. (2020). Retrieved 2020-11-11 from https://fission.io.
[13]
Guilherme Galante and Luis Carlos E. de Bona. 2012. A survey on cloud computing elasticity. In 2012 IEEE Fifth International Conference on Utility and Cloud Computing. IEEE, 263–270.
[14]
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’16) (2017), 141–148. https://doi.org/10.1109/FPT.2016.7929519
[15]
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.
[16]
S. Horovitz and Y. Arian. 2018. Efficient cloud auto-scaling with SLA objective using q-learning. In 2018 IEEE 6th International Conference on Future Internet of Things and Cloud (FiCloud). 85–92. https://doi.org/10.1109/FiCloud.2018.00020
[17]
Anca Iordache, Guillaume Pierre, Peter Sanders, Jose Gabriel de F. Coutinho, and Mark Stillwell. 2016. High performance in the cloud with FPGA groups. In the 9th International Conference on Utility and Cloud Computing. ACM, 1–10.
[18]
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].
[19]
JuliaLang.org contributors. 2020. Julia. (2020). Retrieved 2020-11-01 from https://julialang.org/.
[20]
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 13th \(\lbrace\)USENIX\(\rbrace\) Symposium on Operating Systems Design and Implementation (\(\lbrace\)OSDI\(\rbrace\) 18). 107–127.
[21]
Elias Koromilas, Christoforos Kachris, Dimitrios Soudris, Francisco J. Ballesteros, Patricio Martinez, and Ricardo Jimenez-Peris. 2019. Modular FPGA acceleration of data analytics in heterogenous computing. In 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE, 626–629.
[22]
Kubeless. 2020. Kubeless. (2020). Retrieved 2020-11-11 from https://kubeless.io.
[23]
Michael L. Littman, Anthony R. Cassandra, and Leslie Pack Kaelbling. 1995. Learning policies for partially observable environments: Scaling up. In 12th International Conference on Machine Learning. Morgan-Kaufmann, 362–370.
[24]
Evangelos Markakis, Yannis Nikoloudakis, George Mastorakis, Constandinos X. Mavromoustakis, Evangelos Pallis, Anargyros Sideris, Nikolaos Zotos, Jan Antic, Ales Cernivec, Diana Fejzic, Joze Kulovic, Antonio Jara, Anastasios Drosou, Konstantinos Giannoutakis, and Dimitrios Tzovaras. 2019. Acceleration at the Edge for Supporting SMEs Security: The FORTIKA Paradigm. IEEE Communications Magazine 57, 2 (2019), 41–47. https://doi.org/10.1109/MCOM.2019.1800506
[25]
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’17) (2017), 2–5. https://doi.org/10.23919/FPL.2017.8056788
[26]
Peter Mell and Tim Grance. 2011. The NIST definition of cloud computing. Technical Report NIST Special Publication (SP). 800–145. National Institute of Standards and Technology, Gaithersburg, MD. https://doi.org/10.6028/NIST.SP.800-53r4
[27]
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).
[28]
OpenFaaS Author(s). 2020. OpenFaaS autoscaler. (2020). Retrieved 2020-10-26 from https://docs.openfaas.com/architecture/autoscaling/.
[29]
OpenFaaS Ltd.2019. OpenFaaS serverless framework. (2019). Retrieved 2019-06-12 from https://www.openfaas.com/.
[30]
Julio Proaño Orellana, Blanca Caminero, Carmen Carrión, Luis Tomas, Selome Kostentinos Tesfatsion, and Johan Tordsson. 2016. FPGA-Aware scheduling strategies at hypervisor level in cloud environments. Scientific Programming 2016, 1 (2016). https://doi.org/10.1155/2016/4670271
[31]
Philippos Papaphilippou and Wayne Luk. 2018. Accelerating database systems using FPGAs: A survey. In 2018 28th International Conference on Field Programmable Logic and Applications (FPL). IEEE, 125–1255.
[32]
Prometheus Authors. 2019. Prometheus monitoring system. (2019). Retrieved 2019-05-20 from https://prometheus.io/.
[33]
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–24. https://doi.org/10.1109/ISCA.2014.6853195
[34]
F. Rossi, M. Nardelli, and V. Cardellini. 2019. Horizontal and vertical scaling of container-based applications using reinforcement learning. In 2019 IEEE 12th International Conference on Cloud Computing (CLOUD). 329–338. https://doi.org/10.1109/CLOUD.2019.00061
[35]
Mathieu Stefani. 2019. Pistache C++ REST Framework. (2019). Retrieved 2019-06-26 from http://pistache.io/.
[36]
G. Tesauro, N. K. Jong, R. Das, and M. N. Bennani. 2006. A hybrid reinforcement learning approach to autonomic resource allocation. In 2006 IEEE International Conference on Autonomic Computing. 65–73. https://doi.org/10.1109/ICAC.2006.1662383
[37]
Selome Kostentions Tesfatsion, Julio Proaño, Luis Tomás, Blanca Caminero, Carmen Carrión, and Johan Tordsson. 2018. Power and performance optimization in FPGA-accelerated clouds. Concurrency Computation 30, 18 (Sept. 2018). https://doi.org/10.1002/cpe.4526
[38]
The Knative Authors. 2020. Knative. (2020). Retrieved 2020-11-11 from https://knative.dev.
[39]
The Kubernetes Authors. 2020. Kubernetes autoscaler. (2020). Retrieved 2020-10-26 from https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/.
[40]
The Kubernetes Authors. 2020. Pods | Kubernetes. (2020). Retrieved 2021-01-07 from https://kubernetes.io/docs/concepts/workloads/pods/.
[41]
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....
[42]
Furkan Turan and Ingrid Verbauwhede. 2020. Proxy Re-Encryption for Accelerator Confidentiality in FPGA-Accelerated Cloud. Cryptology ePrint Archive. Report 2020/805. https://ia.cr/2020/805.
[43]
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’18) (2018), 131–138. https://doi.org/10.1109/FPL.2018.00031
[44]
Dong Wang, Ke Xu, and Diankun Jiang. 2017. PipeCNN: An OpenCL-based open-source FPGA accelerator for convolution neural networks. In 2017 International Conference on Field Programmable Technology (ICFPT). IEEE, 279–282.
[45]
Wei Wang, Miodrag Bolic, and Jonathan Parri. 2013. PvFPGA: Accessing an FPGA-based hardware accelerator in a paravirtualized environment. In 2013 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS’13) (2013). https://doi.org/10.1109/CODES-ISSS.2013.6658997
[46]
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–1086. https://doi.org/10.1109/UIC-ATC-ScalCom-CBDCom-IoP.2015.199
[47]
Xuechao Wei, Cody Hao Yu, Peng Zhang, Youxiang Chen, Yuxin Wang, Han Hu, Yun Liang, and Jason Cong. 2017. Automated systolic array architecture synthesis for high throughput CNN inference on FPGAs. In Proceedings of the 54th Annual Design Automation Conference 2017. ACM, 29.
[48]
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 E101D, 2 (2018), 335–343. https://doi.org/10.1587/transinf.2017RCP0004
[49]
Yangming Zhao, Chen Tian, Zhuangdi Zhu, Jie Cheng, Chunming Qiao, and Alex X. Liu. 2018. Minimize the make-span of batched requests for FPGA pooling in cloud computing. IEEE Transactions on Parallel and Distributed Systems 29, 11 (2018), 2514–2527. https://doi.org/10.1109/TPDS.2018.2829860
[50]
Zhuangdi Zhu, Alex X. Liu, Fan Zhang, and Fei Chen. 2021. FPGA resource pooling in cloud computing. IEEE Transactions on Cloud Computing 9, 2 (2021), 610–626. https://doi.org/10.1109/TCC.2018.2874011

Cited By

View all
  • (2024)In-Storage Domain-Specific Acceleration for Serverless ComputingProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3620665.3640413(530-548)Online publication date: 27-Apr-2024
  • (2024)Research on the Technology Architecture of Full-stack Cloud-Native Hosted Cloud2024 11th International Conference on Machine Intelligence Theory and Applications (MiTA)10.1109/MiTA60795.2024.10751724(1-7)Online publication date: 14-Jul-2024
  • (2024)The Future of High Performance Computing in Biomimetics and Some ChallengesHigh Performance Computing in Biomimetics10.1007/978-981-97-1017-1_15(287-303)Online publication date: 21-Mar-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Reconfigurable Technology and Systems
ACM Transactions on Reconfigurable Technology and Systems  Volume 15, Issue 2
June 2022
310 pages
ISSN:1936-7406
EISSN:1936-7414
DOI:10.1145/3501287
  • Editor:
  • Deming Chen
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 January 2022
Accepted: 01 June 2021
Revised: 01 May 2021
Received: 01 January 2021
Published in TRETS Volume 15, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Field Programmable Gate Arrays (FPGAs)
  2. cloud-native
  3. time-sharing
  4. autoscaling
  5. hardware acceleration

Qualifiers

  • Research-article
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)86
  • Downloads (Last 6 weeks)11
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)In-Storage Domain-Specific Acceleration for Serverless ComputingProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3620665.3640413(530-548)Online publication date: 27-Apr-2024
  • (2024)Research on the Technology Architecture of Full-stack Cloud-Native Hosted Cloud2024 11th International Conference on Machine Intelligence Theory and Applications (MiTA)10.1109/MiTA60795.2024.10751724(1-7)Online publication date: 14-Jul-2024
  • (2024)The Future of High Performance Computing in Biomimetics and Some ChallengesHigh Performance Computing in Biomimetics10.1007/978-981-97-1017-1_15(287-303)Online publication date: 21-Mar-2024
  • (2022)Operating Systems and Hypervisors for Network Functions: A Survey of Enabling Technologies and Research StudiesIEEE Access10.1109/ACCESS.2022.319491310(79825-79873)Online publication date: 2022
  • (2022)Machine Learning for Agile FPGA DesignMachine Learning Applications in Electronic Design Automation10.1007/978-3-031-13074-8_16(471-504)Online publication date: 10-Aug-2022
  • (2021)The Future of High-Performance Computing2021 17th International Computer Engineering Conference (ICENCO)10.1109/ICENCO49852.2021.9698918(129-134)Online publication date: 29-Dec-2021

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Full Text

View this article in Full Text.

Full Text

HTML Format

View this article in HTML Format.

HTML Format

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media