当前位置:
X-MOL 学术
›
arXiv.cs.PF
›
论文详情
Our official English website, www.x-mol.net, welcomes your
feedback! (Note: you will need to create a separate account there.)
Architecture-Specific Performance Optimization of Compute-Intensive FaaS Functions
arXiv - CS - Performance Pub Date : 2021-07-21 , DOI: arxiv-2107.10008 Mohak Chadha, Anshul Jindal, Michael Gerndt
arXiv - CS - Performance Pub Date : 2021-07-21 , DOI: arxiv-2107.10008 Mohak Chadha, Anshul Jindal, Michael Gerndt
FaaS allows an application to be decomposed into functions that are executed
on a FaaS platform. The FaaS platform is responsible for the resource
provisioning of the functions. Recently, there is a growing trend towards the
execution of compute-intensive FaaS functions that run for several seconds.
However, due to the billing policies followed by commercial FaaS offerings, the
execution of these functions can incur significantly higher costs. Moreover,
due to the abstraction of underlying processor architectures on which the
functions are executed, the performance optimization of these functions is
challenging. As a result, most FaaS functions use pre-compiled libraries
generic to x86-64 leading to performance degradation. In this paper, we examine
the underlying processor architectures for Google Cloud Functions (GCF) and
determine their prevalence across the 19 available GCF regions. We modify,
adapt, and optimize three compute-intensive FaaS workloads written in Python
using Numba, a JIT compiler based on LLVM, and present results wrt performance,
memory consumption, and costs on GCF. Results from our experiments show that
the optimization of FaaS functions can improve performance by 12.8x (geometric
mean) and save costs by 73.4% on average for the three functions. Our results
show that optimization of the FaaS functions for the specific architecture is
very important. We achieved a maximum speedup of 1.79x by tuning the function
especially for the instruction set of the underlying processor architecture.
中文翻译:
计算密集型 FaaS 功能的特定架构性能优化
FaaS 允许将应用程序分解为在 FaaS 平台上执行的功能。FaaS平台负责功能的资源提供。最近,执行运行几秒钟的计算密集型 FaaS 功能的趋势越来越大。然而,由于商业 FaaS 产品遵循的计费政策,这些功能的执行可能会产生更高的成本。此外,由于执行功能的底层处理器架构的抽象,这些功能的性能优化具有挑战性。因此,大多数 FaaS 功能使用 x86-64 通用的预编译库,从而导致性能下降。在本文中,我们检查了 Google Cloud Functions (GCF) 的底层处理器架构,并确定了它们在 19 个可用 GCF 区域中的普遍性。我们使用 Numba(一种基于 LLVM 的 JIT 编译器)修改、调整和优化了三个用 Python 编写的计算密集型 FaaS 工作负载,并展示了 GCF 上的性能、内存消耗和成本结果。我们的实验结果表明,FaaS 功能的优化可以将三个功能的性能提高 12.8 倍(几何平均值)并平均节省 73.4% 的成本。我们的结果表明,针对特定架构优化 FaaS 功能非常重要。通过特别针对底层处理器架构的指令集调整功能,我们实现了 1.79 倍的最大加速。并使用基于 LLVM 的 JIT 编译器 Numba 优化用 Python 编写的三个计算密集型 FaaS 工作负载,并在 GCF 上展示性能、内存消耗和成本的结果。我们的实验结果表明,FaaS 功能的优化可以将三个功能的性能提高 12.8 倍(几何平均值)并平均节省 73.4% 的成本。我们的结果表明,针对特定架构优化 FaaS 功能非常重要。通过特别针对底层处理器架构的指令集调整功能,我们实现了 1.79 倍的最大加速。并使用基于 LLVM 的 JIT 编译器 Numba 优化用 Python 编写的三个计算密集型 FaaS 工作负载,并在 GCF 上展示性能、内存消耗和成本的结果。我们的实验结果表明,FaaS 功能的优化可以将三个功能的性能提高 12.8 倍(几何平均值)并平均节省 73.4% 的成本。我们的结果表明,针对特定架构优化 FaaS 功能非常重要。通过特别针对底层处理器架构的指令集调整功能,我们实现了 1.79 倍的最大加速。我们的实验结果表明,FaaS 功能的优化可以将三个功能的性能提高 12.8 倍(几何平均值)并平均节省 73.4% 的成本。我们的结果表明,针对特定架构优化 FaaS 功能非常重要。通过特别针对底层处理器架构的指令集调整功能,我们实现了 1.79 倍的最大加速。我们的实验结果表明,FaaS 功能的优化可以将三个功能的性能提高 12.8 倍(几何平均值)并平均节省 73.4% 的成本。我们的结果表明,针对特定架构优化 FaaS 功能非常重要。通过特别针对底层处理器架构的指令集调整功能,我们实现了 1.79 倍的最大加速。
更新日期:2021-07-22
中文翻译:
计算密集型 FaaS 功能的特定架构性能优化
FaaS 允许将应用程序分解为在 FaaS 平台上执行的功能。FaaS平台负责功能的资源提供。最近,执行运行几秒钟的计算密集型 FaaS 功能的趋势越来越大。然而,由于商业 FaaS 产品遵循的计费政策,这些功能的执行可能会产生更高的成本。此外,由于执行功能的底层处理器架构的抽象,这些功能的性能优化具有挑战性。因此,大多数 FaaS 功能使用 x86-64 通用的预编译库,从而导致性能下降。在本文中,我们检查了 Google Cloud Functions (GCF) 的底层处理器架构,并确定了它们在 19 个可用 GCF 区域中的普遍性。我们使用 Numba(一种基于 LLVM 的 JIT 编译器)修改、调整和优化了三个用 Python 编写的计算密集型 FaaS 工作负载,并展示了 GCF 上的性能、内存消耗和成本结果。我们的实验结果表明,FaaS 功能的优化可以将三个功能的性能提高 12.8 倍(几何平均值)并平均节省 73.4% 的成本。我们的结果表明,针对特定架构优化 FaaS 功能非常重要。通过特别针对底层处理器架构的指令集调整功能,我们实现了 1.79 倍的最大加速。并使用基于 LLVM 的 JIT 编译器 Numba 优化用 Python 编写的三个计算密集型 FaaS 工作负载,并在 GCF 上展示性能、内存消耗和成本的结果。我们的实验结果表明,FaaS 功能的优化可以将三个功能的性能提高 12.8 倍(几何平均值)并平均节省 73.4% 的成本。我们的结果表明,针对特定架构优化 FaaS 功能非常重要。通过特别针对底层处理器架构的指令集调整功能,我们实现了 1.79 倍的最大加速。并使用基于 LLVM 的 JIT 编译器 Numba 优化用 Python 编写的三个计算密集型 FaaS 工作负载,并在 GCF 上展示性能、内存消耗和成本的结果。我们的实验结果表明,FaaS 功能的优化可以将三个功能的性能提高 12.8 倍(几何平均值)并平均节省 73.4% 的成本。我们的结果表明,针对特定架构优化 FaaS 功能非常重要。通过特别针对底层处理器架构的指令集调整功能,我们实现了 1.79 倍的最大加速。我们的实验结果表明,FaaS 功能的优化可以将三个功能的性能提高 12.8 倍(几何平均值)并平均节省 73.4% 的成本。我们的结果表明,针对特定架构优化 FaaS 功能非常重要。通过特别针对底层处理器架构的指令集调整功能,我们实现了 1.79 倍的最大加速。我们的实验结果表明,FaaS 功能的优化可以将三个功能的性能提高 12.8 倍(几何平均值)并平均节省 73.4% 的成本。我们的结果表明,针对特定架构优化 FaaS 功能非常重要。通过特别针对底层处理器架构的指令集调整功能,我们实现了 1.79 倍的最大加速。