Skip to main content

HermitCore

  • Chapter
  • First Online:

Part of the book series: High-Performance Computing Series ((HPC,volume 1))

Abstract

The complexity of future  supercomputers  will increase on their  path to exascale systems and beyond. System software has to adapt to this complexity to simplify the development of scalable applications. A small, scalable, adaptable, and highly tuned kernel would be best suitable for high-performance computing if common programming interfaces (e.g., MPI, OpenMP ) were still supported. Similar characteristics are likewise important in the cloud computing domain. Here, small environments are desirable as well since the applications mostly run in virtual machines which may influence each other, i.e., the activity of a virtual machine on a neighboring core may decrease the performance due to issues such as cache contamination—which is commonly referred to as the noisy neighbor problem. In addition, small environments reduce the attack vector which is an important aspect for cloud providers. In this chapter, we present the operating system HermitCore, combining two different kernel designs for high performance and cloud computing. HermitCore is a multi-kernel providing the scalability of a lightweight kernel and the flexibility of a full-weight kernel. HermitCore can also be run as a unikernel. These are specialized, single-address-space machine images constructed using library operating systems. This approach supports the removal of obsolete code and allows the compiler to perform link-time optimizations of the whole software stack including the library operating system itself. We show that HermitCore promises excellent performance and propose a novel checkpoint/restart technique for unikernels.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   109.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   149.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   139.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    http://www.hermitcore.org.

  2. 2.

    http://savannah.nongnu.org/projects/lwip/.

  3. 3.

    https://github.com/Solo5/solo5.

  4. 4.

    Uhyve is an acronym for Unikernel Hypervisor.

  5. 5.

    The compiler flags -O3 -march=native -mtune=native  are used.

  6. 6.

    https://www.kernel.org/doc/Documentation/kernel-parameters.txt.

  7. 7.

    Per default, we used 64 KiB as the shared segment size.

