Claims
- 1. A method comprising:
generating a log of transactions performed in a computer system, wherein the log of transactions comprises a timestamp for each transaction; 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 resources is used, and wherein 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; 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 said comparing the timestamps in the log of transactions to the periods of time in the log of resource usage.
- 2. The method of claim 1, wherein said determining which transactions used which resources based on said comparing the timestamps in the log of transactions to the periods of time in the log of resource usage comprises:
computing at least one correlation coefficient of transaction activities and resource usage; and analyzing the at least one correlation coefficient to determine whether the transactions use the resource.
- 3. The method of claim 1, wherein said determining which transactions used which resources includes determining the amount of resources used by each of one or more of the transactions.
- 4. The method of claim 1, further comprising:
determining one or more workloads based on said determining which transactions used which resources, wherein each workload comprises a partition of the transactions performed on the computer system.
- 5. The method of claim 4, further comprising:
modeling performance of the computer system using the workloads.
- 6. The method of claim 5, further comprising:
altering a configuration of the computer system as a result of the modeling the performance of the computer system.
- 7. The method of claim 1, further comprising:
determining an aggregate workload, wherein the aggregate workload comprises a plurality of the workloads.
- 8. The method of claim 1, further comprising:
determining one or more workloads based on said determining which transactions used which resources, wherein each workload comprises a meaningful partition of the processes.
- 9. The method of claim 8, further comprising:
determining a quantity of resource usage belonging to each workload.
- 10. The method of claim 8, further comprising:
determining that processes having a same owner belong to a same one of the workloads.
- 11. The method of claim 8, further comprising:
determining that processes whose owners are members of a same group belong to a same one of the workloads.
- 12. The method of claim 8, further comprising:
determining that processes having a same process tree belong to a same one of the workloads.
- 13. The method of claim 1,
wherein said determining which transactions used which resources is performed automatically.
- 14. A method comprising:
determining a list of transactions performed on a computer system over a time interval; determining a list of system performance metrics for the computer system over the time interval, wherein the system performance metrics reflect resource consumption by one or more processes that performed the transactions; determining a correlation coefficient for each of one or more pairs of system performance metrics and transactions; 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.
- 15. The method of claim 14,
wherein said determining the workload comprises determining the workload such that the workload comprises processes which correlate to the system performance metrics in the supporting set.
- 16. The method of claim 14,
wherein said determining the workload comprises determining the workload such that the workload comprises processes whose resource consumption as reflected by the system performance metrics correlates with the partition of transactions in the workload.
- 17. A carrier medium comprising program instructions, wherein the program instructions are computer-executable to implement:
generating a log of transactions performed in a computer system, wherein the log of transactions comprises a timestamp for each transaction; 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 resources is used, and wherein 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; 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 as a result of the comparing the timestamps in the log of transactions to the periods of time in the log of resource usage.
- 18. The carrier medium of claim 17, wherein said determining which transactions used which resources based on said comparing the timestamps in the log of transactions to the periods of time in the log of resource usage comprises:
computing at least one correlation coefficient of transaction activities and resource usage; and analyzing the at least one correlation coefficient to determine whether the transactions use the resource.
- 19. The carrier medium of claim 17, wherein said determining which transactions used which resources includes determining the amount of resources used by each of one or more of the transactions.
- 20. The carrier medium of claim 19, wherein the program instructions are further computer-executable to implement:
determining one or more workloads based on said determining which transactions used which resources, wherein each workload comprises a partition of the transactions performed on the computer system.
- 21. The carrier medium of claim 20, wherein the program instructions are further computer-executable to implement:
modeling performance of the computer system using the workloads.
- 22. The carrier medium of claim 21, wherein the program instructions are further computer-executable to implement:
altering a configuration of the computer system as a result of the modeling the performance of the computer system.
- 23. The carrier medium of claim 19, wherein the program instructions are further computer-executable to implement:
determining an aggregate workload, wherein the aggregate workload comprises a plurality of the workloads.
- 24. The carrier medium of claim 19, wherein the program instructions are further computer-executable to implement:
determining one or more workloads based on said determining which transactions used which resources, wherein each workload comprises a meaningful partition of the processes.
- 25. The carrier medium of claim 24, wherein the program instructions are further computer-executable to implement:
determining a quantity of resource usage belonging to each workload.
- 26. The carrier medium of claim 24, wherein the program instructions are further computer-executable to implement:
determining that processes having a same owner belong to a same one of the workloads.
- 27. The carrier medium of claim 24, wherein the program instructions are further computer-executable to implement:
determining that processes whose owners are members of a same group belong to a same one of the workloads.
- 28. The carrier medium of claim 24, wherein the program instructions are further computer-executable to implement:
determining that processes having a same process tree belong to a same one of the workloads.
- 29. The carrier medium of claim 19,
wherein said determining which transactions used which resources is performed automatically.
- 30. A carrier medium comprising program instructions, wherein the program instructions are computer-executable to implement:
determining a list of transactions performed on a computer system over a time interval; determining a list of system performance metrics for the computer system over the time interval, wherein the system performance metrics reflect resource consumption by one or more processes that performed the transactions; determining a correlation coefficient for each of one or more pairs of system performance metrics and transactions; 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.
- 31. The carrier medium of claim 30,
wherein said determining the workload comprises determining the workload such that the workload comprises processes which correlate to the system performance metrics in the supporting set.
- 32. The carrier medium of claim 30,
wherein said determining the workload comprises determining the workload such that the workload comprises processes whose resource consumption as reflected by the system performance metrics correlates with the partition of transactions in the workload.
- 33. A system comprising:
a CPU; a memory coupled to the CPU, wherein the memory stores program instructions which are executable by the CPU to: generate a log of transactions performed in a computer system, wherein the log of transactions comprises a timestamp for each transaction; generate 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 resources is used, and wherein 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; 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 as a result of the comparing the timestamps in the log of transactions to the periods of time in the log of resource usage.
- 34. The system of claim 33, wherein said determining which transactions used which resources based on said comparing the timestamps in the log of transactions to the periods of time in the log of resource usage comprises:
computing at least one correlation coefficient of transaction activities and resource usage; and analyzing the at least one correlation coefficient to determine whether the transactions use the resource.
- 35. The system of claim 33, wherein said determining which transactions used which resources includes determining the amount of resources used by each of one or more of the transactions.
- 36. The system of claim 33, wherein the program instructions are further executable by the CPU to:
determine one or more workloads based on said determining which transactions used which resources, wherein each workload comprises a partition of the transactions performed on the computer system.
- 37. The system of claim 36, wherein the program instructions are further executable by the CPU to:
model performance of the computer system using the workloads.
- 38. The system of claim 37, wherein the program instructions are further executable by the CPU to:
alter a configuration of the computer system as a result of modeling the performance of the computer system.
- 39. The system of claim 33, wherein the program instructions are further executable by the CPU to:
determine an aggregate workload, wherein the aggregate workload comprises a plurality of the workloads.
- 40. The system of claim 33, wherein the program instructions are further executable by the CPU to:
determine one or more workloads as a result of determining which transactions used which resources, wherein each workload comprises a meaningful partition of the processes.
- 41. The system of claim 40, wherein the program instructions are further executable by the CPU to:
determine a quantity of resource usage belonging to each workload.
- 42. The system of claim 40, wherein the program instructions are further executable by the CPU to:
determine that processes having a same owner belong to a same one of the workloads.
- 43. The system of claim 40, wherein the program instructions are further executable by the CPU to:
determine that processes whose owners are members of a same group belong to a same one of the workloads.
- 44. The system of claim 40, wherein the program instructions are further executable by the CPU to:
determine that processes having a same process tree belong to a same one of the workloads.
- 45. The system of claim 33,
wherein determining which transactions used which resources is performed automatically.
- 46. A system comprising:
a CPU; a memory coupled to the CPU, wherein the memory stores program instructions which are executable by the CPU to:
determine a list of transactions performed on a computer system over a time interval; determine a list of system performance metrics for the computer system over the time interval, wherein the system performance metrics reflect resource consumption by one or more 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.
- 47. The system of claim 46,
wherein in determining the workload, the program instructions are executable by the CPU to determine the workload such that the workload comprises processes which correlate to the system performance metrics in the supporting set.
- 48. The system of claim 46,
wherein in determining the workload, the program instructions are executable by the CPU to determine the workload such that the workload comprises processes whose resource consumption as reflected by the system performance metrics correlates with the partition of transactions in the workload.
PRIORITY CLAIM
[0001] This application claims the benefit of U.S. Provisional Application No. 60/254,340 entitled “SYSTEM AND METHOD FOR AUTOMATIC WORKLOAD CHARACTERIZATION,” filed Dec. 8, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60254340 |
Dec 2000 |
US |