TY - GEN
T1 - Architecture-Specific Performance Optimization of Compute-Intensive FaaS Functions
AU - Chadha, Mohak
AU - Jindal, Anshul
AU - Gerndt, Michael
N1 - Publisher Copyright:
© 2021 IEEE.
PY - 2021/9
Y1 - 2021/9
N2 - 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.
AB - 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.
KW - Function-As-A-service (FaaS)
KW - LLVM
KW - Numba
KW - cost
KW - heterogeneity
KW - performance optimization
KW - serverless computing
UR - http://www.scopus.com/inward/record.url?scp=85119365253&partnerID=8YFLogxK
U2 - 10.1109/CLOUD53861.2021.00062
DO - 10.1109/CLOUD53861.2021.00062
M3 - Conference contribution
AN - SCOPUS:85119365253
T3 - IEEE International Conference on Cloud Computing, CLOUD
SP - 478
EP - 483
BT - Proceedings - 2021 IEEE 14th International Conference on Cloud Computing, CLOUD 2021
A2 - Ardagna, Claudio Agostino
A2 - Chang, Carl K.
A2 - Daminai, Ernesto
A2 - Ranjan, Rajiv
A2 - Wang, Zhongjie
A2 - Ward, Robert
A2 - Zhang, Jia
A2 - Zhang, Wensheng
PB - IEEE Computer Society
T2 - 14th IEEE International Conference on Cloud Computing, CLOUD 2021
Y2 - 5 September 2021 through 11 September 2021
ER -