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)
The growth of e-commerce is creating demand for services with financial incentives for service providers. Such services are specified by service level agreements (SLAs) in which revenue accrues with the number of completed transactions, and costs are incurred if response times go above a specified threshold. In this paper we propose a profit-oriented(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)