arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2103.00033cs.DCcs.PLcs.SYeess.SY
收藏

具有持久功能和Netherite的无服务器工作流

Serverless Workflows with Durable Functions and Netherite

Sebastian Burckhardt, Chris Gillum, David Justo, Konstantinos Kallas, Connor McMahon, Christopher S. Meiklejohn

摘要:

无服务器是服务架构师越来越受欢迎的选择,因为它可以提供弹性和基于负载的计费,只需最少的开发人员工作。一个常见且重要的用例是将无服务器功能和云存储组合到可靠的工作流中。然而,与用现代程序设计语言编写标准代码相比,用于创作工作流的现有解决方案提供了基本的体验。此外,在弹性的无服务器环境中可靠地执行工作流会带来重大的性能挑战。为了解决这些问题,我们提出了Durable Functions,一种用于无服务器工作流的编程模型,以及Netherite,一种分布式执行引擎,可以有效地执行它们。持久函数中的工作流表示为所选宿主语言中的任务并行代码。在内部,工作流被转换为细粒度的有状态通信进程,这些进程在弹性集群上进行负载平衡。主要挑战是在支持弹性扩展的同时,最大限度地降低将进度可靠地持久化到存储的成本。Netherite通过引入分区、恢复日志、异步快照和推测性通信解决了这个问题。我们的研究结果表明,持久功能简化了复杂工作流的表达,Netherite实现了比Azure和AWS中无服务器工作流的主流方法更低的延迟和更高的吞吐量,在某些情况下达到了数量级。

英文摘要:

Serverless is an increasingly popular choice for service architects because it can provide elasticity and load-based billing with minimal developer effort. A common and important use case is to compose serverless functions and cloud storage into reliable workflows. However, existing solutions for authoring workflows provide a rudimentary experience compared to writing standard code in a modern programming language. Furthermore, executing workflows reliably in an elastic serverless environment poses significant performance challenges. To address these, we propose Durable Functions, a programming model for serverless workflows, and Netherite, a distributed execution engine to execute them efficiently. Workflows in Durable Functions are expressed as task-parallel code in a host language of choice. Internally, the workflows are translated to fine-grained stateful communicating processes, which are load-balanced over an elastic cluster. The main challenge is to minimize the cost of reliably persisting progress to storage while supporting elastic scale. Netherite solves this by introducing partitioning, recovery logs, asynchronous snapshots, and speculative communication. Our results show that Durable Functions simplifies the expression of complex workflows, and that Netherite achieves lower latency and higher throughput than the prevailing approaches for serverless workflows in Azure and AWS, by orders of magnitude in some cases.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