Learn More
A widely used approach to achieving service level objectives for a target system (e.g., an email server) is to add a controller that manipulates the target system's tuning parameters. We describe a methodology for designing such controllers for software systems that builds on classical control theory. The classical approach proceeds in two steps: system(More)
Properly optimizing the setting of configuration parameters can greatly improve performance, especially in the presence of changing workloads. This paper explores approaches to online optimization of the Apache web server, focusing on the MaxClients parameter (which controls the maximum number of workers). Using both empirical and analytic techniques, we(More)
Policy-based management provides a means for IT systems to operate according to business needs. Unfortunately, there is often an " impedance mismatch " between the policies administrators want and the controls they are given. Consider the Apache web server. Administrators want to control CPU and memory utiliza-tions, but this must be done indirectly by(More)
Simultaneous multithreading (SMT) is an architectural technique in which the processor issues multiple instructions from multiple threads each cycle. While SMT has been shown to be effective on scientific workloads, its performance on database systems is still an open question. In particular, database systems have poor cache performance, and the addition of(More)
Compiler optimizations are often driven by specific assumptions about the underlying architecture and implementation of the target machine. For example, when targeting shared-memory multiprocessors, parallel programs are compiled to minimize sharing, in order to decrease high-cost, inter-processor communication. This paper reexamines several compiler(More)
The high cost of operating large computing installations has motivated a broad interest in reducing the need for human intervention by making systems self-managing. This paper explores the extent to which control theory can provide an architectural and analytic foundation for building self-managing systems, either from new components or lay-ering on top of(More)
Managing the performance of e-commerce sites is challenging. Site content changes frequently, as do customer interests and business plans, contributing to dynamically varying workloads. To maintain good performance, system administrators must tune their information technology environment on an ongoing basis. Unfortunately, doing so requires considerable(More)