Supporting Node Allocates HA Devices Across Cloud Execution Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprocess scheduling efficiencyVSAvoidresource allocation flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improveresource availability information accuracyVSAvoidcross-node resource allocation
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidresource tracking complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3811210B1Method and supporting node for supporting process scheduling in a cloud system
Publication Date: 2024.05.01 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • EP3811210B1 patent drawingFigure 1
  • EP3811210B1 patent drawingFigure 2a~2c
  • EP3811210B1 patent drawingFigure 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.