Dynamic thread pool management
First Claim
1. A system for dynamically managing a thread pool associated with a plurality of sub-applications, said system comprising:
- a memory area for storing configuration information of an application having a plurality of sub-applications associated therewith, said configuration information including a predefined maximum thread threshold associated with one or more of the plurality of sub-applications, said configuration information further including a predefined maximum latency threshold associated with one or more of the plurality of sub-applications, said application and said plurality of sub-applications being associated with one thread pool; and
a processor programmed to;
receive the configuration information of said application and said plurality of sub-applications upon a start-up of said application;
receive a request for at least one of the sub-applications;
determine a quantity of threads currently assigned to said at least one of the sub-applications;
compare the determined quantity of threads with the predefined maximum thread threshold stored in the memory area to generate a first comparison result;
determine a latency of said at least one of the sub-applications;
compare the determined latency with said predefined maximum latency threshold stored in said memory area to generate a second comparison result;
assign a thread in said one thread pool to handle the received request based on said first comparison result and said second comparison result; and
reduce the predefined maximum latency threshold stored in said memory area to a quantity of one if the determined latency is greater than the predefined maximum latency threshold.
2 Assignments
0 Petitions
Accused Products
Abstract
Dynamically managing a thread pool associated with a plurality of sub-applications. A request for at least one of the sub-applications is received. A quantity of threads currently assigned to the at least one of the sub-applications is determined. The determined quantity of threads is compared to a predefined maximum thread threshold. A thread in the thread pool is assigned to handle the received request if the determined quantity of threads is not greater than the predefined maximum thread threshold. Embodiments enable control of the quantity of threads within the thread pool assigned to each of the sub-applications. Further embodiments manage the threads for the sub-applications based on latency of the sub-applications.
23 Citations
16 Claims
-
1. A system for dynamically managing a thread pool associated with a plurality of sub-applications, said system comprising:
-
a memory area for storing configuration information of an application having a plurality of sub-applications associated therewith, said configuration information including a predefined maximum thread threshold associated with one or more of the plurality of sub-applications, said configuration information further including a predefined maximum latency threshold associated with one or more of the plurality of sub-applications, said application and said plurality of sub-applications being associated with one thread pool; and a processor programmed to; receive the configuration information of said application and said plurality of sub-applications upon a start-up of said application; receive a request for at least one of the sub-applications; determine a quantity of threads currently assigned to said at least one of the sub-applications; compare the determined quantity of threads with the predefined maximum thread threshold stored in the memory area to generate a first comparison result; determine a latency of said at least one of the sub-applications; compare the determined latency with said predefined maximum latency threshold stored in said memory area to generate a second comparison result; assign a thread in said one thread pool to handle the received request based on said first comparison result and said second comparison result; and reduce the predefined maximum latency threshold stored in said memory area to a quantity of one if the determined latency is greater than the predefined maximum latency threshold. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
receiving configuration information of an application having a plurality of sub-applications associated therewith, the sub-applications being associated with one thread pool, the configuration information including a predefined maximum latency threshold; receiving a request for at least one of the sub-applications; determining a quantity of threads currently assigned to the at least one of the sub-applications; comparing the determined quantity of threads to a predefined maximum thread threshold from the received configuration information; assigning a thread in the one thread pool to handle the received request if the determined quantity of threads is not greater than the predefined maximum thread threshold; generating an error message if the determined quantity of threads is greater than the predefined maximum thread threshold; determining a latency of the at least one of the sub-applications; comparing the determined latency of the at least one of the sub-applications with the predefined maximum latency threshold; and reducing the predefined maximum thread threshold to a quantity of one if the determined latency is greater than the predefined maximum latency threshold. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. One or more computer storage media storing computer-executable components, said components comprising:
-
an interface component that when executed by at least one processor causes the at least one processor to receive configuration information of an application having a plurality of sub-applications, and further to receive a request for at least one of the sub-applications, the plurality of sub-applications being associated with the application, the configuration information including a predefined maximum latency threshold; a thread pool component that when executed by at least one processor causes the at least one processor to assign a thread to handle the request received by the interface component based on a comparison of the quantity of threads currently assigned to the at least one of the sub-applications and a predefined maximum thread threshold; a latency component that when executed by at least one processor causes the at least one processor to determine a latency of the at least one of the sub-applications; and a threshold component that when executed by at least one processor causes the at least one processor to compare the determined latency of the at least one of the sub-applications with the predefined maximum latency threshold, and to change the predefined maximum thread threshold based on the latency determined by the latency component, changing the predefined maximum thread threshold includes reducing the predefined maximum thread threshold to a quantity of one if the latency determined by the latency component is greater than the predefined maximum latency threshold. - View Dependent Claims (14, 15, 16)
-
Specification