ARM64 for Serverless Computing: Performance Modeling and Analysis to Understand Implications of Architecture Adoption
Loading...
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
The recent availability of ARM64 architectures on serverless computing platforms presents opportunities and challenges. To encourage the adoption of ARM64 processors, AWS discounts the price for compute time by 20% vs. Function-as-a-Service (FaaS) processors. Before adopting ARM64 processors for serverless functions, understanding their performance implications can help developers better plan and prioritize codebase migration to minimize refactoring and conversion efforts. ARM64 processors also predominate edge devices. A better understanding of ARM64 function runtime can inform workload deployments across edge, fog, and cloud infrastructure. To help developers understand the implications of adopting ARM64 architectures, this thesis addresses the critical need to understand and accurately predict serverless function runtimes on ARM64 processors based on profiling on x86. As cloud computing evolves, with ARM64 processors gaining prominence for their efficiency and performance, there is a pressing need to bridge the knowledge gap in runtime behavior between ARM64 and traditional x86 64 processors. Our research helps to fill this void by offering insights and methodologies crucial for developers and organizations navigating the transition to ARM-based serverless computing. In this thesis, we investigate efficacy of cross-architecture performance models for serverless FaaS platforms. Specifically, we create and evaluate models that predict serverless function runtime for functions executed on ARM64 processors, by utilizing re- source utilization profiling data from function execution on x86 64 processors. We train regression based function-specific, and also generalized performance models using Linux CPU 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. This research has the potential to contribute to the improvement of serverless function performance and optimization in cloud computing environments.
Description
Thesis (Master's)--University of Washington, 2024
