Skip to main content

Orchestrating Docker Containers in the HPC Environment

  • Conference paper
  • First Online:
High Performance Computing (ISC High Performance 2015)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9137))

Included in the following conference series:

Abstract

Linux container technology has more than proved itself useful in cloud computing as a lightweight alternative to virtualisation, whilst still offering good enough resource isolation. Docker is emerging as a popular runtime for managing Linux containers, providing both management tools and a simple file format. Research into the performance of containers compared to traditional Virtual Machines and bare metal shows that containers can achieve near native speeds in processing, memory and network throughput. A technology born in the cloud, it is making inroads into scientific computing both as a format for sharing experimental applications and as a paradigm for cloud based execution. However, it has unexplored uses in traditional cluster and grid computing. It provides a run time environment in which there is an opportunity for typical cluster and parallel applications to execute at native speeds, whilst being bundled with their own specific (or legacy) library versions and support software. This offers a solution to the Achilles heel of cluster and grid computing that requires the user to hold intimate knowledge of the local software infrastructure. Using Docker brings us a step closer to more effective job and resource management within the cluster by providing both a common definition format and a repeatable execution environment. In this paper we present the results of our work in deploying Docker containers in the cluster environment and an evaluation of its suitability as a runtime for high performance parallel execution. Our findings suggest that containers can be used to tailor the run time environment for an MPI application without compromising performance, and would provide better Quality of Service for users of scientific computing.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Institutional subscriptions

References

  1. Blas (basic linear algebra subprograms). http://www.netlib.org/blas/

  2. Docker. https://www.docker.com/

  3. Dockerfile reference - docker documentation, Version 1.4. https://docs.docker.com/reference/builder/

  4. Intel math kernel library linpack download. https://software.intel.com/en-us/articles/intel-math-kernel-library-linpack-download

  5. Kernel based virtual machine. http://www.linux-kvm.org/

  6. MPICH high performance portable MPI. http://www.mpich.org/

  7. Open MPI: Open source high performance computing. http://www.open-mpi.org/

  8. Charlie, C.: Standards for grid computing: global grid forum. J. Grid Comput. 1(1), 3–7 (2003)

    Article  Google Scholar 

  9. Dooley, R.: Agave docker quickstart (2014). https://bitbucket.org/deardooley/agave-docker-support/

  10. Dooley, R., Vaughn, M., Stanzione, D., Terry, S., Skidmore, E.: Software-as-a-service: the iplant foundation API. In: 5th IEEE Workshop on Many-Task Computing on Grids and Supercomputers, November 2012

    Google Scholar 

  11. Emeneker, W., Stanzione, D.: Dynamic virtual clustering. In: 2007 IEEE International Conference on Cluster Computing, pp. 84–90, September 2007

    Google Scholar 

  12. Felter, W., Ferreira, A., Rajamony, R., Rubio, J.: An updated performance comparison of virtual machines and linux containers. Technology 28, 32 (2014)

    Google Scholar 

  13. Kerrisk, M.: Namespaces in operation, part 1: namespaces overview (2014). http://lwn.net/Articles/531114/. Accessed 7 February 2015

  14. Menage, P.: Cgroups. https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt. Accessed 7 February 2015

  15. Smith, J., Nair, R.: Virtual Machines: Versatile Platforms for Systems and Processes. Morgan Kaufmann, San Francisco (2005)

    Google Scholar 

  16. Tannenbaum, T.: Htcondor and hep partnership and activities (2014). Presented at the HEPiX Fall 2014 Workshop. University of Nebraska, Lincoln, 13–17 October 2014

    Google Scholar 

  17. Vallee, G., Naughton, T., Scott, S.L.: System management software for virtual environments. In: Proceedings of the 4th International Conference on Computing Frontiers, pp. 153–160. ACM (2007)

    Google Scholar 

  18. Weiss, A.: Computing in the clouds. netWorker 11(4), 16–25 (2007)

    Article  Google Scholar 

Download references

Acknowledgments

The experimental results for this work could not have been obtained without the resources and support provided by the QueensGate Grid (QGG) at The University of Huddersfield.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joshua Higgins .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Higgins, J., Holmes, V., Venters, C. (2015). Orchestrating Docker Containers in the HPC Environment. In: Kunkel, J., Ludwig, T. (eds) High Performance Computing. ISC High Performance 2015. Lecture Notes in Computer Science(), vol 9137. Springer, Cham. https://doi.org/10.1007/978-3-319-20119-1_36

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-20119-1_36

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-20118-4

  • Online ISBN: 978-3-319-20119-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics