Task Distributor Isolates Scheduler Partitions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Highly available computing systems face challenges in mitigating the impact of physical and software failures, as well as resource management failures, which can lead to cascading failures when a system crashes or becomes corrupted, affecting overall system availability and performance.
Innovation Solution
The computing environment is divided into compartmentalized partitions with independent schedulers, allowing tasks to be distributed and resources to be allocated within each partition, isolating software failures and preventing the propagation of corrupted state information across partitions, thus decoupling scheduling domain size from software failure domains and enabling scaling while maintaining availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the scheduling system is divided into compartmentalized partitions, then software failures are isolated and cascading failures are prevented, but system complexity increases
Solution Approach 1:
The scheduling system is divided into multiple independent scheduler partitions, each managing its own state and resources. This segmentation isolates failures within individual partitions, preventing cascading failures across the entire system. Each partition can fail independently while others continue to operate, directly improving system availability and reliability.
2Adaptability or versatility
If the scheduling domain size is increased to manage more resources, then system scalability improves, but the impact of software failures increases
Solution Approach 1:
By segmenting the scheduling domain into multiple partitions, the system can scale the total scheduling domain size while limiting the impact scope of failures to individual partitions. This allows the system to manage more resources across multiple partitions without increasing the harmful impact of software failures, as each partition remains isolated.
Solution Approach 2:
A task distributor acts as an intermediary between task sources and scheduler partitions. The distributor receives tasks and distributes them to appropriate partitions, isolating the scheduling domain from direct exposure to failure propagation. This intermediary layer enables scaling while protecting against the spread of failures.
3Productivity
If load balancing techniques are used to distribute tasks, then resource utilization improves, but difficulty in maintaining high availability increases
Solution Approach 1:
The system uses segmented scheduler partitions that independently manage their own task queues and resource allocations. This segmentation enables load balancing across partitions while simplifying availability maintenance, as failures in one partition do not affect others. Each partition can be independently monitored, maintained, or replaced without impacting the entire system.
Data Source
AI summary
A system for executing tasks in a computing resource environment is disclosed. Variations of a system may include two or more scheduler partitions associated with respective schedulers, scheduler state information, and respective plurality of computing resources. Variations of a system may include a task distributor that distributes tasks to the scheduler partitions. In some variations, one scheduler is configured such that, responsive to the scheduler partition receiving a task from the distributor, that scheduler allocates a computing resource for execution of that task and updates its scheduler state information accordingly. In some variations, the task distributor is configured such that, if one scheduler is in a failed or corrupted state, the task distributor stops distributing tasks to that scheduler partition and prevents that scheduler state information from propagation to, or access by, other scheduler partitions.


