{"title":"Efficient and Flexible Component Placement for Serverless Computing","authors":"Shouxi Luo;Ke Li;Huanlai Xing;Pingzhi Fan","doi":"10.1109/JSYST.2024.3381590","DOIUrl":null,"url":null,"abstract":"Nowadays, serverless computing has been widely employed and viewed as the new paradigm of cloud computing. Technically, serverless applications are made up of function components, which are packaged as specific layered files named container images. In production, different components are designed to partially share layers, and during the deployment, the hosting servers have to download the missing layers first, which might dominate the application startup delay. In this article, we look into optimizing the deployment of serverless applications under the operational goals of \n<italic>energy saving</i>\n and \n<italic>load balance</i>\n, by exploring the reusability among involved container images to conduct content-aware component placements explicitly. We find that the two involved optimization problems can be formulated as \n<italic>multi-objective (mixed-)integer linear programs</i>\n, and prove that their common building block of minimizing the weighted sum of deployment cost for a given set of serverless components is non-deterministic polynomial (NP)-hard. To be practical, we develop an efficient yet flexible heuristic solution named best fit greedy placement (BFGP), which involves three variants BFGP-Full, BFGP-ES, and BFGP-LB for the problem. Performance studies show that BFGP is effective, expressive, and efficient. It not only achieves near-optimal placement very efficiently but also supports high-level operational policies, such as \n<italic>energy saving</i>\n and \n<italic>load balance</i>\n.","PeriodicalId":55017,"journal":{"name":"IEEE Systems Journal","volume":"18 2","pages":"1104-1114"},"PeriodicalIF":4.0000,"publicationDate":"2024-04-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Systems Journal","FirstCategoryId":"94","ListUrlMain":"https://ieeexplore.ieee.org/document/10495158/","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INFORMATION SYSTEMS","Score":null,"Total":0}
引用次数: 0
Abstract
Nowadays, serverless computing has been widely employed and viewed as the new paradigm of cloud computing. Technically, serverless applications are made up of function components, which are packaged as specific layered files named container images. In production, different components are designed to partially share layers, and during the deployment, the hosting servers have to download the missing layers first, which might dominate the application startup delay. In this article, we look into optimizing the deployment of serverless applications under the operational goals of
energy saving
and
load balance
, by exploring the reusability among involved container images to conduct content-aware component placements explicitly. We find that the two involved optimization problems can be formulated as
multi-objective (mixed-)integer linear programs
, and prove that their common building block of minimizing the weighted sum of deployment cost for a given set of serverless components is non-deterministic polynomial (NP)-hard. To be practical, we develop an efficient yet flexible heuristic solution named best fit greedy placement (BFGP), which involves three variants BFGP-Full, BFGP-ES, and BFGP-LB for the problem. Performance studies show that BFGP is effective, expressive, and efficient. It not only achieves near-optimal placement very efficiently but also supports high-level operational policies, such as
energy saving
and
load balance
.
期刊介绍:
This publication provides a systems-level, focused forum for application-oriented manuscripts that address complex systems and system-of-systems of national and global significance. It intends to encourage and facilitate cooperation and interaction among IEEE Societies with systems-level and systems engineering interest, and to attract non-IEEE contributors and readers from around the globe. Our IEEE Systems Council job is to address issues in new ways that are not solvable in the domains of the existing IEEE or other societies or global organizations. These problems do not fit within traditional hierarchical boundaries. For example, disaster response such as that triggered by Hurricane Katrina, tsunamis, or current volcanic eruptions is not solvable by pure engineering solutions. We need to think about changing and enlarging the paradigm to include systems issues.