Adaptive Cloud Task Scheduling for Heterogeneous Resource Sizes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Inefficient distribution of tasks to computing resources in cloud systems leads to delayed workloads and poor software performance, as well as inefficient use of resources, with scaling limitations.
Innovation Solution
An adaptive high-performance task distribution system that dynamically assigns tasks to computing resources based on their sizes, using a tag processor to estimate and adjust task execution times, and iteratively refines scheduling to ensure tasks complete at similar times across resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If tasks are distributed across computing resources without adaptive scheduling, then the system can handle workloads, but task completion times vary significantly causing workload delays and poor performance
Solution Approach 1:
The system dynamically adjusts task scheduling based on real-time computing resource performance metrics. The tag processor continuously monitors execution times and updates task tags to reflect current resource capabilities, enabling adaptive distribution that responds to changing system conditions rather than using static allocation rules.
Solution Approach 2:
The system implements a feedback loop where the tag processor receives actual task execution times from computing resources, compares them against expected performance, and uses this information to refine future task assignments. This closed-loop control ensures that scheduling decisions are continuously optimized based on observed resource performance.
2Productivity
If cloud systems scale up computing resources to handle heavier workloads, then processing capacity increases, but resource utilization becomes inefficient and scaling becomes unnecessary
Solution Approach 1:
The system changes the parameter of task assignment by introducing dynamic tags that encode optimal resource matching information. Instead of using fixed resource allocation rules, the system adjusts task-resource pairing parameters based on monitored performance data, enabling more efficient utilization of existing resources before scaling becomes necessary.
Solution Approach 2:
The tag processor performs preliminary analysis of task characteristics and computing resource capabilities before task assignment. By pre-calculating optimal matches based on historical and real-time performance data, the system ensures efficient resource utilization from the outset, preventing both underutilization and unnecessary scaling.
3Adaptability or versatility
If computing resources of different sizes are used, then the system can handle diverse workload requirements, but determining optimal task-resource matching becomes complex
Solution Approach 1:
The tag processor acts as an intermediary that simplifies the complex matching problem between diverse tasks and heterogeneous resources. It translates resource characteristics and task requirements into standardized tags that encode optimal assignment information, reducing the complexity of the matching process while maintaining adaptability to different resource sizes and capabilities.
Data Source
AI summary
Methods, systems, and computer-readable storage media for determining a set of estimated task execution times based on a set of task execution times, each estimated task execution time being calculated for a computing resource size that is different than a computing resource size of a corresponding task execution time in the set of task execution times, assigning a tag to each task in the set of tasks, each tag indicating a computing resource size that the respective tasks is to be executed by, providing the set of tasks and assigned tags for execution of the set of tasks in an iteration within the cloud system, and receiving actual task execution times from computing resources, each actual task execution time indicating an actual time required by a respective computing resource to execute a respective task.


