Probabilistic Provisioning for Serverless Performance Guarantees
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud computing platforms face challenges in providing deterministic end-to-end performance guarantees for server-less applications due to heterogeneity of computational resources and traffic, leading to unpredictable application functionality, such as latency, which complicates resource allocation and user experience.
Innovation Solution
The system introduces a probabilistic provisioning mechanism that allows application developers to specify performance-based service level agreements, focusing on intent rather than implementation details, using a declarative language to manage and optimize function placement across distributed cloud environments, ensuring end-to-end performance guarantees without exposing underlying server configurations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If cloud platforms use probabilistic resource allocation for server-less applications, then resource utilization flexibility is improved, but end-to-end performance predictability deteriorates
Solution Approach 1:
The system performs preliminary actions by provisioning resources in advance based on probabilistic performance models before actual request processing. The orchestrator selects and provisions function instances based on predicted performance characteristics, ensuring that when requests arrive, the necessary computational resources are already allocated and ready, thereby achieving both flexible resource utilization and predictable performance guarantees.
2Manufacturing precision
If developers specify detailed resource allocation information for each function instance, then performance control precision is improved, but server-less simplicity deteriorates
Solution Approach 1:
The system introduces an intermediary orchestrator that acts as a mediator between the developer's high-level performance requirements and the underlying complex resource allocation mechanisms. The orchestrator translates simple performance guarantees into detailed resource provisioning decisions, handling the complexity of selecting and provisioning function instances with appropriate resources without requiring developers to specify granular allocation details.
3Loss of information
If cloud platforms provide statistical performance information, then transparency is improved, but actionable performance guarantees deteriorate
Solution Approach 1:
The system changes the parameter representation from aggregate statistical information to instance-level performance characteristics. Instead of providing only overall statistical summaries, the system tracks and provides performance information at the level of individual function instances, enabling both transparency about actual performance and actionable guarantees by identifying specific instances that can meet service level objectives.
Data Source
AI summary
A method for receiving, in an application orchestrator, a request for executing an application. The method includes identifying a function sequence to complete the application, each function in the function sequence is executed in one instance, and identifying an instance chain of the functions to complete the application, wherein the instance chain includes an instance for each function in the function sequence. The method includes tracking a performance of each instance for each function in the chain, and selecting an application execution route based on the performance that includes the instance chain of the functions to complete the application. The method includes allocating a server resource to each instance for each function and modifying the application execution route based on a performance and a performance policy. A system and a computer readable medium storing instructions to perform the above method are also provided.


