Multi-stage serverless applications, i.e., workflows with many computation and I/O stages, are becoming increasingly representative of FaaS platforms. Despite their advantages in terms of fine-grained scalability and modular development, these applications are subject to suboptimal performance, resource inefficiency, and high costs to a larger degree than previous simple serverless functions. We present Aquatope, a QoS-and-uncertainty-aware resource scheduler for end-to-end serverless workflows that takes into account the inherent uncertainty present in FaaS platforms, and improves performance predictability and resource efficiency. Aquatope uses a set of scalable and validated Bayesian models to create pre-warmed containers ahead of function invocations, and to allocate appropriate resources at function granularity to meet a complex workflow's end-to-end QoS, while minimizing resource cost. Across a diverse set of analytics and interactive multi-stage serverless workloads, Aquatope significantly outperforms prior systems, reducing QoS violations by 5x, and cost by 34% on average and up to 52% compared to other QoS-meeting methods.
翻译:没有服务器的多阶段应用程序,即具有多种计算和I/O阶段的工作流程,正日益代表FaaS平台。尽管这些应用程序在微缩缩缩缩缩缩和模块开发方面具有优势,但这些应用程序具有低于最佳性能、资源效率低下和高成本的程度高于以往的简单服务器无功能。我们为终端到终端服务器的无服务器工作流程提供Aquatope(Qos-S和不确定性能)资源调度程序,该程序考虑到FaaaS平台的内在不确定性,并提高性能可预测性和资源效率。Aqutope使用一套可缩放和经过验证的Bayesian模型,在工作前创建预先装备的集装箱,并在功能粒子上分配适当资源,以满足复杂的工作流程端到端的QoS,同时最大限度地减少资源成本。在一系列多种多样的分析性和互动式多级服务器工作量中,Aquotope大大超越了以前的系统,使QoS的违规率减少5x,而成本为34%,与其他方法相比,将QS的违规率降低到52%。