Optimizing Resource Allocations for Dynamic Interactive Applications
Sarah Bird · 2014
Modern computing systems are under intense pressure to provide guaranteed responsive-ness to their workloads. Ideally, applications with strict performance requirements should be given just enough resources to meet these requirements consistently, without unnecessarily siphoning resources from other applications. However, executing multiple parallel, real-time applications while satisfying response time requirements is a complex optimization problem and traditionally operating systems have provided little support to provide QoS to applica-tions. As a result, client, cloud, and embedded systems have all resorted to over-provisioning and isolating applications to guarantee responsiveness. Instead, we present PACORA, a re-source allocation framework designed to provide responsiveness guarantees to a simultaneous mix of high-throughput parallel, interactive, and real-time applications in an ecient, scal-able manner. By measuring application behavior directly and using convex optimization techniques, PACORA is able to understand the resource requirements of applications and perform near-optimal resource allocation—2 % from the best allocation in 1.4ms while only requiring a few hundred bytes of storage per application.