Autonomic workload classification using predictive assertion for wait queue and thread pool selection
First Claim
1. A method of programmatically analyzing execution behavior of work units, comprising steps of:
- recording, for each of a plurality of executing work units, information regarding one or more instrumented wait points encountered by the work unit;
grouping the recorded information for the encountered work units; and
programmatically determining characteristics of those work units that encountered the wait points in the groups.
5 Assignments
0 Petitions
Accused Products
Abstract
Incoming work units (e.g., requests) in a computing workload are analyzed and classified according to predicted execution. Preferred embodiments track which instrumented wait points are encountered by the executing work units, and this information is analyzed to dynamically and autonomically create one or more recognizers to programmatically recognize similar, subsequently-received work units. When a work unit is recognized, its execution behavior is then predicted. Execution resources are then allocated to the work units in view of these predictions. The recognizers may be autonomically evaluated or tuned, thereby adjusting to changing workload characteristics. The disclosed techniques may be used advantageously in application servers, message-processing software, and so forth.
125 Citations
28 Claims
-
1. A method of programmatically analyzing execution behavior of work units, comprising steps of:
-
recording, for each of a plurality of executing work units, information regarding one or more instrumented wait points encountered by the work unit;
grouping the recorded information for the encountered work units; and
programmatically determining characteristics of those work units that encountered the wait points in the groups. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for programmatically analyzing execution behavior of work units, comprising:
-
means for recording, for each of a plurality of executing work units, information regarding one or more instrumented wait points encountered by the work unit;
means for grouping the recorded information for the encountered work units; and
means for programmatically determining characteristics of those work units that encountered the wait points in the groups. - View Dependent Claims (21, 22, 23)
-
-
24. A computer program product for programmatically analyzing execution behavior of work units, the computer program product embodied on one or more computer-readable media and comprising:
-
computer-readable program code means for recording, for each of a plurality of executing work units, information regarding one or more instrumented wait points encountered by the work unit;
computer-readable program code means for grouping the recorded information for the encountered work units; and
computer-readable program code means for programmatically determining characteristics of those work units that encountered the wait points in the groups. - View Dependent Claims (25, 26)
-
-
27. A method of doing business by analyzing execution information for work units, comprising steps of:
-
grouping information that has been recorded for each of a plurality of executing work units regarding one or more instrumented wait points encountered by the work unit;
programmatically determining characteristics of those work units that encountered the wait points in the groups; and
charging a fee for carrying out the grouping and programmatically determining steps. - View Dependent Claims (28)
-
Specification