Getting Started with Containers on HPC

ECP Logo Pawsey Logo NVIDIA Logo

ECP Supercontainers Tutorial Session @ International Supercomputing Conference 2024 (ISC 2024)

Date: 12 May 2024 9:00pm - 1:00pm, Central European Summer Time CEST (GMT+2)

Location: Hamburg, Germany

Links: ISC Agendal; Slides TBD

Keywords: Containerized HPC, System Software and Runtime Systems, Scientific Software Development, DevOps

Prerequisites

This is a hands-on tutorial. Participants should bring a laptop and load or pre-install a terminal and/or ssh client in advance to make best use of time during the tutorial.

See also the Setup page.

Questions

You can ask questions verbally or with this Google Doc. Please append your question below the others in the document.

We have also created a Slack Team for this. The invitation link is in the Google Doc.

Schedule

Setup
09:00 1. Introduction to containers in HPC What is a container and how is it different from a virtual machine?
What are some of the benefits of containers and how can containers help me do my job better?
09:15 2. Build and run your first Docker container How can I use Docker to run a container?
How do I create an image from scratch?
How can I share an image between systems?
Is Docker the only tool for building containers?
09:55 3. Deploy containers on a supercomputer How can I execute commands in a container with Singularity?
How are variables and directories shared between host and container?
10:30 4. High performance containers How can I run an MPI enabled application in a container using a bind approach?
How can I run a GPU enabled application in a container?
11:00 5. BREAK
11:30 6. Best practices Are there any practices I should avoid?
Are there practices I should try to follow?
How can I keep my images small?
How can I speed up iterative updates and testing?
12:05 7. E4S containers initiative How can I use the E4S full featured containers?
What packages can I load using Spack?
How can I compile and test an MPI application?
12:35 8. Introduction to Kubernetes Is Kubernetes a container runtime?
What is a Kubernetes cluster?
What is a Kubernetes pod?
What is a Kubernetes service?
What is a Kubernetes deployment?
13:05 9. Wrap-up and final Q&A Any final questions
13:10 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.