Selective Candidate-Server Pruning for Faster Task Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing load-balancing methods face inefficiencies due to overburdening of queuing instances in vertical scaling and indiscriminate task assignment leading to overloaded or underutilized servers, which can increase execution times and resource wastage.
Innovation Solution
Implementing a system that selectively prunes candidate servers based on recent task completion failures, CPU utilization thresholds, and computational task counts to identify qualified servers for task assignment, enabling horizontal scaling and optimizing resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If indiscriminate task assignment is used in load-balancing, then task distribution is simplified, but server overload or underutilization occurs increasing execution times and resource wastage
Solution Approach 1:
The system performs preliminary evaluation of candidate servers by monitoring their recent task completion history and current workload status before task assignment. This preliminary action filters out servers that have recently failed tasks or are currently overloaded, ensuring that only qualified servers are selected for task execution, thereby reducing execution times while maintaining operational simplicity
Solution Approach 2:
The load-balancing system implements feedback mechanisms by continuously monitoring server performance metrics including task completion status, failure rates, and current workload. This feedback information is used to dynamically adjust server selection, preventing assignment to overloaded or malfunctioning servers, thus optimizing execution time without complicating the assignment process
2Quantity of substance
If vertical scaling is used to handle increased task load, then system capacity increases, but queuing instances become overburdened
Solution Approach 1:
The system segments the load-balancing function by introducing separate worker instances that handle task execution, distinct from the queuing instances that manage task distribution. This segmentation allows queuing instances to focus solely on task management while worker instances handle execution, preventing overburdening of queuing instances while maintaining increased system capacity through horizontal scaling
Solution Approach 2:
The system transitions from vertical scaling (adding more capabilities to existing queuing instances) to horizontal scaling by introducing a new dimension of worker instances. This dimensional change allows the system to handle increased task loads by adding more worker nodes rather than overloading existing queuing instances, thereby maintaining system capacity while reducing complexity
3Productivity
If all candidate servers are considered for task assignment, then server utilization is maximized, but malfunctioning servers receive tasks reducing overall reliability
Solution Approach 1:
The system performs preliminary filtering of candidate servers by monitoring their recent task completion history and identifying servers that have recently failed tasks. This preliminary action removes malfunctioning servers from the candidate pool before task assignment, ensuring that only reliable servers are selected, thereby maintaining high server utilization while improving task completion reliability
Solution Approach 2:
The load-balancing system implements feedback mechanisms by continuously monitoring server performance and identifying patterns of task completion failures. This feedback information is used to dynamically adjust the candidate server pool, excluding servers showing signs of malfunction while maintaining inclusion of healthy servers, thus optimizing both utilization and reliability
Data Source
AI summary
In some implementations, a load-balancing system may identify one or more computational tasks. The load-balancing system may identify a plurality of candidate servers in a load-balancing server pool. The load-balancing system may identify one or more servers by selectively pruning the plurality of candidate servers. The load-balancing system may assign the one or more computational tasks to the one or more servers.


