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.
- [1] . 2017. Elasticity in cloud computing: State of the art and research challenges. IEEE Transactions on Services Computing 11, 2 (2017), 430–447.Google Scholar
Cross Ref
- [2] 2019. Amazon EC2 F1 instances. (2019). Retrieved 2019-06-12 from https://aws.amazon.com/ec2/instance-types/f1/.Google Scholar
- [3] . 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 Google Scholar
Digital Library
- [4] . 2009. Performance comparison of FPGA, GPU, and CPU in image processing. In 2009 International Conference on Field Programmable logic and applications. IEEE, 126–131.Google Scholar
Cross Ref
- [5] . 2017. Virtualized execution runtime for FPGA accelerators in the cloud. IEEE Access (2017). https://doi.org/10.1109/ACCESS.2017.2661582Google Scholar
Cross Ref
- [6] . 2016. Borg, Omega, and Kubernetes. Queue 14, 1 (2016), 70–93. Google Scholar
Digital Library
- [7] . 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 Google Scholar
Digital Library
- [8] . 2016. A cloud-scale acceleration architecture. In the 49th Annual IEEE/ACM International Symposium on Microarchitecture. IEEE Press, 7. Google Scholar
Digital Library
- [9] . 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.022071131Google Scholar
Cross Ref
- [10] 2019. Docker containers. (2019). Retrieved 2019-02-28 from https://www.docker.com.Google Scholar
- [11] . 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. Google Scholar
Digital Library
- [12] . 2020. Fission. (2020). Retrieved 2020-11-11 from https://fission.io.Google Scholar
- [13] . 2012. A survey on cloud computing elasticity. In 2012 IEEE Fifth International Conference on Utility and Cloud Computing. IEEE, 263–270. Google Scholar
Digital Library
- [14] . 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.7929519Google Scholar
- [15] . 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.Google Scholar - [16] . 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.00020Google Scholar
Cross Ref
- [17] . 2016. High performance in the cloud with FPGA groups. In the 9th International Conference on Utility and Cloud Computing. ACM, 1–10. Google Scholar
Digital Library
- [18] . 2019. Cloud Programming Simplified: A Berkeley View on Serverless Computing. arXiv:1902.03383 [cs.OS].Google Scholar
- [19] . 2020. Julia. (2020). Retrieved 2020-11-01 from https://julialang.org/.Google Scholar
- [20] . 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. Google Scholar
Digital Library
- [21] . 2019. Modular FPGA acceleration of data analytics in heterogenous computing. In 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE, 626–629.Google Scholar
Cross Ref
- [22] . 2020. Kubeless. (2020). Retrieved 2020-11-11 from https://kubeless.io.Google Scholar
- [23] . 1995. Learning policies for partially observable environments: Scaling up. In 12th International Conference on Machine Learning. Morgan-Kaufmann, 362–370. Google Scholar
Digital Library
- [24] . 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 Google Scholar
Digital Library
- [25] . 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.8056788Google Scholar
- [26] . 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 Google Scholar
Digital Library
- [27] . 2018. Using FPGAs as microservices: Technology, challenges and case study. In 9th Workshop on Big Data Benchmarks Performance, Optimization and Emerging Hardware (BPOE-9).Google Scholar
- [28] . 2020. OpenFaaS autoscaler. (2020). Retrieved 2020-10-26 from https://docs.openfaas.com/architecture/autoscaling/.Google Scholar
- [29] 2019. OpenFaaS serverless framework. (2019). Retrieved 2019-06-12 from https://www.openfaas.com/.Google Scholar
- [30] . 2016. FPGA-Aware scheduling strategies at hypervisor level in cloud environments. Scientific Programming 2016, 1 (2016). https://doi.org/10.1155/2016/4670271 Google Scholar
Digital Library
- [31] . 2018. Accelerating database systems using FPGAs: A survey. In 2018 28th International Conference on Field Programmable Logic and Applications (FPL). IEEE, 125–1255.Google Scholar
Cross Ref
- [32] . 2019. Prometheus monitoring system. (2019). Retrieved 2019-05-20 from https://prometheus.io/.Google Scholar
- [33] . 2014. A reconfigurable fabric for accelerating large-scale datacenter services. 13–24. https://doi.org/10.1109/ISCA.2014.6853195Google Scholar
- [34] . 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.00061Google Scholar
Cross Ref
- [35] . 2019. Pistache C++ REST Framework. (2019). Retrieved 2019-06-26 from http://pistache.io/.Google Scholar
- [36] . 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 Google Scholar
Digital Library
- [37] . 2018. Power and performance optimization in FPGA-accelerated clouds. Concurrency Computation 30, 18 (Sept. 2018). https://doi.org/10.1002/cpe.4526Google Scholar
Cross Ref
- [38] . 2020. Knative. (2020). Retrieved 2020-11-11 from https://knative.dev.Google Scholar
- [39] . 2020. Kubernetes autoscaler. (2020). Retrieved 2020-10-26 from https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/.Google Scholar
- [40] . 2020. Pods | Kubernetes. (2020). Retrieved 2021-01-07 from https://kubernetes.io/docs/concepts/workloads/pods/.Google Scholar
- [41] . 2020. Proxy Re-Encryption for Accelerator Confidentiality in FPGA-Accelerated Cloud.
Technical Report . Cryptology ePrint Archive, Report 2020/805. Retrieved from https://eprint....Google Scholar - [42] . 2020. Proxy Re-Encryption for Accelerator Confidentiality in FPGA-Accelerated Cloud. Cryptology ePrint Archive. Report 2020/805. https://ia.cr/2020/805.Google Scholar
- [43] . 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.00031Google Scholar
- [44] . 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.Google Scholar
Cross Ref
- [45] . 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 Google Scholar
Digital Library
- [46] . 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.199Google Scholar
- [47] . 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. Google Scholar
Digital Library
- [48] . 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.2017RCP0004Google Scholar
Cross Ref
- [49] . 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.2829860Google Scholar
Digital Library
- [50] . 2021. FPGA resource pooling in cloud computing. IEEE Transactions on Cloud Computing 9, 2 (2021), 610–626. https://doi.org/10.1109/TCC.2018.2874011Google Scholar
Cross Ref
Index Terms
BlastFunction: A Full-stack Framework Bringing FPGA Hardware Acceleration to Cloud-native Applications
Recommendations
A Framework for Multi-cloud Cooperation with Hardware Reconfiguration Support
SERVICES '13: Proceedings of the 2013 IEEE Ninth World Congress on ServicesCloud computing is increasingly becoming a desirable and foundational element in international enterprise computing. There are many companies which design, develop, and offer cloud technologies. However, cloud providers are still like lone islands. ...
Acceleration of an FPGA router
FCCM '97: Proceedings of the 5th IEEE Symposium on FPGA-Based Custom Computing MachinesThe authors describe their experience and progress in accelerating an FPGA router. Placement and routing is undoubtedly the most time-consuming process in automatic chip design or configuring programmable logic devices as reconfigurable computing ...
Portable Autoscaler for Managing Multi-cloud Elasticity
CUBE '13: Proceedings of the 2013 International Conference on Cloud & Ubiquitous Computing & Emerging TechnologiesAbility to scale resources up or down dynamically as per changes in workload conditions is one of the key features of clouds. We present here a framework for elastic scaling of cloud resources that is portable across clouds from a wide range of private ...






Comments