{"title":"Function Placement Approaches in Serverless Computing: A Survey","authors":"Mohsen Ghorbian, Mostafa Ghobaei-Arani, Rohollah Asadolahpour-Karimi","doi":"10.1016/j.sysarc.2024.103291","DOIUrl":null,"url":null,"abstract":"<div><div>Serverless computing is a new paradigm computing in cloud computing that allows developers to focus on code development without the need to manage infrastructure and enjoy the benefits of automatic scaling and low costs. The function placement mechanism is a critical concept in serverless computing that refers to choosing the optimal place for executing functions to improve the efficiency of resources and reduce the delay in executing functions. However, this process faces challenges such as the complexity of dynamic environments, heterogeneous resources, variable execution costs, and changes in the timing of requests, which make it challenging to choose the appropriate location for functions. This article provides a comprehensive overview of function placement mechanisms in serverless computing. It aims to introduce a comprehensive and systematic classification of critical approaches such as machine learning (ML)-based, heuristic-based, and model-based that are used in implementing function placement. Also, by examining each approach's strengths and weaknesses, this review article helps researchers and developers find a better perspective on the existing solutions and approaches and avoid repeated efforts by comprehensively reviewing previous research. In addition, by identifying research gaps and introducing new paths, this research provides the basis for improving future research.</div></div>","PeriodicalId":50027,"journal":{"name":"Journal of Systems Architecture","volume":"157 ","pages":"Article 103291"},"PeriodicalIF":3.7000,"publicationDate":"2024-11-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Systems Architecture","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S1383762124002285","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE","Score":null,"Total":0}
引用次数: 0
Abstract
Serverless computing is a new paradigm computing in cloud computing that allows developers to focus on code development without the need to manage infrastructure and enjoy the benefits of automatic scaling and low costs. The function placement mechanism is a critical concept in serverless computing that refers to choosing the optimal place for executing functions to improve the efficiency of resources and reduce the delay in executing functions. However, this process faces challenges such as the complexity of dynamic environments, heterogeneous resources, variable execution costs, and changes in the timing of requests, which make it challenging to choose the appropriate location for functions. This article provides a comprehensive overview of function placement mechanisms in serverless computing. It aims to introduce a comprehensive and systematic classification of critical approaches such as machine learning (ML)-based, heuristic-based, and model-based that are used in implementing function placement. Also, by examining each approach's strengths and weaknesses, this review article helps researchers and developers find a better perspective on the existing solutions and approaches and avoid repeated efforts by comprehensively reviewing previous research. In addition, by identifying research gaps and introducing new paths, this research provides the basis for improving future research.
期刊介绍:
The Journal of Systems Architecture: Embedded Software Design (JSA) is a journal covering all design and architectural aspects related to embedded systems and software. It ranges from the microarchitecture level via the system software level up to the application-specific architecture level. Aspects such as real-time systems, operating systems, FPGA programming, programming languages, communications (limited to analysis and the software stack), mobile systems, parallel and distributed architectures as well as additional subjects in the computer and system architecture area will fall within the scope of this journal. Technology will not be a main focus, but its use and relevance to particular designs will be. Case studies are welcome but must contribute more than just a design for a particular piece of software.
Design automation of such systems including methodologies, techniques and tools for their design as well as novel designs of software components fall within the scope of this journal. Novel applications that use embedded systems are also central in this journal. While hardware is not a part of this journal hardware/software co-design methods that consider interplay between software and hardware components with and emphasis on software are also relevant here.