Multi-Cloud Scheduler Using Historical Application Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional schedulers in multi-cloud systems rely on static or transient information, which often fail to achieve optimal scheduling results due to varying performance and inability to predict application completion times, especially for applications with dynamic workloads or long-running tasks.
Innovation Solution
A computer-implemented method that collects and utilizes dynamic history information from multiple cloud systems to schedule applications based on matching criteria such as workload, running duration, and user requirements, with the option to select a second cloud system randomly when history information is lacking, and updates history information dynamically for improved scheduling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If static information or currently obtained transient information is used for scheduling applications based on fixed rules, then the scheduling process is simple and fast, but the scheduling results cannot meet user requirements and achieve good scheduling results
Solution Approach 1:
The system performs preliminary actions by collecting and storing historical running information of applications across multiple cloud systems before actual scheduling decisions are needed. This historical data includes execution times, resource consumption, and performance metrics, enabling the scheduler to make informed decisions without complex real-time analysis.
Solution Approach 2:
The system implements feedback mechanisms by continuously updating historical information based on actual application running results. The scheduler uses this feedback loop to refine its predictions and improve scheduling accuracy over time, adapting to changing cloud system performances and application characteristics.
2Measurement precision
If history information is collected and used for matching cloud systems, then scheduling accuracy is improved, but the system complexity and data processing requirements increase
Solution Approach 1:
The system creates simplified copies of complex cloud system behaviors through historical data representations. Instead of modeling complex cloud system dynamics in real-time, the scheduler uses historical running information as proxies, matching applications to cloud systems based on patterns observed in past executions.
Solution Approach 2:
The system changes parameters by transforming raw historical data into meaningful scheduling metrics. Historical information is processed to extract key parameters such as average execution time, resource utilization patterns, and performance trends, which are then used for matching applications to appropriate cloud systems.
3Adaptability or versatility
If random selection is used when history information is lacking, then the system can handle new applications without extensive history, but scheduling optimization is reduced
Solution Approach 1:
The system applies partial optimization by using random selection only when necessary (when historical information is insufficient) rather than always attempting full optimization. This allows the system to handle new applications with limited history while maintaining optimization for applications with sufficient historical data.
Solution Approach 2:
The scheduling approach dynamically adapts based on the availability of historical information. For applications with sufficient history, the system uses data-driven matching; for new applications or those with insufficient history, it transitions to random or exploratory selection, thereby balancing adaptability with optimization.
Data Source
AI summary
A computer-implemented method comprises obtaining information of an application to be run by one of a plurality of cloud systems, obtaining history information resulted from the plurality of cloud systems running the application, in response to presence of the history information resulted from each of the plurality of cloud systems, scheduling the application to a first cloud system whose history information is matched with the obtained information for running the application and in response to lack of the history information resulted from at least one of the plurality of cloud systems, scheduling the application to a second cloud system of the at least one cloud system.


