Dynamic Thread Prediction for Application Resource Optimization
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Speed
If the number of threads is increased to improve processing speed, then execution time decreases, but resource consumption and system overhead increase
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
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
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
Data Source
Figure 1
Figure 2~3
Figure 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.