Many-core Virtualization and Operating Systems



In this chapter we focus on the design of future operating systems that can support, in a scalable manner, chips with hundreds of cores. We evaluate the fundamental design principles—space sharing, support for heterogeneity, power efficiency, virtualization and layering—and the reasons behind these principles, as well as the forces driving a departure from today’s established concept. In the second part of the chapter we introduce the most promising experimental operating systems—such as Corey, fOS, HeliOS, Tessellation and Barrelfish—to exemplify how these principles can and most likely will be implemented in commercial operating systems. Finally, we shortly look at emerging weak signals that may add further features to operating systems that can support many-core chips.


Virtual Machine Virtual Machine Monitor Address Tree Core Usage Operating System Kernel 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Gough C, Siddha S, Chen K (2007) Kernel Scalability – Expanding the Horizon Beyond Fine Grain Locks. Proceedings of the Linux Simposium 1:153-166Google Scholar
  2. 2.
    Baumann A et al (2009) The Multikernel: a New OS Architecture for Scalable Multicore Systems. Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles: 29-44Google Scholar
  3. 3.
    Multicore requires OS rework, Windows Architect advises. http://www.networkworld. com/news/2010/031910-multicore-requires-os-rework-windows.html. Accessed 11 January 2011
  4. 4.
    Boyd-Wickizer S et al (2008) Corey: An Operating System for Many Cores. Proceedings of the 8th USENIX Symposium on Operating Systems Design and Implementation: 43-59Google Scholar
  5. 5.
    Colmenares J A et al (2010) Resource Management in the Tessellation Manycore OS. Proceedings of the 2nd USENIX Workshop on Hot Topics in ParallelismGoogle Scholar
  6. 6.
    Wentzlaff D et al (2010) An Operating System for Multicore and Clouds: Mechanisms and Implementation. ACM Symposium on Cloud Computing.Google Scholar
  7. 7.
    Baumann A et al (2010) The Multikernel: A New OS Architecture for Scalable Multicore Systems. Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles: 29-44Google Scholar
  8. 8.
    Hill M D, Marty M R (2008) Amdahl’s Law in the Multi-core Era. IEEE ComputerGoogle Scholar
  9. 9.
    Shelepov D, Fedorova A (2008) Scheduling on Heterogeneous Multicore Processors Using Architectural Signatures. Proceedings of the Workshop on the Interaction between Operating Systems and Computer ArchitectureGoogle Scholar
  10. 10.
    Saez J C, Prieto M, Fedorova A, Blagodurov S (2010) A Comprehensive Scheduler for Asymmetric Multicore Processors. Proceedings of the 5th ACM European Conference on Computer SystemsGoogle Scholar
  11. 11.
    Vajda A (2010) Handling of Shared Memory in Many-Core Processors without Locks and Transactional Memory. Proceedings of the 2010 Workshop on Programmability Issues for Multi-Core ComputersGoogle Scholar
  12. 12.
    Suleman M A, Mutlu O, Qureshi M K, Patt Y N (2009) Accelerating Critical Section Execution with Assymetric Multi-Core Architectures. Proceedings of the International Conference on Architectural Support for Programming Languages and Operating SystemsFollow the dataGoogle Scholar
  13. 13.
    Nightingale E B, Hodson O, McIlroy R, Hawblitzel C, Hunt G (2009) HeliOS: Heterogeneous Multiprocessing with Satellite Kernels. Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles: 221-234Google Scholar
  14. 14.
    Enea (2010) Enea OSE: Multicore Real-Time Operating System (RTOS). Accessed 11 January 2011
  15. 15.
    Popek G J, Goldberg R P (1974) Formal Requirements for Virtualizable Third Generation Architectures. Communications of the ACM 17(7):412-421Google Scholar
  16. 16.
    Krishnamurti S (2007) Get Juiced! VMWare’s Executive Blog, Accessed 11 January 2011Google Scholar
  17. 17.
    Ohsawa T, Takagi M, Kawahara S, Matsushita S (2005) Pinot: Speculative multi-threading processor architecture exploiting parallelism over a wide range of granularities. Proceedings of the 38th annual IEEE/ACM International Symposium on Microarchitecture: 81–92Google Scholar
  18. 18.
    Steffan J G, Mowry T C (1998) The potential for using thread level data speculation to facilitate automatic parallelization. Proceedings of the 4th International Symposium on High- Performance Computer Architecture: 2–13Google Scholar
  19. 19.
    Vajda A, Stenström P (2010) Semantic Information based Speculative Parallel Execution. Proceedings 3rd Workshop on Parallel Execution of Sequential Programs on Multi-Core ArchitecturesGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  1. 1.Oy L M Ericsson AbJorvasFinland

Personalised recommendations