@inproceedings{nightingale2009helios, author = {Nightingale, Ed and Hodson, Orion and McIlroy, Ross and Hawblitzel, Chris and Hunt, Galen}, title = {Helios: Heterogeneous Multiprocessing with Satellite Kernels}, booktitle = {Proceedings of the 22nd Symposium on Operating Systems Principles (SOSP '09)}, year = {2009}, month = {October}, abstract = {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 file 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 affinity metric to developers. Affinity provides a hint to the operating system about whether a process would benefit 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 offloaded several applications and operating system components, often by changing only a single line of metadata. We show up to a 28% performance improvement by offloading 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.}, publisher = {Association for Computing Machinery, Inc.}, url = {http://approjects.co.za/?big=en-us/research/publication/helios-heterogeneous-multiprocessing-with-satellite-kernels/}, edition = {Proceedings of the 22nd Symposium on Operating Systems Principles (SOSP '09)}, }