References

  • Bratterud, A., Walla, A., Haugerud, H., Engelstad, P.E., & Begnum, K. (2015). IncludeOS: A resource efficient unikernel for cloud services. Proceedings of the 2015 IEEE 7th International Conference on Cloud Computing Technology and Science (CloudCom).

    Google Scholar 

  • Breitbart, J., Pickartz, S., Weidendorfer, J., Lankes, S., & Monti, A. (2017). Dynamic co-scheduling driven by main memory bandwidth utilization. 2017 IEEE International Conference on Cluster Computing (CLUSTER 2017). Accepted for Publication.

    Google Scholar 

  • Bull, J.M., Reid, F., & McDonnell, N. (2012). A microbenchmark suite for OpenMP tasks. Proceedings of the 8th International Conference on OpenMP in a Heterogeneous World, IWOMP 2012 (pp. 271–274). Heidelberg: Springer.

    Google Scholar 

  • Clauss, C., & Pickartz, S. (2015). A collection of MPI benchmarks. https://doi.org/10.5281/zenodo.50723.

  • Clauss, C., Lankes, S., Reble, P., & Bemmerl, T. (2011). Recent advances and future prospects in iRCCE and SCC-MPICH. Proceedings of the 3rd Symposium of the Many-core Applications Research Community (MARC). Germany: KIT Scientific Publishing. Poster Abstract.

    Google Scholar 

  • Clauss, C., Lankes, S., Reble, P., Galowicz, J., Pickartz, S., & Bemmerl, T. (2013). iRCCE: A non-blocking communication extension to the rcce communication library for the intel single-chip cloud computer—version 2.0 iRCCE FLAIR. Technical report, Chair for Operating Systems, RWTH Aachen University. Users’ Guide and API Manual.

    Google Scholar 

  • Clauss, C., Moschny, T., et al. (2016). Dynamic process management with allocation-internal co-scheduling towards interactive supercomputing. Proceedings of 1st Workshop Co-Scheduling of HPC Applicat.

    Google Scholar 

  • Clauss, C., Lankes, S., Reble, P., & Bemmerl, T. (2015). New system software for parallel programming models on the Intel SCC many-core processor. Concurrency and Computation: Practice and Experience, 27(9), 2235–2259.

    Article  Google Scholar 

  • Kantee, A. (2012). Flexible Operating System Internals – The Design and Implementation of the Anykernel and Rump Kernels. Ph.D. thesis, Department of Computer Science and Engineering, Aalto University, Aalto, Finland.

    Google Scholar 

  • Lankes, S., Pickartz, S., & Breitbart, J. (2016). HermitCore: A unikernel for extreme scale computing. Proceedings of the 6th International Workshop on Runtime and Operating Systems for Supercomputers, ROSS 2016 (pp. 4:1–4:8). USA: ACM.

    Google Scholar 

  • Lankes, S., Pickartz, S., & Breitbart, J. (2017). A low noise unikernel for extrem-scale systems (pp. 73–84). Cham: Springer International Publishing.

    Google Scholar 

  • Madhavapeddy, A., Mortier, R., Rotsos, C., Scott, D., Singh, B., Gazagnaire, T., Smith, S., Hand, S., & Crowcroft, J. (2013). Unikernels: Library operating systems for the cloud. Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2013 (pp. 461–472). USA: ACM.

    Google Scholar 

  • Manco, F., Lupu, C., Schmidt, F., Mendes, J., Kuenzer, S., Sati, S., et al. (2017). My VM is Lighter (and Safer) than your Container. USA: ACM.

    Google Scholar 

  • Matsson, T. (2010). The future of many core computing—a tale of two processors. Accessed 06 Nov 2015.

    Google Scholar 

  • Mattson, T. & van der Wijngaart, R. (2010). RCCE: a Small Library for Many-Core Communication. Intel Corporation. Software 1.0-release.

    Google Scholar 

  • Mattson, T.G., van der Wijngaart, R.F., Riepen, M., Lehnig, T., Brett, P., Haas, W., et al. (2010). The 48-core SCC processor: the programmer’s view. 2010 International Conference for High Performance Computing Networking Storage and Analysis (SC) (pp. 1–11).

    Google Scholar 

  • Milojičić, D.S., Douglis, F., Paindaveine, Y., Wheeler, R., & Zhou, S. (2000). Process migration. ACM Computing Surveys (CSUR).

    Google Scholar 

  • Morshedi, M., & Haugerud, H. (2017). Making the case for highly efficient multicore enabled unikernels with IncludeOS. CLOUD COMPUTING 2017.

    Google Scholar 

  • Pickartz, S., Lankes, S., Monti, A., Clauss, C., & Breitbart, J. (2016). Application migration in HPC—a driver of the exascale era? 2016 International Conference on High Performance Computing Simulation (HPCS) (pp. 318–325).

    Google Scholar 

  • Regehr, J. (2002). Inferring scheduling behavior with hourglass. Proceedings of the USENIX Annual Technical Conference, FREENIX Track (pp. 143–156). USA.

    Google Scholar 

  • Triplett, J. (2015). Using the KVM API. Accessed 25 Nov 2017.

    Google Scholar 

  • Williams, D. & Koller, R. (2016). Unikernel monitors: Extending minimalism outside of the box. 8th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 16). USENIX Association: USA.

    Google Scholar 

  • Zhang, J., Lu, X., Chakraborty, S., & Panda, D. K. D. (2016). Slurm-V: Extending Slurm for Building Efficient HPC Cloud with SR-IOV and IVShmem (pp. 349–362). Springer: International Publishing.

    Google Scholar 

Download references

Acknowledgements

This research and development was supported by the Federal Ministry of Education and Research (BMBF) under Grant 01IH16010C (Project ENVELOPE).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stefan Lankes .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Lankes, S., Pickartz, S., Breibart, J. (2019). HermitCore. In: Gerofi, B., Ishikawa, Y., Riesen, R., Wisniewski, R.W. (eds) Operating Systems for Supercomputers and High Performance Computing. High-Performance Computing Series, vol 1. Springer, Singapore. https://doi.org/10.1007/978-981-13-6624-6_20

Download citation

  • DOI: https://doi.org/10.1007/978-981-13-6624-6_20

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-13-6623-9

  • Online ISBN: 978-981-13-6624-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics