IEEE Transactions on Cloud Computing · 2024 · 10 citations · 30 references
ComputingComputer EngineeringComputer ScienceEmbedded SystemsHardware-software Co-designServerless ComputingCold Start PerformancePerformance OptimizationServerless Application DesignServerless ArchitectureServerless Platform ArchitectureServerless Runtime ManagementApplication Performance OptimizationCold Start MitigationExecution ModelFunction CompositionFunction DecompositionOverhead ReductionServerless Performance OptimizationWorkload Partitioning
The Function-as-a-Service (FaaS) execution model increases developer productivity by removing operational concerns such as managing hardware or software runtimes. Developers, however, still need to partition their applications into FaaS functions, which is error-prone and complex: Encapsulating only the smallest logical unit of an application as a FaaS function maximizes flexibility and reusability. Yet, it also leads to invocation overheads, additional cold starts, and may increase cost due to double billing during synchronous invocations. Conversely, deploying an entire application as a single FaaS function avoids these overheads but decreases flexibility. In this paper we present <sc xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Fusionize</small>, a framework that automates optimizing for this trade-off by automatically fusing application code into an optimized multi-function composition. Developers only need to write fine-grained application code following the serverless model, while <sc xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Fusionize</small> automatically fuses different parts of the application into FaaS functions, manages their interactions, and configures the underlying infrastructure. At runtime, it monitors application performance and adapts it to minimize request-response latency and costs. Real-world use cases show that <sc xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Fusionize</small> can improve the deployment artifacts of the application, reducing both median request-response latency and cost of an example IoT application by more than 35%.
30
The rise of serverless computing
Paul Castro, Vatche Ishakian, Vinod Muthusamy et al. · Communications of the ACM · 2019 · 336 citations
BATCH: Machine Learning Inference Serving on Serverless Platforms with Adaptive Batching
Ahsan Ali, Riccardo Pinciroli, Feng Yan et al. · 2020 · 170 citations
The serverless trilemma: function composition for serverless computing
Ioana Baldini, Perry Cheng, Stephen J. Fink et al. · 2017 · 129 citations