Container CPU Reallocation During Host Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems lack flexibility in allocating CPUs to containers, leading to inefficiencies and constraints in resource utilization.

Innovation Solution

A system that dynamically allocates CPUs by detecting available resources, selecting a host, and invoking instantiation of components using previously-allocated processing units, with the ability to change dedicated CPUs to shared CPUs during failover scenarios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CPUs are allocated to containers on a host, then container performance and stability are improved, but the system lacks flexibility in CPU allocation when hosts fail or resources are constrained

Engineering Contradiction:
Improvecontainer performance stabilityVSAvoidCPU allocation flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system segments CPU resources into dedicated CPU sets and shared CPU sets. Dedicated CPU sets are bound to specific containers for guaranteed performance, while shared CPU sets can be dynamically allocated to multiple containers. This segmentation allows the system to provide both reliability through dedicated allocation and flexibility through shared allocation that can be reassigned during failover scenarios.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic CPU allocation where CPU sets can be reconfigured and reassigned based on runtime conditions. When a host fails or resources become constrained, the orchestrator agent can dynamically move containers to different hosts and reassign CPU sets, transforming the static allocation model into a dynamic one that adapts to changing system conditions.

Inventive Principle:
Principle #15Dynamics

2Reliability

If dedicated CPU sets are bound to containers, then container execution reliability is improved, but resource utilization efficiency deteriorates when hosts lack available processing units

Engineering Contradiction:
Improvecontainer execution reliabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

CPU sets are designed to be universal resources that can serve multiple purposes and multiple containers. Shared CPU sets can be allocated to different containers based on demand, and the same CPU resources can be reassigned between containers as needed. This multi-functionality allows dedicated CPU sets to maintain reliability while shared CPU sets improve overall resource utilization efficiency.

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

Solution Approach 2:

The system changes the allocation parameters of CPU sets dynamically. CPU sets can transition between dedicated and shared states, and their allocation can be adjusted based on system conditions such as host availability and container demand. This parameter flexibility resolves the contradiction by allowing the system to optimize for reliability when needed and for efficiency when resources are constrained.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If the system maintains both dedicated and shared CPU sets, then allocation flexibility is improved, but system complexity increases

Engineering Contradiction:
ImproveCPU allocation flexibilityVSAvoidCPU set management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The orchestrator agent serves as an intermediary that manages the complexity of CPU set allocation. It handles the logic for assigning dedicated CPU sets, managing shared CPU sets, and performing failover operations. By centralizing this management function in the orchestrator agent, the system achieves flexible CPU allocation without distributing the complexity across multiple components.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12632352B2Dynamic CPU allocation on failover
Publication Date: 2026.05.19 RAKUTEN SYMPHONY INC
  • US12632352B2 patent drawing
  • US12632352B2 patent drawing
  • US12632352B2 patent drawing

AI summary

Upon failure of a host and, in response to a lack of hots having available processing units, a host is selected and one or more processing units of the selected host are allocated as shared CPUs for use by one or more components of the failed host. The selected host may be selected according to requirements, such as affinity, anti-affinity, and latency. The shared CPUs may have been previously allocated as a dedicated CPU. The shared CPUs may be bound to the one or more components. The one or more components may include a container.