中文

计算密集型 FaaS 函数的架构特定性能优化

分布式、并行与集群计算 2021-07-22 v1 性能

摘要

FaaS 允许将应用分解为在 FaaS 平台上执行的函数。FaaS 平台负责函数的资源供给。近来,运行数秒的计算密集型 FaaS 函数执行呈增长趋势。然而,由于商业 FaaS 服务的计费策略,这些函数的执行可能产生显著更高的成本。此外,由于执行函数的底层处理器架构被抽象化,这些函数的性能优化具有挑战性。结果,大多数 FaaS 函数使用通用于 x86-64 的预编译库,导致性能下降。在本文中,我们考察了 Google Cloud Functions (GCF) 的底层处理器架构,并确定其在 19 个可用 GCF 区域中的普遍程度。我们使用基于 LLVM 的 JIT 编译器 Numba 修改、适配并优化了三个用 Python 编写的计算密集型 FaaS 工作负载,并给出了在 GCF 上有关性能、内存消耗与成本的结果。实验结果显示,对 FaaS 函数的优化可使三个函数的性能提升 12.8 倍(几何平均)并平均节省 73.4% 成本。我们的结果表明针对特定架构优化 FaaS 函数非常重要。我们通过专门针对底层处理器架构指令集调优函数,实现了最高 1.79 倍的加速。

关键词

引用

@article{arxiv.2107.10008,
  title  = {Architecture-Specific Performance Optimization of Compute-Intensive FaaS Functions},
  author = {Mohak Chadha and Anshul Jindal and Michael Gerndt},
  journal= {arXiv preprint arXiv:2107.10008},
  year   = {2021}
}

备注

Extended version IEEE CLOUD 2021