Serverless functions are a cloud computing paradigm where the provider takes care of resource management tasks such as resource provisioning, deployment, and auto-scaling. The only resource management task that developers are still in charge of is selecting how much resources are allocated to each worker instance. However, selecting the optimal size of serverless functions is quite challenging, so developers often neglect it despite its significant cost and performance benefits. Existing approaches aiming to automate serverless functions resource sizing require dedicated performance tests, which are time-consuming to implement and maintain. In this paper, we introduce an approach to predict the optimal resource size of a serverless function using monitoring data from a single resource size. As our approach does not require dedicated performance tests, it enables cloud providers to implement resource sizing on a platform level and automate the last resource management task associated with serverless functions. We evaluate our approach on three different serverless applications, where it selects the optimal memory size for 71.7% of the serverless functions and the second-best memory size for 22.3% of the serverless functions, which results in an average speedup of 43.6% while simultaneously decreasing average costs by 10.2%.
翻译:无服务器功能是一种云计算模式, 由提供者负责资源管理任务, 如提供资源、 部署和自动缩放。 开发者仍然负责的唯一资源管理任务就是选择为每个工人配置多少资源。 但是, 选择服务器无服务器功能的最佳规模相当困难, 所以开发者往往忽视它, 尽管它具有巨大的成本和性能效益 。 旨在将服务器无服务器功能的资源缩放自动化的现有方法需要专门的性能测试, 而这需要时间来执行和维护。 在本文中, 我们采用一种方法, 利用单一资源大小的监测数据预测服务器无服务器功能的最佳资源规模。 由于我们的方法不需要专门的性能测试, 使得云源提供者能够在平台一级实施资源缩放, 并自动完成与服务器无服务器功能相关的最后资源管理任务 。 我们评估了三种不同的服务器无服务器应用程序的方法, 其中它选择了71.7%服务器无服务器功能的最佳内存大小, 22.3%服务器无服务器功能的第二最佳内存大小, 从而导致平均速度为43.6%, 同时将平均成本减少10.2%。 。