Helios: Heterogeneous Multiprocessing with Satellite Kernels
Proceedings of the 22nd Symposium on Operating Systems Principles (SOSP '09) |
Published by Association for Computing Machinery, Inc.
Helios is an operating system designed to simplify the task of writing, deploying, and tuning applications for heterogeneous platforms. Helios introduces satellite kernels, which export a single, uniform set of OS abstractions across CPUs of disparate architectures and performance characteristics. Access to I/O services such as ﬁle systems are made transparent via remote message passing, which extends a standard microkernel message-passing abstraction to a satellite kernel infrastructure. Helios retargets applications to available ISAs by compiling froman intermediate language. To simplify deploying and tuning application performance, Helios exposes an afﬁnity metric to developers. Afﬁnity provides a hint to the operating system about whether a process would beneﬁt from executing on the same platform as a service it depends upon.
We developed satellite kernels for an XScale programmable I/O card and for cache-coherent NUMA architectures. We ofﬂoaded several applications and operating system components, often by changing only a single line of metadata. We show up to a 28% performance improvement by ofﬂoading tasks to the XScale I/O card. On a mail-server benchmark, we show a 39% improvement in performance by automatically splitting the application among multiple NUMA domains.
Copyright © 2009 by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1 (212) 869-0481, or email@example.com. The definitive version of this paper can be found at ACM's Digital Library --http://www.acm.org/dl/.