Cluster Scheduler Verticals for Concurrent Task Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional scheduler designs are monolithic, making it difficult to allow multiple concurrent schedulers to operate effectively, leading to issues like head-of-line blocking and complexity in managing tasks across large computing clusters.
Innovation Solution
The use of multiple scheduler verticals that operate independently, sharing a common state and employing optimistic concurrency control to schedule events and manage conflicts, allowing for concurrent execution and reducing the impact of disruptions on scheduled tasks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a monolithic scheduler design is used, then scheduling decisions are centralized and consistent, but head-of-line blocking occurs and concurrent execution is difficult
Solution Approach 1:
The scheduler is divided into multiple independent scheduler verticals, each capable of making scheduling decisions autonomously. This segmentation eliminates the single point of contention in monolithic designs, allowing concurrent execution while maintaining scheduling consistency through shared state and conflict resolution protocols.
2Productivity
If multiple concurrent schedulers are allowed, then productivity and resource allocation efficiency improve, but complexity in managing conflicts and maintaining state increases
Solution Approach 1:
Multiple scheduler verticals share a common state representation and use standardized conflict resolution protocols. This merging of state management and conflict resolution mechanisms reduces the overall complexity compared to having completely independent schedulers, while still allowing concurrent operation and improved resource allocation efficiency.
3Ease of manufacture
If planned disruptions are scheduled, then necessary maintenance and updates can be performed, but impact on scheduled tasks increases
Solution Approach 1:
The system proactively schedules planned disruptions in advance, allowing affected tasks to be identified and rescheduled before the disruption occurs. This preliminary action minimizes the impact on task completion reliability by providing advance notice and opportunity for mitigation.
Solution Approach 2:
The scheduler monitors the impact of planned disruptions on scheduled tasks and dynamically adjusts task assignments. This feedback mechanism ensures that maintenance activities are performed while minimizing disruption to task completion, balancing ease of manufacture with task reliability.
Data Source
AI summary
Multiple scheduler verticals can allocate tasks to resources that are shared by the scheduler verticals. Information regarding a state of each resource may be stored in memory accessible by the multiple scheduler verticals, and a processor updates the information. The scheduler verticals schedule events to be performed by any of the resources, and submit updates to reflect the scheduled events in the information. In the event of conflicting events, an update corresponding to only one of the conflicting events is committed. Moreover, disruptions may be preplanned and scheduled so as to minimize impact on scheduled tasks.


