Kubernetes GPU Autoscaling via Sidecar Metric Exporter

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Kubernetes' autoscaling feature does not support GPU applications due to the absence of a built-in GPU utilization metric, limiting the ability to scale these applications based on their processing demands.

Innovation Solution

An autoscaling framework is introduced that exports GPU utilization using an ancillary container (sidecar container) to provide a custom GPU metric, enabling selective scaling of applications based on GPU usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If Kubernetes autoscaling feature is used, then application scaling is automated based on demand, but GPU applications cannot benefit from autoscaling due to absence of built-in GPU utilization metric

Engineering Contradiction:
ImproveautoscalingVSAvoidGPU application support
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary component (sidecar container with GPU metric exporter) that bridges the gap between GPU applications and Kubernetes autoscaling. This exporter collects GPU utilization metrics and exposes them through a standardized interface that Kubernetes can consume, enabling autoscaling without modifying the core Kubernetes system or the GPU applications themselves.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The solution creates a universal metric export mechanism that can work with different GPU applications and frameworks. The sidecar container approach provides a multi-functional solution that can export metrics for various GPU workloads while maintaining compatibility with Kubernetes' existing autoscaling infrastructure.

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

2Loss of information

If custom GPU metric export mechanism is implemented, then GPU utilization metrics become available for autoscaling, but system complexity increases due to additional sidecar containers and metric exporters

Engineering Contradiction:
ImproveGPU metric visibilityVSAvoidsystem architecture
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The sidecar container acts as an intermediary that adds minimal complexity only where needed - in the monitoring and metric collection layer. The core application containers remain unchanged, and the sidecar is a lightweight auxiliary component that doesn't significantly increase overall system complexity while solving the metric visibility problem.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The solution segments the monitoring function into a separate sidecar container, isolating the complexity of metric collection and export from the main application. This segmentation allows the application to focus on its core function while the sidecar handles metric export, reducing the complexity burden on the application itself.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If GPU metric aggregation over time period is performed, then accurate average GPU utilization is calculated for scaling decisions, but measurement and processing time increases

Engineering Contradiction:
ImproveGPU utilization accuracyVSAvoidmetric processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The sidecar container performs preliminary action by continuously collecting and buffering GPU metrics in real-time before autoscaling decisions are needed. This pre-aggregation of metrics over time periods allows the autoscaler to make accurate scaling decisions without performing time-consuming calculations at the moment of scaling, thus reducing latency in the scaling response.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12210909B2Autoscaling GPU applications in Kubernetes based on GPU utilization
Publication Date: 2025.01.28 SAP SE
  • US12210909B2 patent drawing
  • US12210909B2 patent drawing
  • US12210909B2 patent drawing

AI summary

Methods, systems, and computer-readable storage media for executing, within the container orchestration system, the application using one or more resource units, each resource unit including an application container and an ancillary container, the ancillary container executing a set of GPU metric exporters, receiving, from the application and for each resource unit, a GPU metric including a GPU utilization associated with a respective resource unit, determining, for each resource unit, a custom GPU metric based on a respective GPU metric, the custom GPU metric aggregating values of the respective GPU metric over a time period, determining, by an autoscaler, an average GPU metric based on one or more custom GPU metrics, and selectively scaling, by the autoscaler, the application within the container orchestration system based on the average GPU metric by adjusting a number of resource units executing the application.