论文标题
SLAM:无服务器应用程序的Slo-Aware内存优化
SLAM: SLO-Aware Memory Optimization for Serverless Applications
论文作者
论文摘要
无服务器计算范式已更加根深蒂固,因为它为应用程序开发和部署提供了便宜的替代方案。这种新的范式还为开发人员创造了新的问题,他们需要调整内存配置以平衡成本和性能。许多研究人员已经解决了对单个FAA功能最小化成本和会议服务水平目标(SLO)的要求的问题,但是对于由许多FAAS功能组成的应用程序,已经存在一个差距来解决相同的问题,从而创建了复杂的应用程序工作流程。 在这项工作中,我们设计了一个名为SLAM的工具来解决该问题。 SLAM使用分布式跟踪来检测无服务器应用程序中FAA功能之间的关系。通过对它们进行建模,它可以估计在不同内存配置下应用程序的执行时间。使用这些估计,SLAM根据指定的SLO要求和用户指定的目标(最低成本或最低执行时间)确定给定无服务器应用程序的最佳内存配置。我们通过在四个应用程序上测试AWS Lambda上的SLAM功能。我们的结果表明,建议的内存配置保证了预定义SLO内完成的95%以上的请求。
Serverless computing paradigm has become more ingrained into the industry, as it offers a cheap alternative for application development and deployment. This new paradigm has also created new kinds of problems for the developer, who needs to tune memory configurations for balancing cost and performance. Many researchers have addressed the issue of minimizing cost and meeting Service Level Objective (SLO) requirements for a single FaaS function, but there has been a gap for solving the same problem for an application consisting of many FaaS functions, creating complex application workflows. In this work, we designed a tool called SLAM to address the issue. SLAM uses distributed tracing to detect the relationship among the FaaS functions within a serverless application. By modeling each of them, it estimates the execution time for the application at different memory configurations. Using these estimations, SLAM determines the optimal memory configuration for the given serverless application based on the specified SLO requirements and user-specified objectives (minimum cost or minimum execution time). We demonstrate the functionality of SLAM on AWS Lambda by testing on four applications. Our results show that the suggested memory configurations guarantee that more than 95% of requests are completed within the predefined SLOs.