Beyond Load Balancing: Package-Aware Scheduling for Serverless Platforms

Gabriel Aumala, Edwin F. Boza, Luis Ortiz-Avilés, Gustavo Totoy, Cristina L. Abad
{"title":"Beyond Load Balancing: Package-Aware Scheduling for Serverless Platforms","authors":"Gabriel Aumala, Edwin F. Boza, Luis Ortiz-Avilés, Gustavo Totoy, Cristina L. Abad","doi":"10.1109/CCGRID.2019.00042","DOIUrl":null,"url":null,"abstract":"Fast deployment and execution of cloud functions in Function-as-a-Service (FaaS) platforms is critical, for example, for microservices architectures. However, functions that require large packages or libraries are bloated and start slowly. An optimization is to cache packages at the worker nodes instead of bundling them with the functions. However, existing FaaS schedulers are vanilla load balancers, agnostic of packages cached in response to prior function executions, and cannot properly reap the benefits of package caching. We study the case of package-aware scheduling and propose PASch, a novel scheduling algorithm that seeks package affinity during scheduling so that worker nodes can re-use execution environments with preloaded packages. PASch leverages consistent hashing and the power of 2 choices, while actively avoiding worker overload. We implement PASch in a new scheduler for the OpenLambda framework and evaluate it using simulations and real experiments. When using PASch instead of a least loaded balancer, tasks perceive an average speedup of 1.29x, and 80th percentile latency that is 23x faster. Furthermore, for the workload studied in this paper, PASch outperforms consistent hashing with bounded loads—a state-of-the-art load balancing algorithm—yielding a 1.3x average speedup, and a speedup of 1.5x at the 80th percentile.","PeriodicalId":234571,"journal":{"name":"2019 19th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID)","volume":"46 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"36","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 19th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CCGRID.2019.00042","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 36

Abstract

Fast deployment and execution of cloud functions in Function-as-a-Service (FaaS) platforms is critical, for example, for microservices architectures. However, functions that require large packages or libraries are bloated and start slowly. An optimization is to cache packages at the worker nodes instead of bundling them with the functions. However, existing FaaS schedulers are vanilla load balancers, agnostic of packages cached in response to prior function executions, and cannot properly reap the benefits of package caching. We study the case of package-aware scheduling and propose PASch, a novel scheduling algorithm that seeks package affinity during scheduling so that worker nodes can re-use execution environments with preloaded packages. PASch leverages consistent hashing and the power of 2 choices, while actively avoiding worker overload. We implement PASch in a new scheduler for the OpenLambda framework and evaluate it using simulations and real experiments. When using PASch instead of a least loaded balancer, tasks perceive an average speedup of 1.29x, and 80th percentile latency that is 23x faster. Furthermore, for the workload studied in this paper, PASch outperforms consistent hashing with bounded loads—a state-of-the-art load balancing algorithm—yielding a 1.3x average speedup, and a speedup of 1.5x at the 80th percentile.
超越负载平衡:无服务器平台的包感知调度
在功能即服务(FaaS)平台中快速部署和执行云功能至关重要,例如,对于微服务架构。但是,需要大型包或库的函数会变得臃肿,并且启动缓慢。一种优化是在工作节点上缓存包,而不是将它们与函数捆绑在一起。然而,现有的FaaS调度器是普通的负载平衡器,无法判断为响应先前的函数执行而缓存的包,并且无法适当地获得包缓存的好处。我们研究了包感知调度的情况,并提出了一种新的调度算法PASch,该算法在调度过程中寻求包的亲和性,以便工作节点可以重用具有预加载包的执行环境。PASch利用了一致哈希和2选择的能力,同时积极地避免了worker过载。我们在OpenLambda框架的新调度器中实现了PASch,并使用模拟和真实实验对其进行了评估。当使用PASch而不是最少负载的平衡器时,任务感知到的平均加速提高了1.29倍,而第80百分位延迟提高了23倍。此外,对于本文所研究的工作负载,PASch优于具有有限负载的一致性哈希——一种最先进的负载平衡算法——产生1.3倍的平均加速,在第80个百分点处加速1.5倍。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信