Traditional OS architectures based on a single, shared-memory kernel face significant challenges from hardware trends, in particular the increasing cost of system-wide cachecoherence as core counts increase, and the emergence of heterogeneous architectures – both on a single die, and also between CPUs, co-processors like GPUs, and programmable peripherals within a platform. The multikernel is an alternative OS model that employs message passing instead of data sharing and enables architectureagnostic inter-core communication, including across non-coherent shared memory and PCIe peripheral buses. This allows a single OS instance to manage the complete collection of heterogeneous, non-cache-coherent processors as a single, unified platform. We report on our experience running the Barrelfish research multikernel OS on the Intel Single-Chip Cloud Computer (SCC). We describe the minimal changes required to bring the OS up on the SCC, and present early performance results from an SCC system running standalone, and also a single Barrelfish instance running across a heterogeneous machine consisting of an SCC and its host PC.
[1]
Timothy G. Mattson,et al.
Light-weight communications on Intel's single-chip cloud computer processor
,
2011,
OPSR.
[2]
John K. Ousterhout,et al.
Scheduling Techniques for Concurrent Systems
,
1982,
ICDCS.
[3]
Galen C. Hunt,et al.
Helios: heterogeneous multiprocessing with satellite kernels
,
2009,
SOSP '09.
[4]
Timothy Mattson,et al.
A 48-Core IA-32 message-passing processor with DVFS in 45nm CMOS
,
2010,
2010 IEEE International Solid-State Circuits Conference - (ISSCC).
[5]
Larry Rudolph,et al.
Gang Scheduling Performance Benefits for Fine-Grain Synchronization
,
1992,
J. Parallel Distributed Comput..
[6]
Adrian Schüpbach,et al.
The multikernel: a new OS architecture for scalable multicore systems
,
2009,
SOSP '09.