System and method for automatic workload characterization
First Claim
1. A method of characterizing a computer system having resources and processes, the processes consuming the resources when performing transactions, the method comprising:
- independently generating a log of transactions performed in the computer system, wherein the log of transactions comprises a timestamp for each of the transactions;
independently generating a log of resource usage in the computer system, wherein the log of resource usage comprises one or more periods of time during which each of a plurality of the resources is used, and wherein the log of resource usage comprises a plurality of system performance metrics, the system performance metrics reflecting consumption of the resources by one or more of the processes that performed the transactions;
comparing the timestamps in the log of transactions to the periods of time in the log of resource usage to determine timestamps corresponding to the periods of time; and
determining which transactions used which resources based on the comparison of the timestamps in the log of transactions to the periods of time in the log of resource usage.
10 Assignments
0 Petitions
Accused Products
Abstract
A system and method for automatic workload characterization are provided. Transactions performed in a computer system may be logged. The log of transactions comprises a timestamp for each transaction. Resource usage in the computer system may be logged. The log of resource usage comprises one or more periods of time during which each of a plurality of resources is used, and the log of resource usage comprises a plurality of system performance metrics which reflect resource consumption by one or more processes that performed the transactions. The timestamps in the log of transactions may be compared to the periods of time in the log of resource usage. It may be determined which transactions used which resources as a result of the comparing the timestamps in the log of transactions to the periods of time in the log of resource usage. One or more workloads may be determined using the determining which transactions used which resources. Heuristics may be used to group processes into workloads.
342 Citations
48 Claims
-
1. A method of characterizing a computer system having resources and processes, the processes consuming the resources when performing transactions, the method comprising:
-
independently generating a log of transactions performed in the computer system, wherein the log of transactions comprises a timestamp for each of the transactions; independently generating a log of resource usage in the computer system, wherein the log of resource usage comprises one or more periods of time during which each of a plurality of the resources is used, and wherein the log of resource usage comprises a plurality of system performance metrics, the system performance metrics reflecting consumption of the resources by one or more of the processes that performed the transactions; comparing the timestamps in the log of transactions to the periods of time in the log of resource usage to determine timestamps corresponding to the periods of time; and determining which transactions used which resources based on the comparison of the timestamps in the log of transactions to the periods of time in the log of resource usage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of characterizing workload of a computer system having resources and processes, the processes consuming the resources when performing transactions, the method comprising:
-
independently determining a list of transactions performed on the computer system over a time interval; independently determining a list of system performance metrics for the computer system over the time interval, wherein the system performance metrics reflect consumption of the resources by one or more of the processes that performed the transactions; determining a correlation coefficient for each of one or more pairs of system performance metrics and transactions in the lists; determining a supporting set of pairs of system performance metrics and transactions whose correlation coefficients exceed a desired correlation value; and determining a workload using the supporting set, wherein the workload comprises a meaningful partition of transactions performed on the computer system. - View Dependent Claims (15, 16)
-
-
17. A programmable storage device comprising program instructions, wherein the program instructions are computer-executable to implement a method of characterizing a computer system having resources and processes, the processes consuming the resources when performing transactions, the method comprising:
-
independently generating a log of transactions performed in the computer system, wherein the log of transactions comprises a timestamp for each of the transactions; independently generating a log of resource usage in the computer system, wherein the log of resource usage comprises one or more periods of time during which each of a plurality of the resources is used, and wherein the log of resource usage comprises a plurality of system performance metrics, the system performance metrics reflecting consumption of the resources by one or more processes that performed the transactions; comparing the timestamps in the log of transactions to the periods of time in the log of resource usage; and determining which transactions used which resources based on the comparison of the timestamps in the log of transactions to the periods of time in the log of resource usage. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A programmable storage device comprising program instructions, wherein the program instructions are computer-executable, to implement a method of characterizing workload of a computer system having resources and processes, the processes consuming the resources when performing transactions, the method comprising:
-
independently determining a list of transactions performed on a computer system over a time interval; independently determining a list of system performance metrics for the computer system over the time interval, wherein the system performance metrics reflect consumption of the resources by one or more of the processes that performed the transactions; determining a correlation coefficient for each of one or more pairs of system performance metrics and transactions in the lists; determining a supporting set of pairs of system performance metrics and transactions whose correlation coefficients exceed a desired correlation value; and determining a workload using the supporting set, wherein the workload comprises a meaningful partition of transactions performed on the computer system. - View Dependent Claims (31, 32)
-
-
33. A system for characterizing a computer system having resources and processes, the processes consuming the resources when performing transactions, the system comprising:
-
a CPU; a memory coupled to the CPU, wherein the memory stores program instructions which are executable by the CPU to; independently generate a log of transactions performed in the computer system, wherein the log of transactions comprises a timestamp for each of the transaction; independently generate a log of resource usage of the resources in the computer system, wherein the log of resource usage comprises one or more periods of time during which each of a plurality of the resources is used, and wherein the log of resource usage comprises a plurality of system performance metrics, the system performance metrics reflecting consumption of the resources by one or more of the processes that performed the transactions; compare the timestamps in the log of transactions to the periods of time in the log of resource usage; and determine which transactions used which resources based on the comparison of the timestamps in the log of transactions to the periods of time in the log of resource usage. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
-
46. A system for characterizing a computer system having resources and processes, the processes consuming the resources when performing transactions, the system comprising:
-
a CPU; a memory coupled to the CPU, wherein the memory stores program instructions which are executable by the CPU to; independently determine a list of transactions performed on a computer system over a time interval; independently determine a list of system performance metrics for the computer system over the time interval, wherein the system performance metrics reflect consumption of the resources by one or more of the processes that performed the transactions; determine a correlation coefficient for each of one or more pairs of system performance metrics and transactions; determine a supporting set of pairs of system performance metrics and transactions whose correlation coefficients exceed a desired correlation value; and determine a workload using the supporting set, wherein the workload comprises a meaningful partition of transactions performed on the computer system. - View Dependent Claims (47, 48)
-
Specification