当前位置: X-MOL 学术Future Gener. Comput. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
AFCL: An Abstract Function Choreography Language for serverless workflow specification
Future Generation Computer Systems ( IF 6.2 ) Pub Date : 2020-08-18 , DOI: 10.1016/j.future.2020.08.012
Sasko Ristov , Stefan Pedratscher , Thomas Fahringer

Serverless workflow applications or function choreographies (FCs), which connect serverless functions by data- and control-flow, have gained considerable momentum recently to create more sophisticated applications as part of Function-as-a-Service (FaaS) platforms. Initial experimental analysis of the current support for FCs uncovered important weaknesses, including provider lock-in, and limited support for important data-flow and control-flow constructs. To overcome some of these weaknesses, we introduce the Abstract Function Choreography Language (AFCL) for describing FCs at a high-level of abstraction, which abstracts the function implementations from the developer. AFCL is a YAML-based language that supports a rich set of constructs to express advanced control-flow (e.g. parallelFor loops, parallel sections, dynamic loop iterations counts) and data-flow (e.g multiple input and output parameters of functions, DAG-based data-flow). We introduce data collections which can be distributed to loop iterations and parallel sections that may substantially reduce the delays for function invocations due to reduced data transfers between functions. We also support asynchronous functions to avoid delays due to blocking functions. AFCL supports properties (e.g. expected size of function input data) and constraints (e.g. minimize execution time) for the user to optionally provide hints about the behavior of functions and FCs and to control the optimization by the underlying execution environment. We implemented a prototype AFCL environment that supports AFCL as input language with multiple backends (AWS Lambda and IBM Cloud Functions) thus avoiding provider lock-in which is a common problem in serverless computing. We created two realistic FCs from two different domains and encoded them with AWS Step Functions, IBM Composer and AFCL. Experimental results demonstrate that our current implementation of the AFCL environment substantially outperforms AWS Step Functions and IBM Composer in terms of development effort, economic costs, and makespan.



中文翻译:

AFCL:一种用于无服务器工作流程规范的抽象函数编排语言

通过数据流和控制流连接无服务器功能的无服务器工作流应用程序或功能编排(FC),近来获得了可观的势头,以创建更复杂的应用程序作为功能即服务(FaaS)平台的一部分。对FC的当前支持的初步实验分析发现了重要的弱点,包括提供者锁定以及对重要的数据流和控制流结构的有限支持。为了克服其中的一些弱点,我们引入了抽象函数编排语言(AFCL)用于以较高的抽象级别描述FC,从开发人员那里抽象功能实现。AFCL是一种基于YAML的语言,它支持一组丰富的构造来表达高级控制流(例如,parallelFor循环,并行段,动态循环迭代计数)和数据流(例如,功能的多个输入和输出参数,基于DAG数据流)。我们介绍了可以分布到循环迭代和并行部分的数据集合,这些数据集合由于减少了函数之间的数据传输而可以大大减少函数调用的延迟。我们还支持异步功能,以避免由于阻塞功能而造成的延迟。AFCL支持属性(例如,功能输入数据的预期大小)和约束(例如,最大限度地减少执行时间),以便用户有选择地提供有关功能和FC行为的提示,并通过基础执行环境控制优化。我们实现了一个原型AFCL环境,该环境支持AFCL作为具有多个后端(AWS Lambda和IBM Cloud Functions)的输入语言,从而避免了提供商锁定,这是无服务器计算中常见的问题。我们从两个不同的域创建了两个现实的FC,并使用AWS Step Functions,IBM Composer和AFCL对其进行了编码。实验结果表明,在开发工作量,经济成本和制造能力方面,我们当前对AFCL环境的实施大大优于AWS Step Functions和IBM Composer。我们实现了一个原型AFCL环境,该环境支持AFCL作为具有多个后端(AWS Lambda和IBM Cloud Functions)的输入语言,从而避免了提供商锁定,这是无服务器计算中常见的问题。我们从两个不同的域创建了两个现实的FC,并使用AWS Step Functions,IBM Composer和AFCL对其进行了编码。实验结果表明,我们目前在AFCL环境中的实现在开发工作量,经济成本和制造能力方面都大大优于AWS Step Functions和IBM Composer。我们实现了一个原型AFCL环境,该环境支持AFCL作为具有多个后端(AWS Lambda和IBM Cloud Functions)的输入语言,从而避免了提供商锁定,这是无服务器计算中常见的问题。我们从两个不同的域创建了两个现实的FC,并使用AWS Step Functions,IBM Composer和AFCL对其进行了编码。实验结果表明,在开发工作量,经济成本和制造能力方面,我们当前对AFCL环境的实施大大优于AWS Step Functions和IBM Composer。IBM Composer和AFCL。实验结果表明,在开发工作量,经济成本和制造能力方面,我们当前对AFCL环境的实施大大优于AWS Step Functions和IBM Composer。IBM Composer和AFCL。实验结果表明,在开发工作量,经济成本和制造能力方面,我们当前对AFCL环境的实施大大优于AWS Step Functions和IBM Composer。

更新日期:2020-08-18
down
wechat
bug