ACM Home Page
Please provide us with feedback. Feedback
Helios: heterogeneous multiprocessing with satellite kernels
Full text PdfPdf (474 KB)
Source
ACM Symposium on Operating Systems Principles archive
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles table of contents
Big Sky, Montana, USA
SESSION: Kernals table of contents
Pages 221-234  
Year of Publication: 2009
ISBN:978-1-60558-752-3
Authors
Edmund B. Nightingale  Microsoft Research, Redmond, WA, USA
Orion Hodson  Microsoft Research, Cambridge, United Kingdom
Ross McIlroy  University of Glasgow, Glasgow, United Kingdom
Chris Hawblitzel  Microsoft Research, Redmond, WA, USA
Galen Hunt  Microsoft Research, Redmond, WA, USA
Sponsors
ACM: Association for Computing Machinery
SIGOPS: ACM Special Interest Group on Operating Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 48,   Downloads (12 Months): 59,   Citation Count: 0
Additional Information:

abstract   references   index terms  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1629575.1629597
What is a DOI?

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 from an 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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
ACCETTA, M., BARON, R., BOLOSKY, W., GOLUB, D., RASHID, R., TEVANIAN, A., AND YOUNG, M. Mach: A new kernel foundation for UNIX development. In Proceedings of the Usenix Summer '86 Conference (Atlanta, GA, June 1986), pp. 93--112.
 
2
BOYD-WICKIZER, S., CHEN, H., CHEN, R., MAO, Y., KAASHOEK, F., MORRIS, R., PESTEREV, A., STEIN, L., WU, M., DAI, Y., ZHANG, Y., AND ZHANG, Z. Corey: An operating system for many cores. In Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI 08) (San Diego, CA, December 2008), pp. 43--58.
 
3
CHAKRABORTY, K., WELLS, P.M., AND SOHI, G.S. Computation spreading: employing hardware migration to specialize CMP cores on-the-fly. In ASPLOS-XII: Proceedings of the 12th international conference on Architectural support for programming languages and operating systems (New York, NY, USA, 2006), ACM, pp. 283--292.
 
4
CHAPIN, J., ROSENBLUM, M., DEVINE, S., LAHIRI, T., TEODOSIU, D., AND GUPTA, A. Hive: Fault containment for shared-memory multiprocessors. In Proceedings of the 15th ACM Symposium on Operating Systems Principles (1995), pp. 12--25.
 
5
CHIU, S.C., LIAO, W.-K., CHOUDHARY, A.N., AND KANDEMIR, M.T. Processor-embedded distributed smart disks for I/O-intensive workloads: architectures, performance models and evaluation. J. Parallel Distrib. Comput. 64, 3 (2004), 427--446.
 
