Predicting ARM64 Serverless Functions Runtime: Leveraging function profiling for generalized performance models
Xinghan Chen, Robert Cordingly, Ling‐Hong Hung, Wes Lloyd · 2024
In this paper, we investigate efficacy of cross-architecture performance models for serverless Function-as-a-Service (FaaS) platforms. Specifically, we create and evaluate models that predict serverless function runtime for functions executed on ARM64 processors, by utilizing resource utilization profiling data from function execution on x86_64 processors. We train regression based function-specific, and also generalized performance models using Linux CPU time accounting profiling data. We evaluate accuracy of serverless function runtime predictions for both seen and unseen functions, those not included as training data. We leveraged 18 distinct serverless function workloads, including 11 seen and 7 unseen, in total encompassing over 144,000 serverless function calls. We evaluate three different generalized performance models for unseen predictions: All-in-one, where all training data is combined into one model, Resource-bound, where separate models are trained for CPU vs. I/O bound functions, and ARM-speed models, where three separate models are trained based on ARM64 relative speed vs. x86_64. Using a separate classification model, we automate selection of the appropriate ARM-speed model to make predictions. For seen workloads on ARM64 processors, we predict function runtime with a mean absolute percentage error (MAPE) of only ∼1.17. Using our ARM-speed generalized performance models, we predict function runtime with MAPE of only ∼10.29 for unseen workloads, and ∼3.04 for seen workloads. Our performance modeling techniques can be leveraged to support creating a broadly applicable tool that predicts serverless function runtime on ARM64 processors by profiling unseen functions on x86_64 to provide inference data for model inputs.