OS-Agnostic Task Scheduler for Hyper-Converged Infrastructure
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Hyper Converged Infrastructure systems lack a standard operating system abstraction, leading to inefficiencies in task scheduling across nodes with different operating systems, which complicates resource management and reduces system performance.
Innovation Solution
An operating system agnostic task scheduler runs on a top-of-rack switch, utilizing a system abstraction layer on each node to provide a common API for resource access, hiding hardware and OS details, and enabling efficient task scheduling across nodes with varying OS and hardware configurations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If nodes with different operating systems are used to increase system capacity and flexibility, then adaptability is improved, but task scheduling complexity increases due to lack of standard abstraction
Solution Approach 1:
The patent introduces an operating system agnostic system abstraction layer as an intermediary between the task scheduler and nodes with different operating systems. This abstraction layer provides standardized interfaces that hide OS-specific details, allowing the task scheduler to operate uniformly across diverse nodes without directly interacting with different OS implementations, thereby resolving the scheduling complexity issue while maintaining adaptability.
Solution Approach 2:
The system is segmented into distinct functional layers: the task scheduler layer, the operating system agnostic system abstraction layer, and the node execution layer. This segmentation allows each layer to operate independently with well-defined interfaces, reducing the complexity of coordinating tasks across diverse operating systems by isolating OS-specific variations to the lower layers.
2Adaptability or versatility
If dynamic node addition and removal is enabled to improve system scalability, then adaptability is improved, but resource management complexity increases
Solution Approach 1:
The operating system agnostic system abstraction layer serves as a mediator that manages resource accounting between the task scheduler and dynamically added or removed nodes. It provides a standardized interface for resource queries and updates, allowing nodes to be added or removed without requiring changes to the task scheduler logic, thus simplifying resource management during dynamic scaling operations.
Solution Approach 2:
The system implements dynamic resource accounting that automatically adapts to node additions and removals. The abstraction layer continuously monitors and updates resource availability information, allowing the task scheduler to dynamically adjust task assignments based on current system state without manual reconfiguration or complex management overhead.
3Ease of operation
If operating system specific interfaces are used to simplify resource access, then ease of operation is improved, but adaptability deteriorates when different operating systems are involved
Solution Approach 1:
The operating system agnostic system abstraction layer acts as an intermediary that translates between standardized resource access interfaces and operating system specific implementations. This allows the task scheduler to use simple, unified interfaces for resource access while the abstraction layer handles the complexity of mapping these interfaces to the specific operating systems running on different nodes, thereby maintaining both ease of operation and adaptability.
Solution Approach 2:
The system implements a universal resource access interface through the abstraction layer that can operate across multiple operating systems. This universal interface provides consistent methods for querying and updating resource availability, while the underlying implementation adapts to different operating systems, allowing the same interface to serve multiple OS platforms without sacrificing simplicity or compatibility.
Data Source
AI summary
An operating system agnostic task scheduler executes on a top of the rack device. The task scheduler receives from each of multiple nodes an operating system agnostic description of the node's computational resource capability and availability. The task scheduler uses the received information to maintain a resource accounting for each node. Requests to execute tasks are received by the task scheduler from external sources. The task scheduler matches specific tasks to specific nodes, based on the resource accounting. In response to matching a given task to a specific one of the nodes, the scheduler assigns the task to the node, and the task executes thereon. The task scheduler updates the maintained accounting based on computational resources allocated to the task by the node to which it was assigned.


