MemRx: "What-If" Performance Predictions for Varying Memory Size - Jones, Stephen T.; Arpaci-Dusseau, Andrea; Arpaci-Dusseau, Remzi (University of Wisconsin-Madison Department of Computer Sciences, 2006)
Understanding and managing complex computer systems is quickly becoming intractable for an unaided administrator. Questions about how to provision server and distributed systems or how workload changes will affect system performance are often hampered by the lack of a clear understanding of how a workload behaves under various system configurations. In this paper we describe and evaluate MemRx, an operating system extension designed to allow an administrator or other systems management agent to answer what-if questions about a workload?s runtime when one important system parameter, main memory size, is increased. Our evaluation of a prototype implementation of MemRx in the Linux kernel shows that it can consistently predict the runtime of a suite of microbenchmark and application workloads to within 10% of their actual value as memory size increases. The runtime overhead imposed by MemRx is small enough (less that 6% in a worst case scenario) to allow the extension to run continuously.