Resource demands are crucial parameters for modeling and predicting the performance of software systems. Direct measurement of these resource demands is usually infeasible due to instrumentation overheads causing measurement interferences and perturbation in production environments. Thus, a number of statistical estimation approaches (e.g., based on optimization, regression or Kalman filters) have been proposed in the literature. Most of these approaches are parameterized. These parameters influence the estimation quality and the required computation time. Existing work uses historical data as training sets to optimize those parameters and to minimize the estimation error of those approaches. However, if the data traces are fundamentally different, the optimal parameter settings are different as well. In this paper, we propose to use automated clustering in order to group training sets into groups of similar optimization behavior. This way, optimization can be specifically tailored to certain groups of traces in a self-aware manner. During run-time, every trace is first sorted into a cluster, where the respective cluster-wide parameter optimum can be applied. A preliminary case study shows that clustering can provide promising improvements.
%0 Conference Paper
%1 GrEiBaZuHeKo2019-ICAC-RDEClustering
%A Grohmann, Johannes
%A Eismann, Simon
%A Bauer, Andre
%A Zuefle, Marwin
%A Herbst, Nikolas
%A Kounev, Samuel
%B 2019 IEEE 4th International Workshops on Foundations and Applications of Self* Systems (FAS*W)
%D 2019
%I IEEE
%K GoogleResearchAward Instrumentation_profiling_and_workload_characterization LibReDE Optimization PRISMA Performance Self-adaptive-systems Self-aware-computing Statistical_estimation_and_machine_learning descartes t_workshop myown
%P 134--139
%R 10.1109/FAS-W.2019.00043
%T Utilizing Clustering to Optimize Resource Demand Estimation Approaches
%U https://doi.org/10.1109/FAS-W.2019.00043
%X Resource demands are crucial parameters for modeling and predicting the performance of software systems. Direct measurement of these resource demands is usually infeasible due to instrumentation overheads causing measurement interferences and perturbation in production environments. Thus, a number of statistical estimation approaches (e.g., based on optimization, regression or Kalman filters) have been proposed in the literature. Most of these approaches are parameterized. These parameters influence the estimation quality and the required computation time. Existing work uses historical data as training sets to optimize those parameters and to minimize the estimation error of those approaches. However, if the data traces are fundamentally different, the optimal parameter settings are different as well. In this paper, we propose to use automated clustering in order to group training sets into groups of similar optimization behavior. This way, optimization can be specifically tailored to certain groups of traces in a self-aware manner. During run-time, every trace is first sorted into a cluster, where the respective cluster-wide parameter optimum can be applied. A preliminary case study shows that clustering can provide promising improvements.
@inproceedings{GrEiBaZuHeKo2019-ICAC-RDEClustering,
abstract = {Resource demands are crucial parameters for modeling and predicting the performance of software systems. Direct measurement of these resource demands is usually infeasible due to instrumentation overheads causing measurement interferences and perturbation in production environments. Thus, a number of statistical estimation approaches (e.g., based on optimization, regression or Kalman filters) have been proposed in the literature. Most of these approaches are parameterized. These parameters influence the estimation quality and the required computation time. Existing work uses historical data as training sets to optimize those parameters and to minimize the estimation error of those approaches. However, if the data traces are fundamentally different, the optimal parameter settings are different as well. In this paper, we propose to use automated clustering in order to group training sets into groups of similar optimization behavior. This way, optimization can be specifically tailored to certain groups of traces in a self-aware manner. During run-time, every trace is first sorted into a cluster, where the respective cluster-wide parameter optimum can be applied. A preliminary case study shows that clustering can provide promising improvements.},
added-at = {2020-04-06T11:25:31.000+0200},
author = {Grohmann, Johannes and Eismann, Simon and Bauer, Andre and Zuefle, Marwin and Herbst, Nikolas and Kounev, Samuel},
biburl = {https://www.bibsonomy.org/bibtex/2f5445750c105d4816bfb673ece5ace5d/samuel.kounev},
booktitle = {2019 IEEE 4th International Workshops on Foundations and Applications of Self* Systems (FAS*W)},
doi = {10.1109/FAS-W.2019.00043},
interhash = {dd7408775073da26d0e5834e9eea3463},
intrahash = {f5445750c105d4816bfb673ece5ace5d},
keywords = {GoogleResearchAward Instrumentation_profiling_and_workload_characterization LibReDE Optimization PRISMA Performance Self-adaptive-systems Self-aware-computing Statistical_estimation_and_machine_learning descartes t_workshop myown},
month = {June},
pages = {134--139},
publisher = {IEEE},
timestamp = {2022-11-16T09:10:02.000+0100},
title = {{Utilizing Clustering to Optimize Resource Demand Estimation Approaches}},
url = {https://doi.org/10.1109/FAS-W.2019.00043},
venue = {Umea, Sweden},
year = 2019
}