Tessellation is a manycore OS targeted at the resource
management challenges of emerging client devices, including the need for real-time and QoS guarantees. It is
predicated on two central ideas: Space-Time Partitioning (STP) and Two-Level Scheduling. STP provides performance isolation and strong partitioning of resources
among interacting software components, called Cells.
Two-Level Scheduling separates global decisions about
the allocation of resources to Cells from applicationspecific scheduling of resources within Cells. We describe Tessellation’s Cell model and its resource allocation architecture. We present results from an early prototype running on two different platforms including one
with memory-bandwidth partitioning hardware.
1 Introduction
The trend toward manycore systems (with 64 or more
cores) presents serious challenges for client devices.
Users will expect better performance from applications
as the number of cores increase; this expectation will be
challenging to meet since it requires parallelizing client
applications (which are often not very scalable) and exploiting parallelism that is likely to be fragile and easily disturbed by interference. Further, tomorrow’s applications will consist of variety of components – each of
which presents complex and differing resource requirements. In addition to best-effort computation, users have
an increasing appetite for responsive user interfaces and
high-quality multimedia (e.g., multi-party videoconferencing, multi-player gaming, and music composition)
with stringent real-time requirements; such needs are not
well supported by today’s commodity operating systems.
We believe that the advent of manycore is an opportunity to fundamentally restructure operating systems to
support a simultaneous mix of interactive, real-time, and
high-throughput parallel applications. Our hypothesis is
that a much wider variety of performance goals can be
met by structuring the operating system around resource
distribution, performance isolation, and QoS guarantees;
such structuring is natural in a manycore environment.
This paper investigates the combination of two complementary ideas embodied in our new OS, called Tessellation: Space-Time Partitioning and Two-Level Scheduling. Space-Time Partitioning (STP) [21], exploits novel
Research supported by Microsoft Award #024263, Intel Award
#024894, matching U.C. Discovery funding (Award #DIG07-102270),
and DOE ASCR FastOS Grant #DE-FG02-08ER25849.
Figure 1: Decomposing an application into a set of communicating components and services running with QoS guarantees within Cells. Tessellation provides Cells that host device
drivers and OS services.
software layering and hardware mechanisms (when