6
FÄHNDRICH, M., AIKEN, M., HAWBLITZEL, C., HODSON, O., HUNT, G.C., LARUS, J.R., AND LEVI, S. Language support for fast and reliable message-based communication in Singularity OS. In Proceedings of the 1st Annual European Conference on Computer Systems (Eurosys'06) (April 2006), pp. 177--190.
 
7
FITZGERALD, R., KNOBLOCK, T.B., KNOBLOCK, T.B., RUF, E., STEENSGAARD, B., STEENSGAARD, B., TARDITI, D., AND TARDITI, D. Marmot: an optimizing compiler for Java. Tech. rep., 1999.
 
8
FIUCZYNSKI, M.E., BERSHAD, B.N., MARTIN, R.P., AND CULLER, D.E. Spine: An operating system for intelligent network adapters. Tech. Rep. UW-CSE-98-08-01, University of Washington, August 1998.
 
9
FIUCZYNSKI, M.E., MARTIN, R.P., OWA, T., AND BERSHAD, B.N. SPINE -- a safe programmable and integrated network environment. In Proceedings of the 8th ACM SIGOPS European Workshop (1998), pp. 7--12.
 
10
GAMSA, B., KRIEGER, O., APPAVOO, J., AND STUMM, M. Tornado: Maximizing locality and concurrency in a shared memory multiprocessor operating system. In Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (1999).
 
11
GOVIL, K., TEODOSIU, D., HUANG, Y., AND ROSENBLUM, M. Cellular disco: resource management using virtual clusters on shared-memory multiprocessors. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (1999).
 
12
HITZ, D., HARRIS, G., LAU, J.K., AND SCHWARTZ, A.M. Using UNIX as One Component of a Lightweight Distributed Kernel for Microprocessor File Servers. In Proceedings of the Winter 1990 USENIX Conference (1990), pp. 285--296.
 
13
HUNT, G., AIKEN, M., FÄHNDRICH, M., HAWBLITZEL, C., HODSON, O., LARUS, J., LEVI, S., STEENSGAARD, B., TARDITI, D., AND WOBBER, T. Sealing OS processes to improve dependability and safety. In Proceedings of the 2nd Annual European Conference on Computer Systems (EuroSys '07) (March 2007), pp. 341--354.
 
14
INTERNATIONAL BUSINESS MACHINES. 709 data processing system. http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP709.html, 1957.
 
15
INTERNATIONAL BUSINESS MACHINES. IBM System/370 Principles of Operation, 1974. Reference number GA22-8000-4, S/370-01.
 
16
JUL, E., LEVY, H., HUTCHINSON, N., AND BLACK, A. Fine-grained mobility in the emerald system. ACM Trans. Comput. Syst. 6, 1 (1988), 109--133.
 
17
KATCHER, J. Postmark: a new filesystem benchmark. Tech. Rep. 3022, Network Appliance, October 1997.
 
18
KEETON, K., PATTERSON, D.A., AND HELLERSTEIN, J.M. A case for intelligent disks (idisks). SIGMOD Rec. 27, 3 (1998), 42--52.
 
19
KLIMT, B., AND YANG, Y. Introducing the Enron corpus. In First Conference on Email and Anti-Spam (CEAS) (July 2004).
 
20
MCAULEY, D., AND NEUGEBAUER, R. A case for virtual channel processors. In NICELI '03: Proceedings of the ACM SIGCOMM workshop on Network-I/O convergence (New York, NY, USA, 2003), ACM, pp. 237--242.
 
21
MCILROY, R., AND SVENTEK, J. Hera-JVM: Abstracting processor heterogeneity behind a virtual machine. In The 12th Workshop on Hot Topics in Operating Systems (HotOS 2009) (May 2009).
 
22
MICROSOFT CORPORATION. Singularity RDK. http://www.codeplex.com/singularity, 2008.
 
23
MUIR, S., AND SMITH, J. AsyMOS -- an asymmetric multiprocessor operating system. Open Architectures and Network Programming, 1998 IEEE (Apr 1998), 25--34.
 
24
MUIR, S., AND SMITH, J. Functional divisions in the Piglet multiprocessor operating system. In EW 8: Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications (New York, NY, USA, 1998), ACM, pp. 255--260.
 
25
PIKE, R., PRESOTTO, D., THOMPSON, K., TRICKEY, H., AND WINTERBOTTOM, P. The use of name spaces in Plan 9. Operating Systems Review 27, 2 (1993), 72--76.
 
26
RIEDEL, E., FALOUTSOS, C., GIBSON, G.A., AND NAGLE, D. Active disks for large-scale data processing. Computer 34, 6 (2001), 68--74.
 
27
SCHMUCK, F., AND WYLIE, J. Experience with transactions in QuickSilver. In Proceedings of the 13th ACM Symposium on Operating Systems Principles (October 1991), pp. 239--53.
 
28
SCHÜPBACH, A., PETER, S., BAUMANN, A., ROSCOE, T., BARHAM, P., HARRIS, T., AND ISAACS, R. Embracing diversity in the Barrelfish manycore operating system. In Proceedings of the Workshop on Managed Many-Core Systems (June 2008).
 
29
SEILER, L., CARMEAN, D., SPRANGLE, E., FORSYTH, T., ABRASH, M., DUBEY, P., JUNKINS, S., LAKE, A., SUGERMAN, J., CAVIN, R., ESPASA, R., GROCHOWSKI, E., JUAN, T., AND HANRAHAN, P. Larrabee: a many-core x86 architecture for visual computing. ACM Trans. Graph. 27, 3 (2008), 1--15.
 
30
SILVA, D.D., KRIEGER, O., WISNIEWSKI, R.W., WATERLAND, A., TAM, D., AND BAUMANN, A. K42: an infrastructure for operating system research. SIGOPS Oper. Syst. Rev. 40, 2 (2006), 34--42.
 
31
STEENSGAARD, B., AND JUL, E. Object and native code thread mobility among heterogeneous computers. In SOSP '95: Proceedings of the fifteenth ACM symposium on Operating systems principles (New York, NY, USA, 1995), ACM, pp. 68--77.
 
32
THORNTON, J. Design of a Computer -- The Control Data 6600. Scott, Foreman, and Company, 1970.
 
33
WALKER, B., POPEK, G., ENGLISH, R., KLINE, C., AND THIEL, G. The locus distributed operating system. In SOSP '83: Proceedings of the ninth ACM symposium on Operating systems principles (New York, NY, USA, 1983), ACM, pp. 49--70.
 
34
WEINSBERG, Y., DOLEV, D., ANKER, T., BEN-YEHUDA, M., AND WYCKOFF, P. Tapping into the fountain of cpus: on operating system support for programmable devices. In
 
35
ASPLOS XIII: Proceedings of the 13th international conference on Architectural support for programming languages and operating systems (New York, NY, USA, 2008), ACM, pp. 179--188.