Thread Pool Manager for Application Execution Time Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for predicting future memory access sequences are too complex, rigid, or limited to adapt to computer applications using complex memory access sequences, especially when running on multiple computing nodes.
Innovation Solution
A learning model pre-parameterized with a training database of memory access sequences is used to determine the type of memory access sequence, allowing for efficient data preloading tailored to specific access patterns, reducing execution time by associating predetermined data preloading strategies with identified sequence types.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If the application is executed using a single-threaded model, then the implementation is simple, but the execution time is long and responsiveness is poor
Solution Approach 1:
The patent divides the single-threaded execution into multiple threads, where each thread handles specific tasks or UI updates independently. This segmentation allows concurrent execution of operations, reducing the total execution time while maintaining manageable complexity through structured thread management.
Solution Approach 2:
The patent implements a dynamic thread management system that can create, suspend, and terminate threads based on operational needs. The thread pool dynamically adjusts its size and activity state to optimize execution time while responding to varying workload conditions.
2Loss of time
If multiple threads are used to improve execution time, then the execution time decreases, but the implementation becomes more complex
Solution Approach 1:
The patent creates a universal thread pool manager that handles multiple functions: thread creation, thread suspension, thread termination, and task distribution. This multi-functional approach consolidates complexity into a single manageable system rather than requiring separate mechanisms for each threading operation.
Solution Approach 2:
The patent implements feedback mechanisms where the thread pool manager monitors execution status and adjusts thread behavior accordingly. This feedback loop allows the system to optimize execution time by dynamically responding to operational conditions while maintaining controlled complexity through automated management.
3Ease of operation
If threads are suspended and resumed, then responsiveness to user input improves, but the control logic becomes more complex
Solution Approach 1:
The patent implements preliminary action by pre-defining thread suspension and resumption protocols before they are needed during execution. The thread pool manager is pre-configured with the ability to pause and resume threads in response to user input, eliminating the need for complex real-time control logic while maintaining high responsiveness.
Data Source
Figure 1a
Figure 1b
Figure 2a
AI summary
A method for improving the execution time of a computer application includes at least one cycle comprising: a step of determining the type of memory access time sequence occurring during the execution of the computer application, a step of pre-loading data from a file system to a cache memory system, according to the type of memory access time sequence determined, the determination step is carried out by a learning model having been previously parameterized from a database of certain predetermined types of memory access time sequences.