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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
- 4.
Uhyve is an acronym for Unikernel Hypervisor.
- 5.
The compiler flags -O3 -march=native -mtune=native are used.
- 6.
- 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).
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.
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.
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.
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.
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.
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.
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.
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.
Lankes, S., Pickartz, S., & Breitbart, J. (2017). A low noise unikernel for extrem-scale systems (pp. 73–84). Cham: Springer International Publishing.
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.
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.
Matsson, T. (2010). The future of many core computing—a tale of two processors. Accessed 06 Nov 2015.
Mattson, T. & van der Wijngaart, R. (2010). RCCE: a Small Library for Many-Core Communication. Intel Corporation. Software 1.0-release.
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).
Milojičić, D.S., Douglis, F., Paindaveine, Y., Wheeler, R., & Zhou, S. (2000). Process migration. ACM Computing Surveys (CSUR).
Morshedi, M., & Haugerud, H. (2017). Making the case for highly efficient multicore enabled unikernels with IncludeOS. CLOUD COMPUTING 2017.
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).
Regehr, J. (2002). Inferring scheduling behavior with hourglass. Proceedings of the USENIX Annual Technical Conference, FREENIX Track (pp. 143–156). USA.
Triplett, J. (2015). Using the KVM API. Accessed 25 Nov 2017.
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.
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.
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Singapore Pte Ltd.
About this chapter
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)