Cognitive Thread Consolidation for Server Response Time
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-threading application server environments, concurrent processing of multiple threads can lead to performance issues due to resource sharing, resulting in increased response times and potential thread deadlocks, especially when threads compete for shared resources like databases.
Innovation Solution
Implementing cognitive thread management, which involves pausing threads that satisfy specific characteristics and consolidating their processing into a single consolidated thread to determine a common result, thereby reducing the number of resource access calls and improving response times.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If multiple threads concurrently process application requests in simultaneous multi-threading mode, then hardware resource utilization is improved, but response time increases and thread deadlocks occur due to resource sharing
Solution Approach 1:
The patent merges multiple threads that require the same shared resource into a single consolidated thread. When the thread consolidation engine detects that multiple paused threads are waiting for the same resource, it combines them into one thread that retrieves the resource, thereby eliminating redundant resource access calls and reducing response time while maintaining high hardware utilization.
Solution Approach 2:
The patent performs preliminary actions by pausing threads before they access shared resources and consolidating them in advance. The thread consolidation engine proactively identifies threads that will need the same resource, pauses them before resource access, and combines them into a single thread that will retrieve the resource once, preventing the time loss that would occur if each thread accessed the resource separately.
2Productivity
If multiple threads concurrently access shared resources, then processing capacity is improved, but the number of resource access calls increases leading to performance degradation
Solution Approach 1:
The patent combines multiple threads into a single consolidated thread that accesses shared resources. Instead of each thread making separate resource access calls, the consolidated thread makes one call and shares the result with all originally paused threads, dramatically reducing the total number of resource access calls and the time spent on resource retrieval.
Solution Approach 2:
The consolidated thread serves multiple functions by retrieving a resource once and making it available to multiple original threads. This universal approach allows a single thread execution to satisfy the resource needs of multiple threads, improving processing capacity while reducing resource access overhead.
3Loss of time
If threads are paused and consolidated into a single thread, then response time is improved by reducing resource access calls, but thread complexity increases due to pausing and resuming operations
Solution Approach 1:
The patent introduces a thread consolidation engine as an intermediary between the thread pool and shared resources. This mediator component manages the complexity of pausing, consolidating, and resuming threads, providing a systematic approach that improves response time while containing complexity within a dedicated management component rather than scattering it throughout the entire system.
4Productivity
If simultaneous multi-threading is used to process multiple requests, then throughput is improved, but thread deadlocks occur when threads compete for shared resources
Solution Approach 1:
The patent prevents thread deadlocks by merging multiple threads that would otherwise compete for the same shared resources into a single consolidated thread. This elimination of concurrent access attempts by multiple threads to the same resource removes the possibility of deadlock conditions, maintaining high throughput while improving reliability.
Solution Approach 2:
The patent applies preliminary anti-action by proactively pausing threads before they can enter deadlock-prone concurrent access patterns. By consolidating threads in advance before resource access, the system prevents the formation of deadlock conditions rather than reacting to them after they occur, thereby maintaining both throughput and reliability.
Data Source
AI summary
Cognitive management of application request processing in a multi-threading application server environment is provided by, in part, obtaining multiple threads based on receiving multiple application execution requests, and determining whether to consolidate processing of at least two threads of the multiple threads based on one or more specified characteristics related to processing of the at least two threads. Based on determining to consolidate processing, the cognitive management approach includes pausing the at least two threads and generating a consolidated thread to determine a common result for the at least two paused threads. Thereafter, execution of the at least two threads is resumed using the common result provided by processing of the consolidated thread. In one embodiment, the at least two threads may be at least two request-level threads, while in another the threads may be at least two method-level threads.


