Self-Tuned Threading Model for Application Servers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing application servers face challenges in determining the optimal number of concurrent threads to handle large numbers of users efficiently, as current methods rely heavily on administrator skill and are not adaptable to varying environments, leading to suboptimal performance in real-life situations.
Innovation Solution
A self-tuned threading model that uses a priority queue to dynamically adjust the number of threads based on workload, allowing entities to have proportional thread usage allocations and penalizing excessive usage, thereby ensuring balanced thread distribution and automatic thread pool sizing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the number of threads greatly exceeds the number of processors, then requests are almost immediately fed into threads, but the requests are not quickly taken up by the processors
Solution Approach 1:
The patent implements dynamic thread pool sizing where the number of threads is automatically adjusted based on current workload conditions. The system monitors processor utilization and queue depth, increasing thread count when workload increases and decreasing it when workload decreases, ensuring threads are actively processing requests rather than remaining idle
Solution Approach 2:
The system continuously monitors performance metrics including processor utilization, queue depth, and thread activity. This feedback is used to automatically adjust the thread pool size, creating a closed-loop control system that optimizes the balance between having enough threads to process requests quickly and having enough processors to utilize those threads effectively
2Adaptability or versatility
If a static thread pool configuration is used, then the system is simple to configure, but it cannot adapt to varying runtime environments and workloads
Solution Approach 1:
The system performs self-tuning of the thread pool configuration by automatically monitoring its own performance metrics and adjusting the number of threads accordingly. The thread pool management includes built-in intelligence to detect workload patterns and optimize thread count without requiring external intervention or complex configuration, making the system adaptable while maintaining simplicity
Solution Approach 2:
The patent dynamically changes the thread pool size parameter based on monitored workload conditions. The system adjusts this key parameter in response to varying runtime environments, transforming a static configuration into a dynamic one that adapts to changing conditions without requiring complex manual reconfiguration
3Manufacturing precision
If manual thread configuration is performed, then specific performance targets can be achieved, but the process is heavily dependent on administrator skill and is not satisfactory for varied real-life environments
Solution Approach 1:
The system replaces manual administrator configuration with automated self-tuning capabilities. The thread pool management includes built-in intelligence that monitors performance metrics and automatically adjusts thread count to optimize performance, eliminating the need for skilled manual configuration while maintaining high performance across varied real-life environments
Data Source
AI summary
A system and method for application server with self-tuned threading model. A server queue is used as a priority scheme, including a number of entries therein associated with received requests, and which allows the entries to have expressed priorities or share values, instead of simply the number of threads. Flexibility is retained to express the threads in raw numbers whenever this might be desired, or to express constraints on the number of threads to be made available.


