US 20050278381 A1 Abstract In one embodiment, functional system elements are added to an autonomic manager to enable automatic online sample interval selection. In another embodiment, a method for determining the sample interval by continually characterizing the system workload behavior includes monitoring the system data and analyzing the degree to which the workload is stationary. This makes the online optimization method less sensitive to system noise and capable of being adapted to handle different workloads. The effectiveness of the autonomic optimizer is thereby improved, making it easier to manage a wide range of systems.
Claims(52) 1. A method for determining sample intervals for resource allocations in a dynamic computing system, the method comprising the steps of:
collecting measured output data indicative of system characteristics and variable workloads; determining whether to start interval tuning of the system; and analyzing the collected measured output data to determine a sample interval for the system. 2. The method of determining whether sufficient measured output data has been collected for interval tuning, prior to the start of measured output data analysis. 3. The method of 4. The method of 5. The method of 6. The method of 7. The method of determining if a system is receiving a workload. 8. The method of 9. The method of determining if the system is attempting to perform interval tuning for the first time, if the system is receiving a workload. 10. The method of determining if the system has reached a steady state, if the system is attempting to perform interval tuning for the first time. 11. The method of waiting for a next-scheduled tuning interval, if the system is not attempting to perform interval tuning for the first time. 12. The method of 13. The method of 1, wherein the system is ready for interval tuning during the next-scheduled tuning interval. 14. The method of 15. The method of 16. The method of 17. The method of overriding a current system resource allocation; setting a small sample interval; and collecting additional measured output data. 18. The method of separating the collected measured output data into two groups, wherein a group having a smaller standard deviation is selected for analysis; selecting a measured output data point with the largest standard deviation; and determining the sample interval based on measured and desired statistical properties. 19. The method of 20. The method of 21. A computer readable medium containing an executable program determining sample intervals for resource allocations in a dynamic computing system, wherein the program performs the steps of:
collecting measured output data indicative of system characteristics and variable workloads; determining whether to start interval tuning of the system; and analyzing the collected measured output data to determine a sample interval for the system. 22. The computer readable medium of determining whether sufficient measured output data has been collected for interval tuning, prior to the start of measured output data analysis. 23. The computer readable medium of 24. The computer readable medium of 25. The computer readable medium of 26. The computer readable medium of determining if a system is receiving a workload. 27. The computer readable medium of 28. The computer readable medium of determining if the system is attempting to perform interval tuning for the first time, if the system is receiving a workload. 29. The computer readable medium of determining if the system has reached a steady state, if the system is attempting to perform interval tuning for the first time. 30. The computer readable medium of waiting for a next-scheduled tuning interval, if the system is not attempting to perform interval tuning for the first time. 31. The computer readable medium of 32. The computer readable medium of 33. The computer readable medium of 34. The computer readable medium of 35. The computer readable medium of 36. The computer readable medium of overriding a current system resource allocation; setting a small sample interval; and collecting additional measured output data. 37. The computer readable medium of separating the collected measured output data into two groups, wherein a group having a smaller standard deviation is selected for analysis; selecting a measured output data point with the largest standard deviation; and determining the sample interval based on measured and desired statistical properties. 38. The computer readable medium of 39. The computer readable medium of 40. A method for providing an optimization service to a client for a data processing system receiving a variable workload, the method comprising the steps of:
collecting measured output data indicative of system characteristics and workloads; determining whether to start interval tuning of the system; and analyzing the collected measured output data to determine a sample interval for the system to evaluate resource allocations to said client. 41. The method of determining whether sufficient measured output data has been collected for interval tuning, prior to the start of measured output data analysis. 42. The method of 43. The method of determining if a system is receiving a workload. 44. The method of determining if the system is attempting to perform interval tuning for the first time, if the system is receiving a workload. 45. The method of determining if the system has reached a steady state, if the system is attempting to perform interval tuning for the first time. 46. The method of waiting for a next-scheduled tuning interval, if the system is not attempting to perform interval tuning for the first time. 47. The method of 48. The method of 49. The method of 50. The method of overriding a current system resource allocation; setting a small sample interval; and collecting additional measured output data. 51. The method of separating the collected measured output data into two groups, wherein a group having a smaller standard deviation is selected for analysis; selecting a measured output data point with the largest standard deviation; and determining the sample interval based on measured and desired statistical properties. 52. A computing system, comprising:
a data processing system adapted to receive and process a variable workload, wherein the data processing system is further adapted to generate measured output data indicative of data processing system characteristics and workloads; a plurality of resources available to the data processing system for processing the workload; a resource optimizer coupled to the data processing system and adapted for evaluating resource allocations in pre-defined intervals; and an interval tuner coupled to the data processing system and to the resource optimizer, the interval tuner being adapted for evaluating the measured output data in order to determine the pre-defined intervals in which the resource optimizer evaluates resource allocations. Description The present invention relates generally to computing systems, and relates more particularly to performance and systems management of computing systems. Specifically, the invention is a method and apparatus for online determination of sample intervals for optimization and control operations in a dynamic, on-demand computing environment. Central to the performance of the data processing system A benefit reporter and a memory tuner operate to optimize the benefit derived from the system Due to the stochastic and dynamic nature of computing systems, the size of these sample intervals can be critical. For example, too small a sample interval may yield an insufficient collection of samples, and significant measurement noise may be generated during optimization, resulting in controller-introduced oscillation. On the other hand, too large a sample interval may reduce the optimization responsiveness as measured by time-response characteristics, such as system settling time. Effective online optimization therefore requires a substantially precise sample interval in order to provide fast response without introducing unwanted oscillation. A drawback of conventional systems for determining sample intervals, such as the benefit reporter and memory tuner system discussed above, is that the determinations tend to be based on static workloads. However, in a dynamic, on-demand environment, the workload characteristics and system configurations change drastically with time, and statically derived intervals may therefore yield less than optimal results. Thus, there is a need in the art for a method and apparatus for online sample interval determination. In one embodiment, the present invention is a system for online determination of sample intervals for dynamic (i.e., non-stationary) workloads. In one embodiment, functional system elements are added to an autonomic manager to enable automatic online sample interval selection. In another embodiment, a method for determining the sample interval by continually characterizing the system workload behavior includes monitoring the system data and analyzing the degree to which the workload is stationary. This makes the online optimization method less sensitive to system noise and capable of being adapted to handle different workloads. The effectiveness of the autonomic optimizer is thereby improved, making it easier to manage a wide range of systems. So that the manner in which the above recited embodiments of the invention are attained and can be understood in detail, a more particular description of the invention, briefly summarized above, may be obtained by reference to the embodiments thereof which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments. To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. In one embodiment, the present invention provides a method for online determination of a sample interval for collecting measured output data of computing systems dealing in dynamic (e.g., non-stationary) workloads. In one embodiment, the method is implemented in a data processing system such as that illustrated in The resource optimizer For example, in one embodiment the workload Furthermore, if the data processing system In step The method If the system If the system In step Thus, referring back to Alternatively, if the method In one embodiment, a small sample interval size is used in order to shorten the data collection process, but still collect enough data points for analysis. In one embodiment, this “small” sample interval size is the minimum sample interval that can be reasonably applied in the data processing system. For example, a data processing system handling a combination of online transaction processing (OLTP) and decision support system (DSS) workloads (e.g., transactions that may take less than a second or more than an hour) may select a minimum sample interval between five and thirty seconds. In one embodiment, this minimum sample interval is large enough to include dozens of transactions, but not too small in light of the resizing time and central processing unit cycles. The method In step Both the mean benefit and the std benefit values are used to calculate the interval size as follows:
For convenience, a subset of a table for determining T is illustrated in Table I.
In Table I, each row corresponds to one confidence interval (0.95, 0.0, 0.8, etc.) and each column corresponds to a degree of freedom ( 1, 2, 3, 4, 5, etc.), e.g., the number of measured benefit samples. For example, if 90% confidence in the accuracy of the measured data is desired, and the decision is based on P=3 measured benefit samples, a T of 2.353 is chosen. Increasing the confidence (e.g., from 90% to 95%) will result in a larger value for T; in addition, achieving a greater confidence score will require a larger sample interval. Decreasing the number of measured benefit samples (e.g., from three to two) will also result in a larger value for T, indicating that a larger sample interval is required. This is because a sample interval size that is determined based on a smaller sample is subject to more errors; to achieve the same confidence level, a larger desired sample interval would be required.
Alternatively, the dynamic resource optimizer In further embodiments, resources may be shared among a plurality of clients, e.g., web content providers, and dynamic resource allocation and optimization may be provided to the clients according to the methods of the present invention. In such cases, the workload of each individual client may be continually monitored so that resources allocated to any individual client are sufficient to meet, but do not greatly exceed, the needs of the client, thereby substantially achieving optimal resource allocation. Thus, the present invention represents a significant advancement in the field of dynamic resource allocation. A method and apparatus are provided that enable a data processing system to dynamically determine a sample interval for analyzing resource allocation by continually characterizing the system workload. This makes the online optimization method less sensitive to system noise and capable of being adapted to handle different workloads. The effectiveness of a system resource optimizer is thereby improved, making it easier to manage a wide range of systems. While foregoing is directed to the preferred embodiment of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow. Referenced by
Classifications
Legal Events
Rotate |