Preview
Description
We address the system-level challenge of supporting a dynamically changing, complex mix of simultaneously running applications with diverse requirements including responsiveness, throughput, and performance guarantees. In our approach, called Adaptive Resource Centric Computing (ARCC), the OS distributes resources to QoS domains called cells, which are explicitly parallel lightweight containers with guaranteed, user-level access to resources. The resource allocations are dynamically adjusted whenever applications change state or the mix of applications changes. This paper gives explicit details about our implementation of ARCC on Tessellation OS, an experimental platform for resource management on multicore-based computers. We discuss the implementation of cells, user-level scheduling, and resource allocation policies. Our running example is a realistic video conferencing scenario that incorporates parallelism, QoS guarantees, and dynamic optimization with two-level scheduling. Our system reduces reserved CPU bandwidth to 69.95% of that of a static allocation, while still meeting performance and QoS targets.