Supporting Node Allocates HA Devices Across Cloud Execution Nodes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud systems face challenges in scheduling processes due to uneven distribution of hardware acceleration devices, where execution nodes may lack sufficient HA devices despite having adequate memory, or vice versa, leading to inefficient resource allocation.
Innovation Solution
A supporting node allocates HA devices from one execution node to another within a cluster, managing a list of available HA devices to create the illusion of shared resources, allowing the process scheduling node to schedule processes even when resources are unevenly distributed, by reducing the available count and confirming successful allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the main orchestrator schedules processes based on local resource availability at each execution node, then the scheduling decision is simple and fast, but hardware acceleration devices cannot be utilized efficiently when they are unevenly distributed across nodes
Solution Approach 1:
A supporting node is introduced as an intermediary between execution nodes and the main orchestrator. This supporting node aggregates hardware acceleration device resources from multiple execution nodes and presents them as locally available to the first execution node, enabling the orchestrator to make scheduling decisions based on aggregated resource information without complex inter-node coordination.
Solution Approach 2:
The supporting node creates a virtual copy of the aggregated hardware acceleration device resources from multiple execution nodes. This virtual resource pool is presented to the first execution node as if the devices were physically located there, allowing the scheduling system to allocate resources from any node in the cluster while maintaining the simplicity of local scheduling decisions.
2Measurement precision
If execution nodes report their local hardware acceleration device availability to the main orchestrator, then the orchestrator has accurate local information, but it cannot allocate HA devices from nodes with surplus capacity to nodes with deficit
Solution Approach 1:
The supporting node merges the hardware acceleration device resources from multiple execution nodes into a single aggregated resource pool. Instead of treating each node's HA devices separately, the supporting node combines them and manages them as a shared pool that can be allocated to any execution node in the cluster, enabling efficient resource utilization across the entire system.
Solution Approach 2:
The supporting node provides a universal interface for resource allocation that serves multiple execution nodes simultaneously. It manages the aggregated HA devices from various nodes and makes them available to any execution node that needs them, creating a multi-functional resource management system that adapts to different allocation scenarios.
3Adaptability or versatility
If the system allows borrowing HA devices from other execution nodes, then resource utilization improves, but tracking and managing device availability becomes more complex
Solution Approach 1:
The supporting node acts as a mediator that abstracts the complexity of cross-node resource borrowing. Instead of requiring the first execution node to directly track and manage devices borrowed from second execution nodes, the supporting node handles all the tracking and management internally, presenting a simplified interface to the borrowing node while maintaining accurate records of device locations and availability.
Data Source
Figure 1
Figure 2a~2c
Figure 3
AI summary
A method and a supporting node (150) for supporting a process scheduling node (110) when scheduling a process to a first execution node (130) of a cluster (120) of execution nodes (130, 140, 150) are disclosed. The supporting node (150) receives (A140), from the first execution node (130) being selected by the process scheduling node (110) for execution of the process, a request for allocation of one or more HA devices (131, 141, 151). The supporting node (150) allocates at least one HA device (141), being associated with a second execution node (140) of the cluster (120), to the first execution node (130). The supporting node (150) reduces a value representing number of HA devices (131, 141, 151) available for allocation to the first execution node (130) while taking said at least one HA device (141) into account. The supporting node (150) sends the value to the first execution node (130). The supporting node (150) sends, to the first execution node (130), a message indicating successful allocation of said at least one HA device (141). A corresponding computer program (503) and a computer program carrier (505) are also disclosed.