Resource Management in the Tessellation Manycore OS ∗

Tessellation is a manycore OS predicated on two central ideas: Space-Time Partitioning (STP) and Two-Level Scheduling. STP exploits novel hardware and software mechanisms to provide performance isolation and strong partitioning of resources (such as cores or memory bandwidth) among interacting software components, called “Cells”. Two-Level Scheduling separates global decisions about the allocation and distribution of resources to Cells from application-specific scheduling of resources within Cells. We describe Tessellation’s Cell model, its resource allocation architecture, and basic policies for resource management. We present results from our prototype running on both an 8-core Nehalem machine and an FPGA-emulation of a 64-core machine with memorybandwidth partitioning hardware.

[1]  James P. Hennessy,et al.  Multiple Operating Systems on One Processor Complex , 1989, IBM Syst. J..

[2]  David L. Black Scheduling support for concurrency and parallelism in the Mach operating system , 1990, Computer.

[3]  Dawson R. Engler,et al.  Exokernel: an operating system architecture for application-level resource management , 1995, SOSP.

[4]  Peter Druschel,et al.  Resource containers: a new facility for resource management in server systems , 1999, OSDI '99.

[5]  William J. Bolosky,et al.  Progress-based regulation of low-importance processes , 1999, SOSP.

[6]  Katherine Yelick,et al.  Introduction to UPC and Language Specification , 2000 .

[7]  Mendel Rosenblum,et al.  Cellular disco: resource management using virtual clusters on shared-memory multiprocessors , 2000, TOCS.

[8]  HarrisTim,et al.  Xen and the art of virtualization , 2003 .

[9]  Joefon Jann,et al.  Dynamic reconfiguration: Basic building blocks for autonomic computing on IBM pSeries servers , 2003, IBM Syst. J..

[10]  Daniel A. Menascé,et al.  Resource Allocation for Autonomic Data Centers using Analytic Performance Models , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[11]  Bratin Saha,et al.  Enabling scalability and performance in a large scale CMP environment , 2007, EuroSys '07.

[12]  Yan Solihin,et al.  A Framework for Providing Quality of Service in Chip Multi-Processors , 2007, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007).

[13]  Yuxiong He,et al.  Adaptive Scheduling with Parallelism Feedback , 2006, 2007 IEEE International Parallel and Distributed Processing Symposium.

[14]  Kai Li,et al.  The PARSEC benchmark suite: Characterization and architectural implications , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[15]  Yang Zhang,et al.  Corey: An Operating System for Many Cores , 2008, OSDI.

[16]  Adrian Schüpbach,et al.  Embracing diversity in the Barrelfish manycore operating system , 2008 .

[17]  Krste Asanovic,et al.  Globally-Synchronized Frames for Guaranteed Quality-of-Service in On-Chip Networks , 2008, 2008 International Symposium on Computer Architecture.

[18]  Francisco J. Cazorla,et al.  Multicore Resource Management , 2008, IEEE Micro.

[19]  Michael I. Jordan,et al.  Automatic exploration of datacenter performance regimes , 2009, ACDC '09.

[20]  Anant Agarwal,et al.  Factored operating systems (fos): the case for a scalable operating system for multicores , 2009, OPSR.

[21]  Kevin Klues,et al.  Tessellation: space-time partitioning in a manycore client OS , 2009 .

[22]  Benjamin Hindman,et al.  Lithe: enabling efficient composition of parallel libraries , 2009 .

[23]  Peter Nobel,et al.  Towards versatile performance models for complex, popular applications , 2010, PERV.

[24]  David A. Patterson,et al.  A case for FAME: FPGA architecture model execution , 2010, ISCA.

[25]  Zhen Zhang,et al.  Real-Time-Component Based Software Architecture for QoS-adaptive Networked Multimedia Applications , 2010, 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[26]  David A. Patterson,et al.  RAMP gold: An FPGA-based architecture simulator for multiprocessors , 2010, Design Automation Conference.

[27]  Kevin Klues,et al.  Processes and Resource Management in a Scalable Many-core OS ∗ , 2010 .

[28]  Benjamin Hindman,et al.  Composing parallel software efficiently with lithe , 2010, PLDI '10.