{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T14:38:19Z","timestamp":1740148699189,"version":"3.37.3"},"reference-count":19,"publisher":"Springer Science and Business Media LLC","issue":"12","license":[{"start":{"date-parts":[[2021,10,27]],"date-time":"2021-10-27T00:00:00Z","timestamp":1635292800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2021,10,27]],"date-time":"2021-10-27T00:00:00Z","timestamp":1635292800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Sign Process Syst"],"published-print":{"date-parts":[[2021,12]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>This paper presents a Function-as-a-Service (FaaS) approach for deploying managed cloud functions onto heterogeneous cloud infrastructures. Current FaaS systems, such as AWS Lambda, allow domain-specific functionality, such as AI, HPC and image processing, to be deployed in the cloud while abstracting users from infrastructure and platform concerns. Existing approaches, however, use a single type of resource configuration to execute all function requests. In this paper, we present a novel FaaS approach that allows cloud functions to be effectively executed across heterogeneous compute resources, including hardware accelerators such as GPUs and FPGAs. We implement heterogeneous scheduling to tailor resource selection to each request, taking into account performance and cost concerns. In this way, our approach makes use of different processor types and quantities (e.g. 2 CPU cores), uniquely suited to handle different types of workload, potentially providing improved performance at a reduced cost. We validate our approach in three application domains: machine learning, bio-informatics, and physics, and target a hardware platform with a combined computational capacity of 24 FPGAs and 12 CPU cores. Compared to traditional FaaS, our approach achieves a cost improvement for non-uniform traffic of up to 8.9 times, while maintaining performance objectives.<\/jats:p>","DOI":"10.1007\/s11265-021-01695-7","type":"journal-article","created":{"date-parts":[[2021,10,27]],"date-time":"2021-10-27T05:02:31Z","timestamp":1635310951000},"page":"1419-1431","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["Scheduling Hardware-Accelerated Cloud Functions"],"prefix":"10.1007","volume":"93","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-1327-9712","authenticated-orcid":false,"given":"Jessica","family":"Vandebon","sequence":"first","affiliation":[]},{"given":"Jose G. F.","family":"Coutinho","sequence":"additional","affiliation":[]},{"given":"Wayne","family":"Luk","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,10,27]]},"reference":[{"key":"1695_CR1","unstructured":"Maxeler MPC-X Series. accessed Apr-2020. [Online]. Available: https:\/\/www.maxeler.com\/products\/mpc-xseries\/"},{"key":"1695_CR2","unstructured":"OpenFaaS Introduction: Serverless Functions Made Simple. accessed Apr-2020. [Online]. Available: https:\/\/docs.openfaas.com\/"},{"key":"1695_CR3","unstructured":"Maxeler Technologies. accessed Apr-2020. [Online]. Available: https:\/\/www.maxeler.com\/"},{"key":"1695_CR4","unstructured":"Amazon Web Services.\u00a0Amazon EC2. accessed Apr-2020. [Online]. Available: https:\/\/aws.amazon.com\/ec2\/"},{"key":"1695_CR5","unstructured":"Amazon Web Services. AWS Lambda: Serverless Compute. Accessed Apr-2020. [Online]. Available: https:\/\/aws.amazon.com\/lambda\/"},{"key":"1695_CR6","unstructured":"Apache Software Foundation.\u00a0Open Source Serverless Cloud Platform. accessed Apr-2020. [Online]. Available: https:\/\/openwhisk.apache.org\/"},{"issue":"3","key":"1695_CR7","doi-asserted-by":"publisher","first-page":"668","DOI":"10.1109\/TCBB.2016.2535385","volume":"14","author":"J Arram","year":"2017","unstructured":"Arram, J., Kaplan, T., Luk, W., & Jiang, P. (2017). Leveraging FPGAs for Accelerating Short Read Alignment. IEEE\/ACM Transactions on Computational Biology and Bioinformatics, 14(3), 668\u2013677.","journal-title":"IEEE\/ACM Transactions on Computational Biology and Bioinformatics"},{"key":"1695_CR8","doi-asserted-by":"crossref","unstructured":"Bleuse, R., Hunold, S., Kedad-Sidhoum, S., Monna, F., Mouni\u00e9 G., & Trystram, D. (2017). Scheduling Independent Moldable Tasks on Multi-Cores with GPUs. IEEE Transactions on Parallel and Distributed Systems, 28(9),\u00a02689\u20132702.","DOI":"10.1109\/TPDS.2017.2675891"},{"key":"1695_CR9","doi-asserted-by":"crossref","unstructured":"Du, P., Sun, Z., Zhang, H., & Ma, H. (2019). Feature-Aware Task Scheduling on CPU-FPGA Heterogeneous Platforms. In 2019 IEEE 21st International Conference on High Performance Computing and Communications; IEEE 17th International Conference on Smart City; IEEE 5th International Conference on Data Science and Systems (HPCC\/SmartCity\/DSS), 534\u2013541.","DOI":"10.1109\/HPCC\/SmartCity\/DSS.2019.00084"},{"key":"1695_CR10","unstructured":"Google Cloud Platform. Cloud Functions.\u00a0accessed Apr-2020. [Online]. Available: https:\/\/cloud.google.com\/functions"},{"key":"1695_CR11","unstructured":"Graepel, T., Candela, J. Q., Borchert, T., & Herbrich, R. (2010). Web-scale Bayesian Click-through Rate Prediction for Sponsored Search Advertising in Microsoft\u2019s Bing Search Engine. In The 27th International Conference on International Conference on Machine Learning (ICML), 13\u201320."},{"key":"1695_CR12","unstructured":"Kubeless. The Kubernetes Native Serverless Framework.\u00a0accessed Apr-2020. [Online]. Available: https:\/\/kubeless.io\/"},{"key":"1695_CR13","unstructured":"Maxeler.\u00a0(2015).\u00a0N-Body Particle Simulation. https:\/\/github.com\/maxeler\/NBody,\u00a0accessed Jan-2020."},{"key":"1695_CR14","unstructured":"Microsoft Azure. Azure Functions: Serverless Compute. accessed Apr-2020. [Online]. Available: https:\/\/azure.microsoft.com\/engb\/services\/functions\/"},{"key":"1695_CR15","unstructured":"SciPy.org.\u00a0SciPy Optimize. accessed Sept-2020. [Online]. Available: https:\/\/docs.scipy.org\/"},{"key":"1695_CR16","doi-asserted-by":"crossref","unstructured":"Vandebon, J., Coutinho, J. G. F., Luk, W., Nurvitadhi, E., & Naik, M. (2019).\u00a0Enhanced Heterogeneous Cloud: Transparent Acceleration and Elasticity. In International Conference on Field-Programmable Technology (FPT),\u00a0162\u2013170.","DOI":"10.1109\/ICFPT47387.2019.00027"},{"key":"1695_CR17","doi-asserted-by":"crossref","unstructured":"Vandebon, J., Coutinho, J. G. F., Luk, W., Nurvitadhi, E., & Naik, M. (2020).\u00a0SLATE: Managing Heterogeneous Cloud Functions. In 2020 IEEE 31st International Conference on Application-specific Systems, Architectures and Processors (ASAP), pp.\u00a0141\u2013148.","DOI":"10.1109\/ASAP49362.2020.00032"},{"key":"1695_CR18","doi-asserted-by":"crossref","unstructured":"Wen, Y., Wang, Z., & O\u2019Boyle, M. F. P. (2014).\u00a0Smart multi-task scheduling for OpenCL programs on CPU\/GPU heterogeneous platforms. In 2014 21st International Conference on High Performance Computing (HiPC), 1\u201310.","DOI":"10.1109\/HiPC.2014.7116910"},{"key":"1695_CR19","doi-asserted-by":"crossref","unstructured":"Yasudo, R., Coutinho, J., Varbanescu, A., Luk, W., Amano, H., & Becker, T. (2018).\u00a0Performance Estimation for Exascale Reconfigurable Dataflow Platforms. In 2018 International Conference on Field-Programmable Technology (FPT).","DOI":"10.1109\/FPT.2018.00062"}],"container-title":["Journal of Signal Processing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11265-021-01695-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s11265-021-01695-7\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11265-021-01695-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,12,14]],"date-time":"2021-12-14T00:05:38Z","timestamp":1639440338000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s11265-021-01695-7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,10,27]]},"references-count":19,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2021,12]]}},"alternative-id":["1695"],"URL":"https:\/\/doi.org\/10.1007\/s11265-021-01695-7","relation":{},"ISSN":["1939-8018","1939-8115"],"issn-type":[{"type":"print","value":"1939-8018"},{"type":"electronic","value":"1939-8115"}],"subject":[],"published":{"date-parts":[[2021,10,27]]},"assertion":[{"value":"30 September 2020","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"11 April 2021","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"26 July 2021","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"27 October 2021","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}