Cognitive Thread Consolidation for Server Response Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvehardware resource utilizationVSAvoidresponse time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveprocessing capacityVSAvoidresource access time
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improveresponse timeVSAvoidthread management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
ImprovethroughputVSAvoidthread deadlock prevention
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS10282208B2Cognitive thread management in a multi-threading application server environment
Publication Date: 2019.05.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10282208B2 patent drawing
  • US10282208B2 patent drawing
  • US10282208B2 patent drawing

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.