Building an Adaptive Operating System for Predictability and Efficiency

Gage Eads, Juan Colmenares, Steven Hofmeyr, Sarah Bird, Davide Bartolini, David Chou, Brian Glutzman, Krste Asanović and John D. Kubiatowicz

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2014-137
July 7, 2014

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-137.pdf

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.


BibTeX citation:

@techreport{Eads:EECS-2014-137,
    Author = {Eads, Gage and Colmenares, Juan and Hofmeyr, Steven and Bird, Sarah and Bartolini, Davide and Chou, David and Glutzman, Brian and Asanović, Krste and Kubiatowicz, John D.},
    Title = {Building an Adaptive Operating System for Predictability and Efficiency},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2014},
    Month = {Jul},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-137.html},
    Number = {UCB/EECS-2014-137},
    Abstract = {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.}
}

EndNote citation:

%0 Report
%A Eads, Gage
%A Colmenares, Juan
%A Hofmeyr, Steven
%A Bird, Sarah
%A Bartolini, Davide
%A Chou, David
%A Glutzman, Brian
%A Asanović, Krste
%A Kubiatowicz, John D.
%T Building an Adaptive Operating System for Predictability and Efficiency
%I EECS Department, University of California, Berkeley
%D 2014
%8 July 7
%@ UCB/EECS-2014-137
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-137.html
%F Eads:EECS-2014-137