Architecture-Specific Performance Optimization of Compute-Intensive FaaS Functions

07/21/2021
by   Mohak Chadha, et al.
0

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 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.

READ FULL TEXT

page 1

page 5

research
12/10/2020

Serverless Computing: Behind the Scenes of Major Platforms

Serverless computing offers an event driven pay-as-you-go framework for ...
research
04/21/2020

PMEvo: Portable Inference of Port Mappings for Out-of-Order Processors by Evolutionary Optimization

Achieving peak performance in a computer system requires optimizations i...
research
10/19/2020

Virtual Secure Platform: A Five-Stage Pipeline Processor over TFHE

We present Virtual Secure Platform (VSP), the first comprehensive platfo...
research
05/18/2022

Transparent Serverless execution of Python multiprocessing applications

Access transparency means that both local and remote resources are acces...
research
05/29/2022

Methodologies, Workloads, and Tools for Processing-in-Memory: Enabling the Adoption of Data-Centric Architectures

The increasing prevalence and growing size of data in modern application...
research
03/12/2021

Performance Exploration of Virtualization Systems

Virtualization has gained astonishing popularity in recent decades. It i...
research
10/02/2018

Platform-Agnostic Steal-Time Measurement in a Guest Operating System

Steal time is a key performance metric for applications executed in a vi...

Please sign up or login with your details

Forgot password? Click here to reset