Increasingly, I/O and memory contention limit the performance of applications running on virtualized environments and the cloud. The problem is particularly acute because virtualized systems share memory and I/O resources. Processing resources can be divided by core and shared by context switching incrementally with low overhead. In contrast, workloads sharing memory and I/O interfere with each other: interleaving I/O requests destroys sequential I/O and disk head locality, memory sharing reduces cache-hit rates, and processor sharing flushes high-level caches. This project will develop mechanisms to reduce memory and I/O interference in these environments.