Dedicated Shared CPU Allocation via Container Runtime Interface

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems lack flexibility in allocating CPUs to containers, failing to guarantee dedicated shared CPU resources for multiple containers.

Innovation Solution

A computing device allocates dedicated shared CPUs by using a container runtime interface to bind processing devices to multiple containers, ensuring they are usable only by those containers, separate from the logical host.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If CPUs are allocated to containers through a logical host, then containers can execute application instances reliably, but the allocation lacks flexibility and cannot guarantee dedicated shared CPU resources

Engineering Contradiction:
Improveflexibility in CPU allocationVSAvoidguarantee of dedicated CPU resources
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments CPU allocation into two distinct categories: best-effort allocation through the logical host and dedicated shared allocation through the container runtime interface. This segmentation allows containers to receive both flexible best-effort CPU resources and guaranteed dedicated shared CPU resources, resolving the contradiction between allocation flexibility and resource guarantee reliability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The container runtime interface acts as an intermediary between the container and the processing devices, separate from the logical host. This intermediary enables dedicated shared CPU allocation by binding specific processing devices to containers, providing both flexibility and guarantee of CPU resources that the logical host alone cannot provide

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a container runtime interface binds processing devices directly to containers, then dedicated shared CPU resources are guaranteed, but system complexity increases

Engineering Contradiction:
Improveguarantee of dedicated CPU resourcesVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The container runtime interface is designed to perform multiple functions: it manages dedicated shared CPU allocation, handles container lifecycle events, and coordinates with the logical host. By making the container runtime interface multi-functional, the system reduces overall complexity despite adding a new component, as it consolidates multiple responsibilities into a single unified interface

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

Data Source

PatentUS20250291644A1Allocating Dedicated Shared CPU
Publication Date: 2025.09.18 RAKUTEN SYMPHONY INC
  • US20250291644A1 patent drawing
  • US20250291644A1 patent drawing
  • US20250291644A1 patent drawing

AI summary

A logical host, e.g., KUBERNETES Kubelet, receives a request for instantiation of containers with shared CPUs that includes an annotation. The logical host adds the shared CPUs to a best-effort set of CPUs available for use by any process. The logical host calls a CRI to instantiate the containers and passes the annotation to the CRI. The CRI is an agent of an orchestrator and binds the shared CPUs to the containers such that the shared CPUs are dedicated to the containers. The CRI adds the shared CPUs to a shared CPU set.