Cypress : A Scheduling Infrastructure for a Many-Core Hypervisor

In this position paper, we present our vision for the scheduling infrastructure in a many-core hypervisor – the hypervisor targeted for many-core platforms. The key objectives of our system are scalability and heterogeneity-awareness. We see these as firstorder objectives, because future many-core processors will consist of thousands of cores and those cores will be heterogeneous. Since existing hypervisors were not designed to handle the scale and heterogeneity of many-core hardware, our design will differ from that of existing hypervisors in many important ways. The design of our experimental many-core hypervisor, Cypress, is based on three principles: partitioning, localization, and customization. Together, these principles facilitate scalability, by minimizing the sharing of scheduling runqueues, and manage heterogeneity, by assigning to each VM the cores most suitable for its workload. In this paper we motivate our design, present its key components, discuss challenges in our research, and report on its status.

[1]  Samuel Williams,et al.  The Landscape of Parallel Computing Research: A View from Berkeley , 2006 .

[2]  Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction , 2003, MICRO.

[3]  Michael Stumm,et al.  Tornado: maximizing locality and concurrency in a shared memory multiprocessor operating system , 1999, OSDI '99.

[4]  Richard McDougall,et al.  Solaris Internals: Solaris 10 and OpenSolaris Kernel Architecture , 2006 .

[5]  Karthick Rajamani,et al.  Application-Aware Power Management , 2006, 2006 IEEE International Symposium on Workload Characterization.

[6]  Christoforos E. Kozyrakis,et al.  RAMP: Research Accelerator for Multiple Processors , 2007, IEEE Micro.

[7]  Tajana Simunic,et al.  Dynamic voltage frequency scaling for multi-tasking systems using online learning , 2007, Proceedings of the 2007 international symposium on Low power electronics and design (ISLPED '07).

[8]  Norman P. Jouppi,et al.  Single-ISA heterogeneous multi-core architectures for multithreaded workload performance , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[9]  Patrick Crowley,et al.  Dynamic thread assignment on heterogeneous multiprocessor architectures , 2006, CF '06.

[10]  Suresh Siddha Chip Multi Processing aware Linux Kernel Scheduler , 2010 .

[11]  VMware ESX Server 2 Architecture and Performance Implications , .

[12]  Godmar Back,et al.  Application-Specific System Customization on Many-Core Platforms : The VT-ASOS Framework Position paper , 2007 .

[13]  Dilma Da Silva,et al.  Experience with K42, an open-source, Linux-compatible, scalable operating-system kernel , 2005, IBM Syst. J..

[14]  Dan Tsafrir,et al.  Specialized execution environments , 2008, OPSR.

[15]  Corey Gough,et al.  Kernel Scalability — Expanding the Horizon Beyond Fine Grain Locks , 2010 .

[16]  John Hawkes,et al.  Scaling Linux ® to the Extreme From 64 to 512 Processors , 2010 .

[17]  Lieven Eeckhout,et al.  Microarchitecture-Independent Workload Characterization , 2007, IEEE Micro.

[18]  Franck Cappello,et al.  Scalability Comparison of Four Host Virtualization Tools , 2007, Journal of Grid Computing.