Data mining: practical machine learning tools and techniques with Java implementations
Data mining: practical machine learning tools and techniques with Java implementations
Preserving QoS of e-commerce sites through self-tuning: a performance model approach
Proceedings of the 3rd ACM conference on Electronic Commerce
An Architectural Evaluation of Java TPC-W
HPCA '01 Proceedings of the 7th International Symposium on High-Performance Computer Architecture
OnCall: Defeating Spikes with a Free-Market Application Cluster
ICAC '04 Proceedings of the First International Conference on Autonomic Computing
Dynamic Black-Box Performance Model Estimation for Self-Tuning Regulators
ICAC '05 Proceedings of the Second International Conference on Automatic Computing
Dynamic Provisioning of Multi-tier Internet Applications
ICAC '05 Proceedings of the Second International Conference on Automatic Computing
Towards Self-Configuring Hardware for Distributed Computer Systems
ICAC '05 Proceedings of the Second International Conference on Automatic Computing
Capturing, indexing, clustering, and retrieving system history
Proceedings of the twentieth ACM symposium on Operating systems principles
Autonomous return on investment analysis of additional processing resources
International Journal of Autonomic Computing
Regression-based resource provisioning for session slowdown guarantee in multi-tier Internet servers
Journal of Parallel and Distributed Computing
Automatically finding performance problems with feedback-directed learning software testing
Proceedings of the 34th International Conference on Software Engineering
Hi-index | 0.00 |
As computer systems continue to increase in complexity, the need for AI-based solutions is becoming more urgent. For example, high-end servers that can be partitioned into logical subsystems and repartitioned on the fly are now becoming available. This development raises the possibility of reconfiguring distributed systems online to optimize for dynamically changing workloads. However, it also introduces the need to decide when and how to reconfigure. This paper presents one approach to solving this online reconfiguration problem. In particular, we learn to identify, from only low-level system statistics, which of a set of possible configurations will lead to better performance under the current unknown workload. This approach requires no instrumentation of the system's middleware or operating systems. We introduce an agent that is able to learn this model and use it to switch configurations online as the workload varies. Our agent is fully implemented and tested on a publicly available multi-machine, multi-process distributed system (the online transaction processing benchmark TPC-W). We demonstrate that our adaptive configuration is able to outperform any single fixed configuration in the set over a variety of workloads, including gradual changes and abrupt workload spikes.