Distributed Resource Scheduling Layer for Dynamic Virtual Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional resource scheduling techniques in information processing systems, such as those using Mesos and Fenzo frameworks, face inefficiencies due to localized scheduling, static resource allocation, lack of live migration capabilities, and inability to dynamically adjust to changing client application loads, leading to suboptimal utilization of virtual resources.
Innovation Solution
A distributed resource scheduling layer is introduced, which registers with a resource abstraction layer and allows client applications to register as processing tasks, enabling dynamic allocation and live migration of virtual resources across multiple processing devices, and switching between scheduling algorithms based on user input and load conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional localized scheduling techniques are used in resource abstraction frameworks like Mesos and Fenzo, then the system structure remains simple and manageable, but resource utilization becomes suboptimal and the system cannot dynamically adapt to changing client application loads
Solution Approach 1:
The patent segments the scheduling system into multiple independent scheduling entities distributed across different nodes in the framework. Each scheduling entity operates autonomously to manage resources locally, eliminating the need for a single complex centralized scheduler while enabling dynamic adaptation to changing loads through distributed decision-making
Solution Approach 2:
The patent implements dynamic scheduling by enabling scheduling entities to adjust their behavior based on real-time load conditions and resource availability. The system transitions from static resource allocation to dynamic allocation where scheduling decisions are continuously adapted based on changing client application demands and system state
2Productivity
If static resource allocation is implemented in conventional frameworks, then the scheduling system is easier to implement and manage, but resource utilization efficiency deteriorates under varying load conditions
Solution Approach 1:
The patent implements feedback mechanisms where scheduling entities continuously monitor resource utilization metrics and client application performance. Based on this feedback, the system dynamically adjusts resource allocation decisions to optimize utilization efficiency, transitioning from static to adaptive allocation that responds to actual system conditions
Solution Approach 2:
The patent enables dynamic changes in allocation parameters based on system state. Scheduling entities adjust resource allocation parameters such as resource shares, priorities, and allocation rates in response to changing loads, enabling efficient resource utilization without requiring complex manual reconfiguration
3Adaptability or versatility
If conventional frameworks lack live migration capabilities, then the system architecture remains simpler, but application mobility and load balancing flexibility are limited
Solution Approach 1:
The patent introduces intermediary components that facilitate live migration of applications between different nodes in the framework. These intermediary scheduling entities coordinate the migration process, managing resource transfers and application state movements without requiring complex direct peer-to-peer communication between all system components
4Productivity
If centralized scheduling is used in conventional resource abstraction frameworks, then the scheduling logic is centralized and easier to control, but the system becomes less flexible and cannot efficiently handle distributed resource allocation across multiple nodes
Solution Approach 1:
The patent segments the centralized scheduling function into multiple distributed scheduling entities deployed across different nodes. Each entity manages local resources independently while coordinating with others through standardized interfaces, enabling efficient distributed resource allocation without requiring a single point of control that would become a bottleneck
Data Source
AI summary
An apparatus in one embodiment comprises a processing platform that includes a plurality of processing devices each comprising a processor coupled to a memory. The processing platform is configured to implement virtual resources for use by client applications. The processing platform is further configured with a multi-layered architecture including at least a client applications layer, a distributed resource scheduling layer, a resource abstraction layer and a resource layer comprising the virtual resources. The distributed resource scheduling layer registers as a framework with the resource abstraction layer, and the client applications register as respective processing tasks with the distributed resource scheduling layer. The distributed resource scheduling layer controls allocation of the virtual resources of the resource layer to the client applications. The virtual resources illustratively comprise respective containers, respective virtual machines, or combinations thereof.


