Abstract
OS-level virtualization (containers) has become a popular alternative to hypervisor-based virtualization. From a system-administration point-of-view, containers enable support for user-defined software stacks, thus freeing users of restrictions imposed by the host’s pre-configured software environment. In high performance computing (HPC), containers inspire special interest due to their potentially low overheads on performance. Moreover, they also bring benefits in portability and scientific reproducibility. Despite the potential advantages, the adoption of containers in HPC has been relatively slow, mainly due to specific requirements of the field. These requirements gave rise to various HPC-focused container implementations. Besides unprivileged container execution, they offer different degrees of automation of system-specific optimizations, which are necessary for optimal performance. When we looked into the scientific literature on containers applied to HPC, we were unable to find an up-to-date overview of the state-of-the-art. For this reason, we developed this extensive survey, including 93 carefully selected works. Overall, based on our survey, we argue that issues related to performance overhead are mostly solved. There is, however, a clear trade-off between performance and portability, since optimal performance often depends on host-specific optimizations. A few works propose solutions to mitigate this issue, but there is still room for improvement. Besides, we found surprisingly few works that deal with portability between dedicated HPC systems and public cloud platforms.
Similar content being viewed by others
Data availability
Data sharing is not applicable to this article as no datasets were generated or analyzed during the current study.
Notes
http://linux-vserver.org/ (Acc. in Sept. 2022).
https://www.gnu.org/software/coreutils/manual/html_node/chroot-invocation.html (Acc. in Sept. 2022).
https://man7.org/linux/man-pages/man7/namespaces.7.html (Acc. in Sept. 2022).
https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cgroups.html (Acc. in Sept. 2022).
https://openvz.org (Acc. in Sept. 2022).
https://linuxcontainers.org/ (Acc. in Sept. 2022).
https://www.kernel.org/doc/Documentation/block/cfq-iosched.txt (Acc. in Sept. 2022).
https://linuxcontainers.org/lxd/ (Acc. in Sept. 2022).
https://opencontainers.org/ (Acc. in Sept. 2022).
https://podman.io/ (Acc. in Sept. 2022).
https://docs.docker.com/engine/security/rootless/ (Acc. in Sept. 2022).
References
Abraham S, Paul AK, Khan RIS, Butt AR (2020) On the use of containers in high performance computing environments. In: IEEE 13th International Conference on Cloud Computing (CLOUD). IEEE, Beijing, China, pp 284–293. https://doi.org/10.1109/cloud49709.2020.00048
Aoyama K, Watanabe H, Ohue M, Akiyama Y (2020) Multiple HPC environments-aware container image configuration workflow for large-scale all-to-all protein–protein docking calculations. In: Supercomputing Frontiers. Springer, Cham, pp 23–39. https://doi.org/10.1007/978-3-030-48842-0_2
Arango C, Dernat R, Sanabria J (2017) Performance evaluation of container-based virtualization for high performance computing environments. arXiv:1709.10140. Accessed 13 Sept 2022
Azab A (2017) Enabling Docker containers for high-performance and many-task computing. In: IEEE International Conference on Cloud Engineering, pp 279–285. IEEE, Vancouver, Canada. https://doi.org/10.1109/ic2e.2017.52
Bachiega NG, Souza PSL, Bruschi SM, de Souza SRS (2018) Container-based performance evaluation: a survey and challenges. In: IEEE International Conference on Cloud Engineering (IC2E). IEEE, Vancouver, Canada, pp 398–403. https://doi.org/10.1109/ic2e.2018.00075
Bahls D (2016) Evaluating shifter for HPC applications. In: Cray User Group. CUG, London, UK. https://cug.org/proceedings/cug2016_proceedings/includes/files/pap135s2-file1.pdf. Accessed 13 Sept 2022
Belkin M, Haas R, Arnold GW, Leong HW, Huerta EA, Lesny D, Neubauer M (2018) Container solutions for HPC systems. In: Proceedings of the Practice and Experience on Advanced Research Computing. ACM, New York, NY, USA. https://doi.org/10.1145/3219104.3219145
Beltre AM, Saha P, Govindaraju M, Younge A, Grant RE (2019) Enabling HPC workloads on cloud infrastructure using kubernetes container orchestration mechanisms. In: IEEE/ACM International Workshop on Containers and New Orchestration Paradigms for Isolated Environments in HPC (CANOPIE-HPC). IEEE, Denver, CO, USA, pp 11–20. https://doi.org/10.1109/canopie-hpc49598.2019.00007
Benedicic L, Cruz FA, Madonna A, Mariotti K (2019) Sarus: highly scalable Docker containers for HPC systems. In: International Conference on High Performance Computing. LNCS—ISC-HPC. Springer, Cham, pp 46–60. https://doi.org/10.1007/978-3-030-34356-9_5
Bentaleb O, Belloum AS, Sebaa A, El-Maouhab A (2022) Containerization technologies: taxonomies, applications and challenges. J Supercomput 78(1):1144–1181. https://doi.org/10.1007/s11227-021-03914-1
Beserra D, Moreno ED, Endo PT, Barreto J (2016) Performance evaluation of a lightweight virtualization solution for HPC I/O scenarios. In: IEEE International Conference on Systems, Man, and Cybernetics (SMC). IEEE, Melbourne, Australia, pp 004681–004686. https://doi.org/10.1109/smc.2016.7844970
Brayford D, Vallecorsa S, Atanasov A, Baruffa F, Riviera W (2019) Deploying AI frameworks on secure HPC systems with containers. In: IEEE High Performance Extreme Computing Conference (HPEC). IEEE, Waltham, MA, USA, pp 1–6. https://doi.org/10.1109/hpec.2019.8916576
Brayford D, Allalen M, Iapichino L, Brennan J, Moran N, Q’Riordan LJ, Hanley K (2021) Deploying containerized QuanEX quantum simulation software on HPC systems. In: 3rd International Workshop on Containers and New Orchestration Paradigms for Isolated Environments in HPC (CANOPIE-HPC), pp 1–9. https://doi.org/10.1109/CANOPIEHPC54579.2021.00005
Canon RS, Younge A (2019) A case for portability and reproducibility of HPC containers. In: IEEE/ACM International Workshop on Containers and New Orchestration Paradigms for Isolated Environments in HPC (CANOPIE-HPC). IEEE, Denver, CO, USA, pp 49–54. https://doi.org/10.1109/canopie-hpc49598.2019.00012
Casalicchio E, Iannucci S (2020) The state-of-the-art in container technologies: application, orchestration and security. Concurr Comput 32(17):5668. https://doi.org/10.1002/cpe.5668.e5668cpe.5668
Cavet C, Souchal M, Gadrat S, Grasseau G, Satirana A, Bailly-Reyre A, Dadoun O, Mendoza V, Chamont D, Marchal-Duval G, Medernach E, Pansanel J (2020) ComputeOps: container for high performance computing. EPJ Web Conf 245:07006. https://doi.org/10.1051/epjconf/202024507006
Cerin C, Greneche N, Menouer T (2020) Towards pervasive containerization of HPC job schedulers. In: International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD). IEEE, Porto, Portugal, pp 281–288. https://doi.org/10.1109/sbac-pad49847.2020.00046
Chang Y-TS, Heistand S, Hood R, Jin H (2021) Feasibility of running singularity containers with hybrid MPI on NASA high-end computing resources. In: 3rd International Workshop on Containers and New Orchestration Paradigms for Isolated Environments in HPC (CANOPIE-HPC), pp 17–28. https://doi.org/10.1109/CANOPIEHPC54579.2021.00007
Chen J, Guan Q, Liang X, Bryant P, Grubel P, McPherson A, Lo L-T, Randles T, Chen Z, Ahrens JP (2018) Build and execution environment (BEE): an encapsulated environment enabling HPC applications running everywhere. In: IEEE International Conference on Big Data (Big Data). IEEE, Seattle, WA, USA, pp 1737–1746. https://doi.org/10.1109/bigdata.2018.8622572
Chung MT, Le A, Quang-Hung N, Nguyen D-D, Thoai N (2016) Provision of Docker and InfiniBand in high performance computing. In: International Conference on Advanced Computing and Applications (ACOMP). IEEE, Can Tho City, Vietnam, pp 127–134. https://doi.org/10.1109/acomp.2016.027
Chung MT, Quang-Hung N, Nguyen M-T, Thoai N (2016) Using Docker in high performance computing applications. In: IEEE Sixth International Conference on Communications and Electronics (ICCE). IEEE, Ha Long Bay, Vietnan, pp 52–57. https://doi.org/10.1109/cce.2016.7562612
de Bayser M, Cerqueira R (2017) Integrating MPI with Docker for HPC. In: IEEE International Conference on Cloud Engineering (IC2E). IEEE, Vancouver, BC, Canada, pp 259–265. https://doi.org/10.1109/ic2e.2017.40
Freyermuth O, Wienemann P, Bechtle P, Desch K (2021) Operating an HPC/HTC cluster with fully containerized jobs using HTCondor, Singularity, CephFS and CVMFS. Comput Softw Big Sci 5(1):1–20. https://doi.org/10.1007/s41781-020-00050-y
Gantikow H, Walter S, Reich C (2020) Rootless containers with Podman for HPC. In: International Conference on High Performance Computing. LNCS—ISC-HPC. Springer, Cham, pp 343–354. https://doi.org/10.1007/978-3-030-59851-8_23
Gerhardt L, Bhimji W, Canon S, Fasel M, Jacobsen D, Mustafa M, Porter J, Tsulaia V (2017) Shifter: containers for HPC. J Phys Conf Ser 898:082021. https://doi.org/10.1088/1742-6596/898/8/082021
Gomes J, Bagnaschi E, Campos I, David M, Alves L, Martins JA, Pina JA, López-García A, Orviz P (2018) Enabling rootless Linux containers in multi-user environments. The udocker tool. Comput Phys Commun 232:84–97. https://doi.org/10.1016/j.cpc.2018.05.021
Grupp A, Kozlov V, Campos I, David M, Gomes J, López García Á (2019) Benchmarking deep learning infrastructures by means of TensorFlow and containers. In: International Conference on High Performance Computing. LNCS—ISC-HPC, pp. 478–489. Springer, Cham. https://doi.org/10.1007/978-3-030-34356-9_36
Hale JS, Li L, Richardson CN, Wells GN (2017) Containers for portable, productive, and performant scientific computing. Comput Sci Eng 19(6):40–50. https://doi.org/10.1109/mcse.2017.2421459
Heinonen N (2019) ALCF research benefits from singularity. https://www.hpcwire.com/off-the-wire/alcf-research-benefits-from-singularity/. Accessed 13 Feb 2022
Herbein S, Dusia A, Landwehr A, McDaniel S, Monsalve J, Yang Y, Seelam SR, Taufer M (2016) Resource management for running HPC applications in container clouds. In: International Conference on High Performance Computing. LNCS—ISC-HPC, vol. 9697, pp. 261–278. Springer, Frankfurt, Germany. https://doi.org/10.1007/978-3-319-41321-1_14
Higgins J, Holmes V, Venters C (2016) Autonomous discovery and management in virtual container clusters. Comput J 60(2):240–252. https://doi.org/10.1093/comjnl/bxw102
Higgins J, Holmes V, Venters C (2016) Securing user defined containers for scientific computing. In: International Conference on High Performance Computing and Simulation (HPCS). IEEE, Innsbruck, Austria, pp 449–453. https://doi.org/10.1109/hpcsim.2016.7568369
Hisle MS, Meier MS, Toth DM (2018) Accelerating AutoDock vina with containerization. In: Proceedings of the Practice and Experience on Advanced Research Computing. ACM, New York, NY, USA. https://doi.org/10.1145/3219104.3219154
Höb M, Kranzlmüller D (2020) Enabling EASEY deployment of containerized applications for future HPC systems. In: 20th International Conference on Computational Science (ICCS). Springer, Cham, pp 206–219. https://doi.org/10.1007/978-3-030-50371-0_15
Hu G, Zhang Y, Chen W (2019) Exploring the performance of singularity for high performance computing scenarios. In: IEEE 5th International Conference on Data Science and Systems (DSS). IEEE, Zhangjiajie, China, pp 2587–2593. https://doi.org/10.1109/hpcc/smartcity/dss.2019.00362
Huang L, Wang Y, Lu C-Y, Liu S (2021) Best practice of IO workload management in containerized environments on supercomputers. In: Proceedings of Practice and Experience in Advanced Research Computing (PEARC). ACM, New York, NY, USA. https://doi.org/10.1145/3437359.3465561
Hursey J (2020) Design considerations for building and running containerized MPI applications. In: IEEE/ACM International Workshop on Containers and New Orchestration Paradigms for Isolated Environments in HPC (CANOPIE-HPC). IEEE, Atlanta, GA, USA, pp 35–44. https://doi.org/10.1109/canopiehpc51917.2020.00010
Jacobsen DM, Canon RS (2015) Contain this: unleashing Docker for HPC. https://cug.org/proceedings/cug2015_proceedings/includes/files/pap157-file2.pdf. Accessed 13 Sept 2022
Jung K, Cho Y-K, Tak Y-J (2021) Containers and orchestration of numerical ocean model for computational reproducibility and portability in public and private clouds: application of ROMS 3.6. Simul Model Pract Theory 109:102305. https://doi.org/10.1016/j.simpat.2021.102305
Kadri S, Sboner A, Sigaras A, Roy S (2022) Containers in bioinformatics: applications, practical considerations, and best practices in molecular pathology. J Molec Diag 24(5):442–454. https://doi.org/10.1016/j.jmoldx.2022.01.006
Khan M, Becker T, Kuppuudaiyar P, Elster AC (2018) Container-based virtualization for heterogeneous HPC clouds: insights from the EU h2020 CloudLightning project. In: 2018 IEEE International Conference on Cloud Engineering (IC2E). IEEE, Orlando, FL, USA, pp 392–397. https://doi.org/10.1109/ic2e.2018.00074
Kovacs A (2017) Comparison of different Linux containers. In: 40th International Conference on Telecommunications and Signal Processing (TSP). IEEE, Barcelona, Spain, pp 47–51. https://doi.org/10.1109/tsp.2017.8075934
Kuity A, Peddoju SK (2017) Performance evaluation of container-based high performance computing ecosystem using OpenPOWER. In: International Conference on High Performance Computing. LNCS—ISC-HPC. Springer, Cham, pp 290–308. https://doi.org/10.1007/978-3-319-67630-2_22
Kumar M, Kaur G (2022) Containerized MPI application on Infiniband based HPC: an empirical study. In: 3rd International Conference for Emerging Technology (INCET), pp 1–6. https://doi.org/10.1109/INCET54531.2022.9824366
Kumar Abhishek M (2020) High performance computing using containers in cloud. Int J Adv Trends Comput Sci Eng 9(4):5686–5690. https://doi.org/10.30534/ijatcse/2020/220942020
Kurtzer GM, Sochat V, Bauer MW (2017) Singularity: scientific containers for mobility of compute. PLoS One 12(5):1–20. https://doi.org/10.1371/journal.pone.0177459
Lahiff A, de Witt S, Caballer M, La Rocca G, Pamela S, Coster D (2020) Running HTC and HPC applications opportunistically across private, academic and public clouds. EPJ Web Conf 245:07032. https://doi.org/10.1051/epjconf/202024507032
Le E, Paz D (2017) Performance analysis of applications using singularity container on SDSC Comet. In: Proceedings of the Practice and Experience in Advanced Research Computing 2017 on Sustainability, Success and Impact (PEARC). ACM, New York, NY, USA. https://doi.org/10.1145/3093338.3106737
Lee M, Ahn H, Hong C-H, Nikolopoulos DS (2022) gShare: a centralized GPU memory management framework to enable GPU memory sharing for containers. Future Gener Comput Sys 130:181–192. https://doi.org/10.1016/j.future.2021.12.016
Lim SB, Woo J, Li G (2020) Performance analysis of container-based networking solutions for high-performance computing cloud. Int J Electr Comput Eng 10(2):1507. https://doi.org/10.11591/ijece.v10i2.pp1507-1514
Liu P, Guitart J (2020) Performance comparison of multi-container deployment schemes for HPC workloads: an empirical study. J Supercomput 77(6):6273–6312. https://doi.org/10.1007/s11227-020-03518-1
Liu P, Guitart J (2022) Performance characterization of containerization for HPC workloads on Infiniband clusters: an empirical study. Clust Comput 25(2):847–868. https://doi.org/10.1007/s10586-021-03460-8
Ma H, Wang L, Tak BC, Wang L, Tang C (2016) Auto-tuning performance of MPI parallel programs using resource management in container-based virtual cloud. In: IEEE 9th International Conference on Cloud Computing (CLOUD). IEEE, San Francisco, CA, USA, pp 545–552. https://doi.org/10.1109/cloud.2016.0078
Maliszewski AM, Vogel A, Griebler D, Roloff E, Fernandes LG, Navaux Philippe OA (2019) Minimizing communication overheads in container-based clouds for HPC applications. In: IEEE Symposium on Computers and Communications (ISCC). IEEE, Barcelona, Spain, pp 1–6. https://doi.org/10.1109/iscc47284.2019.8969716
Maliszewski AM, Roloff E, Griebler D, Gaspary LP, Navaux POA (2020) Performance impact of IEEE 802.3ad in container-based clouds for HPC applications. In: International Conference on Computational Science and Its Applications (ICCSA). Springer, Cham, pp 158–167. https://doi.org/10.1007/978-3-030-58817-5_13
Manalo K, Baber L, Bradley R, You Z-Q, Zhang N (2019) Community collections. In: Proceedings of Practice and Experience in Advanced Research Computing (PEARC) Rise of the Machines (Learning). ACM, New York, NY, USA. https://doi.org/10.1145/3332186.3332199
Martinasso M, Gila M, Sawyer W, Sarmiento R, Peretti-Pezzi G, Karakasis V (2019) Cray programming environments within containers on cray XC systems. Concurr Comput 32(20):5543. https://doi.org/10.1002/cpe.5543.e5543cpe.5543
Medrano-Jaimes F, Lozano-Rizk JE, Castañeda-Avila S, Rivera-Rodriguez R (2019) Use of containers for high-performance computing. In: International Conference on Supercomputing in Mexico. CCIS—ISUM. Springer, Cham, pp 24–32. https://doi.org/10.1007/978-3-030-10448-1_3
Merkel D (2014) Docker: lightweight Linux containers for consistent development and deployment. https://www.linuxjournal.com/content/docker-lightweight-linux-containers-consistent-development-and-deployment. Accessed 13 Sept 2022
Michel M, Burnett N (2019) Enabling GPU-enhanced computer vision and machine learning research using containers. In: International Conference on High Performance Computing. LNCS—ISC-HPC. Springer, Cham, pp 80–87. https://doi.org/10.1007/978-3-030-34356-9_8
Muhtaroglu N, Ari I, Kolcu B (2018) Democratization of HPC cloud services with automated parallel solvers and application containers. Concurr Comput 30(21):4782. https://doi.org/10.1002/cpe.4782
Muscianisi G, Fiameni G, Azab A (2019) Singularity GPU containers execution on HPC cluster. In: Weiland M, Juckeland G, Alam S, Jagode H (eds) International conference on high performance computing. LNCS—ISC-HPC. Springer, Cham, pp 61–68. https://doi.org/10.1007/978-3-030-34356-9_6
Newlin M, Smathers K, DeYoung ME (2019) ARC containers for AI workloads. In: Proceedings of Practice and Experience in Advanced Research Computing (PEARC) Rise of the Machines (Learning). ACM, New York, NY, USA. https://doi.org/10.1145/3332186.3333048
Nguyen N, Bein D (2017) Distributed MPI cluster with docker swarm mode. In: IEEE 7th Annual Computing and Communication Workshop and Conference (CCWC). IEEE, Las Vegas, NV, USA, pp 1–7. https://doi.org/10.1109/ccwc.2017.7868429
Okuno S, Hirai A, Fukumoto N (2022) Performance analysis of multi-containerized MD simulations for low-level resource allocation. In: IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), pp 1014–1017. https://doi.org/10.1109/IPDPSW55747.2022.00162
Pahl C, Brogi A, Soldani J, Jamshidi P (2019) Cloud container technologies: a state-of-the-art review. IEEE Trans Cloud Comput 7(3):677–692. https://doi.org/10.1109/tcc.2017.2702586
Peiro Conde K (2020) Containers in HPC: is it worth it? Master’s thesis. http://hdl.handle.net/2117/335295. Accessed 13 Sept 2022
Piras ME, Pireddu L, Moro M, Zanetti G (2019) Container orchestration on HPC clusters. In: International Conference on High Performance Computing. LNCS—ISC-HPC. Springer, Cham, pp 25–35. https://doi.org/10.1007/978-3-030-34356-9_3
Priedhorsky R, Randles T (2017) Charliecloud. In: Proceedings of International Conference for High Performance Computing, Networking, Storage and Analysis, SC ’17. ACM, New York, NY, USA. https://doi.org/10.1145/3126908.3126925
Priedhorsky R, Canon RS, Randles T, Younge AJ (2021) Minimizing privilege for building HPC containers. In: Proceedings of International Conference for High Performance Computing, Networking, Storage and Analysis, SC, pp 1–14 https://doi.org/10.1145/3458817.3476187
Ramon-Cortes C, Serven A, Ejarque J, Lezzi D, Badia RM (2018) Transparent orchestration of task-based parallel applications in containers platforms. J Grid Comput 16(1):137–160. https://doi.org/10.1007/s10723-017-9425-z
Rudyy O, Garcia-Gasulla M, Mantovani F, Santiago A, Sirvent R, Vazquez M (2019) Containers in HPC: a scalability and portability study in production biological simulations. In: IEEE International Parallel and Distributed Processing Symposium (IPDPS). IEEE, Rio de Janeiro, RJ, Brazil, pp. 567–577. https://doi.org/10.1109/ipdps.2019.00066
Ruhela A, Vaughn M, Harrell SL, Zynda GJ, Fonner J, Evans RT, Minyard T (2020) Containerization on petascale HPC clusters. In: Supercomp State Pract Arch. SC—SOTP. https://sc20.supercomputing.org/proceedings/sotp/sotp_files/sotp120s2-file1.pdf
Ruhela A, Harrell SL, Evans RT, Zynda GJ, Fonner J, Vaughn M, Minyard T, Cazes J (2021) Characterizing containerized HPC applications performance at petascale on CPU and GPU architectures. In: International Conference on High Performance Computing. LNCS—ISC-HPC. Springer, Cham, pp 411–430. https://doi.org/10.1007/978-3-030-78713-4_22
Saha P, Beltre A, Uminski P, Govindaraju M (2018) Evaluation of docker containers for scientific workloads in the Cloud. In: Proceedings of the Practice and Experience on Advanced Research Computing. ACM, New York, NY, USA. https://doi.org/10.1145/3219104.3229280
Sampedro Z, Holt A, Hauser T (2018) Continuous integration and delivery for HPC. In: Proceedings of the Practice and Experience on Advanced Research Computing (PEARC). ACM, New York, NY, USA. https://doi.org/10.1145/3219104.3219147
Sande Veiga V, Simon M, Azab A, Fernandez C, Muscianisi G, Fiameni G, Marocchi S (2019) Evaluation and benchmarking of Singularity MPI containers on EU research e-infrastructure. In: IEEE/ACM International Workshop on Containers and New Orchestration Paradigms for Isolated Environments in HPC (CANOPIE-HPC). IEEE, Denver, CO, USA, pp 1–10. https://doi.org/10.1109/canopie-hpc49598.2019.00006
Simchev T, Atanassov E (2020) Performance effects of running container-based Open-MPI cluster in public cloud. In: International Conference on Large-Scale Scientific Computing (LSSC). Springer, Cham, pp 254–262. https://doi.org/10.1007/978-3-030-41032-2_29
Sochat VV, Prybol CJ, Kurtzer GM (2017) Enhancing reproducibility in scientific computing: metrics and registry for Singularity containers. PLoS One 12(11):0188511. https://doi.org/10.1371/journal.pone.0188511
Sparks J (2017) HPC containers in use. In: Proceedings of the Cray User Group (CUG). https://cug.org/proceedings/cug2017_proceedings/includes/files/pap164s2-file1.pdf. Accessed 13 Sept 2022
Sparks J (2018) Enabling docker for HPC. Concurr Comput 31(16):5018. https://doi.org/10.1002/cpe.5018
Steffenel LA, Charão AS, Alves B, de Araujo LR, da Silva LF (2020) MPI to Go: container clusters for MPI applications. In: International Conference on Cloud Computing and Services Science. Springer, Cham, pp 199–222. https://doi.org/10.1007/978-3-030-49432-2_10
Tippit J, Hodson DD, Grimaila MR (2021) Julia and singularity for high performance computing. In: Advances in Parallel and Distributed Processing, and Applications, pp 3–15. Springer, Cham. https://doi.org/10.1007/978-3-030-69984-0_1
Torrez A, Randles T, Priedhorsky R (2019) HPC container runtimes have minimal or no performance impact. In: IEEE/ACM International Workshop on Containers and New Orchestration Paradigms for Isolated Environments in HPC (CANOPIE-HPC). IEEE, Denver, CO, USA, pp 37–42. https://doi.org/10.1109/canopie-hpc49598.2019.00010
Tronge J, Chen J, Grubel P, Randles T, Davis R, Wofford Q, Anaya S, Guan Q (2021) BeeSwarm: enabling parallel scaling performance measurement in continuous integration for HPC applications. In: 36th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp 1136–1140. https://doi.org/10.1109/ASE51524.2021.9678805
Vaillancourt PZ, Coulter JE, Knepper R, Barker B (2020) Self-scaling clusters and reproducible containers to enable scientific computing. In: IEEE High Performance Extreme Computing Conference (HPEC). IEEE, Boston, MA, USA, pp 1–8. https://doi.org/10.1109/hpec43674.2020.9286208
Vaillancourt P, Wineholt B, Barker B, Deliyannis P, Zheng J, Suresh A, Brazier A, Knepper R, Wolski R (2020) Reproducible and portable workflows for scientific computing and HPC in the cloud. In: Practice and Experience in Advanced Research Computing (PEARC). ACM, Portland, OR, USA, pp 311–320. https://doi.org/10.1145/3311790.3396659
Vallee G, Gutierrez CEA, Clerget C (2019) On-node resource manager for containerized HPC workloads. In: IEEE/ACM International Workshop on Containers and New Orchestration Paradigms for Isolated Environments in HPC (CANOPIE-HPC). IEEE, Denver, CO, USA, pp 43–48. https://doi.org/10.1109/canopie-hpc49598.2019.00011
Wang Y, Evans RT, Huang L (2019) Performant container support for HPC applications. In: Proceedings of the Practice and Experience in Advanced Research Computing on Rise of the Machines (learning) (PEARC). ACM, Chicago, IL, USA. https://doi.org/10.1145/3332186.3332226
Weidner O, Atkinson M, Barker A, Filgueira Vicente R (2016) Rethinking high performance computing platforms. In: ACM International Workshop on Data-Intensive Distributed Computing. ACM, Kyoto, Japan, pp 19–26. https://doi.org/10.1145/2912152.2912155
Yang X, Kasahara M (2022) LPMX: a pure rootless composable container system. BMC Bioinf 23(1):1–13. https://doi.org/10.1186/s12859-022-04649-3
Youn C, Das AK, Yang S, Kim J (2019) Developing a meta framework for key-value memory networks on HPC clusters. In: Proceedings of the Practice and Experience in Advanced Research Computing on Rise of the Machines (Learning) (PEARC). ACM, New York, NY, USA. https://doi.org/10.1145/3332186.3332216
Younge AJ, Pedretti K, Grant RE, Brightwell R (2017) A tale of two systems: Using containers to deploy HPC applications on supercomputers and clouds. In: IEEE International Conference on Cloud Computing Technology and Science (CloudCom). IEEE, Hong Kong, pp 74–81. https://doi.org/10.1109/cloudcom.2017.40
Yuan S, Brandt SR, Chen Q, Zhu L, Salatin R, Dooley R (2020) A sustainable collaboratory for coastal resilience research. Future Gener Comput Syst 111:786–792. https://doi.org/10.1016/j.future.2019.11.002
Zhang J, Lu X, Panda DK (2016) High performance MPI library for container-based HPC cloud on InfiniBand clusters. In: 45th international conference on parallel processing (ICPP). IEEE, Philadelphia, PA, USA, pp 268–277. https://doi.org/10.1109/icpp.2016.38
Zhang J, Lu X, Panda DK (2016) Performance characterization of hypervisor-and container-based virtualization for HPC on SR-IOV enabled InfiniBand clusters. In: IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). IEEE, Chicago, IL, USA, pp 1777–1784. https://doi.org/10.1109/ipdpsw.2016.178
Zhang J, Lu X, Panda DK (2017) Is singularity-based container technology ready for running MPI applications on HPC clouds? In: Proceedings of the10th International Conference on Utility and Cloud Computing (UCC ’17). ACM, New York, NY, USA, pp 151–160. https://doi.org/10.1145/3147213.3147231
Zhou N, Georgiou Y, Pospieszny M, Zhong L, Zhou H, Niethammer C, Pejak B, Marko O, Hoppe D (2021) Container orchestration on HPC systems through Kubernetes. J Cloud Comput 10(1):1–14. https://doi.org/10.1186/s13677-021-00231-z
Funding
This work received partial financial support from Petrobras, FAPESP (Grants 2013/08293-7 and 2019/12792-5), and CNPq (Grant 314645/2020-9).
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors have no relevant financial or non-financial conflicts of interest to disclose.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix
Appendix
Useful and commonly repeated acronyms and abbreviations: ABI: Application Binary Interface; AI: Artificial Intelligence; AMG: Algebraic Multigrid method; API: Application Programming Interface; AUFS: Docker’s Union File System; AWS: Amazon Web Services; BEE: Build and Execution Environment; CCE: Cray Computing Environment; CDT: Cray Development Toolkit; CFD: Computational Fluid-Dynamics; CFQ: Completely Fair Queuing; CI: Continuous Integration; CI/CD: Continuous Integration and Continuous Delivery; CLE: Cray Linux Environment; CLI: Command-Line Interface; CMA: Cross Memory Attach; CPE: Cray Processing Environment; CPU: Central Processing Unit; CV: Computer Vision; DASH: a C++ template library for distributed data structures; DFE: Data-Flow Engine; EC2: [Amazon] Elastic Compute Cloud; ELF: Executable and Linkable Format; FPGA: Field-Programmable Gate Array; GID: Group Identification; GPU: Graphics Processing Unit; HPC: High Performance Computing; HPCC: High Performance Computing Challenge; HPL: High Performance LINPACK; HTC: High Throughput Computing; IB: InfiniBand; IMB: Intel MPI Benchmarks; IO: Input and Output; IOR: a parallel IO benchmark; IP: Internet Protocol; IPC: Inter-Process Communication; IPoIB: IP over InfiniBand; IT: Information Technology; KMI: K-mer Matching Interface; KNL: [Intel] Knights Landing; KVM: Kernel Virtual Machine; LXC: Linux Containers; LXD: An interface for LXC; MCDRAM: Multi-Channel Dynamic Random Access Memory; MD: Molecular Dynamics; ML: Machine Learning; MPI: Message Passing Interface; NAS: NASA Advanced Supercomputing Division; NFS: Network File System; NIC: Network Interface Controller; NPB: NAS Parallel Benchmark; NUMA: Non-Uniform Memory Access; OCI: Open Container Initiative; OS: Operating System; OSU: Ohio State University; PCI: Peripheral Component Interconnect; PFS: Parallel File System; PID: Process Identification; RAM: Random-Access Memory; RDMA: Remote Direct Memory Access; RNN: Recursive Neural Network; ROMS: Regional Ocean Modeling System; SDN: Software-Defined Network; SHM: Shared Memory; SMT: Simultaneous Multi-Threading; SR-IOV: Single Root IO Virtualization; SSH: Secure Shell; TCP: Transmission Control Protocol; TF: TensorFlow; UDI: User-Defined Image; UDSS: User-Defined Software Stack; UID: User Identification; VCC: Virtual Container Cluster; VM: Virtual Machine; VXLAN: Virtual Extensible Local Area Network; WRF: Weather Research and Forecasting [model].
Rights and permissions
Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Keller Tesser, R., Borin, E. Containers in HPC: a survey. J Supercomput 79, 5759–5827 (2023). https://doi.org/10.1007/s11227-022-04848-y
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-022-04848-y