Dynamic Thread Prediction for Application Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The fixed number of threads set for applications in electronic devices is non-optimal across varying system conditions, leading to inefficient resource utilization and poor user experience due to factors like CPU load, RAM usage, and active cores.

Innovation Solution

A method and system that predict the optimal number of threads based on a scheduler-behaviour model and the current state of the electronic device, considering parameters like CPU load, RAM usage, temperature, and active cores, using a machine learning model to dynamically determine the best thread configuration for minimal runtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed number of threads is set for an application, then the application can run with stable configuration, but the resource utilization becomes inefficient under varying system conditions

Engineering Contradiction:
Improveconfiguration stabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic thread configuration by continuously monitoring system conditions (CPU load, memory availability, active cores) and adjusting the number of threads accordingly. The system transitions from a static fixed thread model to a dynamic adaptive model where thread count changes based on real-time system state, resolving the contradiction between configuration stability and resource utilization efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by monitoring system performance metrics and resource availability, then using this information to adjust thread configuration. The scheduler receives feedback about system conditions and modifies thread allocation to optimize both stability and efficiency under varying loads

Inventive Principle:
Principle #23Feedback

2Speed

If the number of threads is increased to improve processing speed, then execution time decreases, but resource consumption and system overhead increase

Engineering Contradiction:
Improveapplication execution speedVSAvoidsystem resource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system changes the parameter of thread count dynamically based on system conditions. When system resources are abundant, the thread count is increased to improve execution speed. When resources are constrained, the thread count is reduced to lower resource consumption, thus adapting the speed-resource tradeoff to current system state

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If the number of threads is increased to reduce execution time, then processing speed improves, but system complexity and scheduling overhead increase

Engineering Contradiction:
Improveapplication runtimeVSAvoidscheduling system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The scheduling system performs self-optimization by automatically monitoring system conditions and adjusting thread configuration without requiring complex external control. The system serves itself by making intelligent decisions about thread allocation based on monitored metrics, reducing the need for complex manual scheduling configurations

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3676704B1Method and system for predicting optimal number of threads for application running on electronic device
Publication Date: 2024.10.02 SAMSUNG ELECTRONICS CO LTD
  • EP3676704B1 patent drawingFigure 1
  • EP3676704B1 patent drawingFigure 2~3
  • EP3676704B1 patent drawingFigure 4~5

AI summary

Accordingly embodiments herein disclose a method for predicting optimal number of thread for an application in an electronic device. The method includes receiving, by an application thread controller, a request to predict a number of threads to be spawned from the application in real-time. Further, the method includes measuring, by the application thread controller, a current state of the electronic device based on the request received from the application. Further, the method includes predicting, by the application thread controller, the optimal number of threads to be spawned for the application based on a scheduler-behaviour model and the current state of the electronic device. Further, the method includes recommending, by the application thread controller, the number of threads to be spawned by the application based on the prediction.