Distributed Application Resource Prediction with Matrix Factorization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for predicting software performance across different platforms face challenges due to compiler optimizations, OS performance, hardware architecture differences, and interference from other tasks, leading to inaccuracies and an error floor that cannot be reduced as more data is gathered.

Innovation Solution

A method using matrix factorization to combine resource usage data from multiple devices and applications, employing machine learning to learn feature embeddings, allowing for more accurate prediction of resource usage and compliance with Quality of Service (QoS) requirements in distributed systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If per-device prediction models are used to predict resource usage, then the model can be trained on specific device data, but the prediction accuracy is limited by an error floor that cannot be reduced as more data is gathered

Engineering Contradiction:
Improveprediction accuracyVSAvoiderror floor
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent combines resource usage data from multiple devices into a unified training dataset. Instead of training separate per-device models, the system aggregates data across heterogeneous devices to train a single model that learns common patterns, thereby overcoming the error floor limitation of per-device approaches.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal prediction model that can predict resource usage across different device types and architectures. The model is designed to be platform-agnostic, using normalized features that capture fundamental resource consumption patterns applicable to diverse hardware configurations.

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

2Productivity

If static analysis approaches are used to predict resource usage, then the analysis can be performed without execution, but the prediction is limited to worst-case scenarios and requires restricted program subsets

Engineering Contradiction:
Improveprediction efficiencyVSAvoidprediction accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent performs preliminary dynamic analysis by executing applications on target devices to collect actual resource usage data before deployment. This pre-execution phase gathers ground truth information that informs the training of prediction models, enabling accurate predictions without requiring complex static analysis of execution paths.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If dynamic analysis is used to gather features at run-time, then performance data can be collected, but the analysis may negatively impact system performance and generalization to other architectures is difficult

Engineering Contradiction:
Improveperformance data accuracyVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts only the essential resource usage metrics needed for prediction, such as CPU cycles, memory accesses, and I/O operations. By focusing on a minimal set of critical features rather than comprehensive system state monitoring, the overhead is minimized while maintaining prediction accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent transforms raw performance counters into normalized parameters that are architecture-independent. By changing the representation of hardware-specific metrics into universal features, the model can generalize across different device architectures without requiring architecture-specific analysis code.

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If hardware-specific performance counters are accessed to gather features, then accurate performance events can be collected, but new profiling code must be written for each architecture and models need to be changed

Engineering Contradiction:
Improveperformance event accuracyVSAvoidprofiling code complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent develops a universal feature extraction framework that works across multiple hardware architectures. The system identifies and collects fundamental performance events that are common to different processors and systems, using a single profiling implementation that can gather data from various hardware platforms without requiring architecture-specific code.

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

Data Source

PatentUS12463919B2Method for predicting resource usage for applications in a distributed system
Publication Date: 2025.11.04 ROBERT BOSCH GMBH
  • US12463919B2 patent drawing
  • US12463919B2 patent drawing
  • US12463919B2 patent drawing

AI summary

A method for predicting resource usage for applications in a distributed system. The method includes: obtaining resource usage data, the resource usage data resulting from measuring the resource usage of different applications on different devices of the distributed system; detecting, by an orchestrator, a change and/or an event in the distributed system that requires a re-configuration of the distributed system; predicting, by the orchestrator, the resource usage of at least one application when deployed on one or different devices of the distributed system, the predicting being carried out based on the obtained resource usage data; initiating the required re-configuration based on the detecting and the predicting.