HPC Workshop on Containers and Unikernels

Europe/Amsterdam
Virtual

Virtual

Abdulrahman Azab
Description

Containers with the build-once-run-everywhere principle have become very popular for scientific use cases. The majority of HPC platforms for research now support container runtimes. Unikernels are very lightweight virtual machines that provide hypervisor level isolation and near to native performance. This workshop will introduce several container platforms (Docker, Singularity, Sarus, Charliecloud) and provide hands-on MPI and GPU examples. In addition, there will be a demo on Unikernels.

PRACE online workshop on containers and unikernels that includes 

  • Docker: Intro, install, image build, container management

  • Sarus: Intro, installation, MPI, GPU

  • Singularity: Intro, manage containers, MPI, GPU

  • Charliecloud: Intro, MPI

  • Unikernels: Intro, demo

Trainings with hands-on will be on https://www.cscs.ch/computers/piz-daint/  

  • XC50 Compute Nodes: Intel® Xeon® E5-2690 v3 @ 2.60GHz (12 cores, 64GB RAM) and NVIDIA® Tesla® P100 16GB - 5704 Nodes

  • 1 GPU Card per node: one user can use the node per time  

  • Reservation on the GPU partition (P100)

Surveys
HPC Workshop on Containers and Unikernels 5 Jul - 9 Jul
    • 09:00 12:00
      Intro and Docker

      Introduction
      Install Docker
      Run your first container
      Docker images
      Docker volumes
      Docker Compose
      Docker swarm

      Convener: Abdulrahman Azab (Sigma2/UiO)
    • 12:00 13:00
      Lunch break 1h
    • 13:00 14:30
      Intro and Docker: Session 2

      Introduction
      Install Docker
      Run your first container
      Docker images
      Docker volumes
      Docker Compose
      Docker swarm

      Convener: Abdulrahman Azab
    • 09:00 12:00
      Singularity: Singularity - session 1
      • Singularity: Introduction
      • How to build a container
      • Singularity and MPI
      • Singularity and GPU
      • Share Singularity container

      Session material: https://github.com/abdulrahmanazab/docker-training-neic/tree/prace-training-2021/singularity_training

      Conveners: Abdulrahman Azab (Sigma2/UiO) , Dr Muscianisi Giuseppa (CINECA)
    • 12:00 13:00
      Lunch break 1h
    • 13:00 17:00
      Singularity: Singularity - session 2
      • Singularity: Introduction
      • How to build a container
      • Singularity and MPI
      • Singularity and GPU
      • Share Singularity container

      Session material: https://github.com/abdulrahmanazab/docker-training-neic/tree/prace-training-2021/singularity_training

    • 09:00 12:00
      Sarus: Session 1

      o Intro to Sarus from the user point of view (purpose, workflow, CLI)
      o Installing Sarus on your system
      o Hands on: installing Sarus on Debian 10
      o MPI example with OSU (hands-on with different OSU tests, e.g., all-to-all)
      o Hands on: performance without native MPI
      o Hands on: performance with native MPI
      o Hands on: how to leverage GPUDirect RDMA
      o GPU example with N-body
      o Hands on: other CUDA samples or user-provided GPU applications
      o Show data I/O using bind mounts with a real application, e.g., GROMACS
      o Hands on with other application(s)
      o Open Q&A

      Conveners: Dr Lucas Benedicic (Swiss National Supercomputing Centre (CSCS)) , Alberto Madonna (Swiss National Supercomputing Centre (CSCS))
    • 12:00 13:00
      Lunch break 1h
    • 13:00 17:00
      Sarus: Session 2

      o Intro to Sarus from the user point of view (purpose, workflow, CLI)
      o Installing Sarus on your system
      o Hands on: installing Sarus on Debian 10
      o MPI example with OSU (hands-on with different OSU tests, e.g., all-to-all)
      o Hands on: performance without native MPI
      o Hands on: performance with native MPI
      o Hands on: how to leverage GPUDirect RDMA
      o GPU example with N-body
      o Hands on: other CUDA samples or user-provided GPU applications
      o Show data I/O using bind mounts with a real application, e.g., GROMACS
      o Hands on with other application(s)
      o Open Q&A

      Conveners: Dr Lucas Benedicic (Swiss National Supercomputing Centre (CSCS)) , Alberto Madonna (Swiss National Supercomputing Centre (CSCS))
    • 09:00 12:00
      Charliecloud

      HPC focused
      o Introduction
      o Installation [TBD]
      o GPU [TBD]
      o MPI

      Convener: David Brayford (LRZ)
    • 12:00 13:00
      Lunch break 1h
    • 13:00 15:00
      Charliecloud: Session 2

      HPC focused
      o Introduction
      o Installation [TBD]
      o GPU [TBD]
      o MPI

    • 09:00 12:00
      Unikernels

      o Brief intro
      o Presentation and Very basic demo about one or more platform → recompile the application

      Conveners: Pierre. Jacquot (INRIA) , Pierre Olivier (INRIA) , Abdulrahman Azab
    • 12:00 13:00
      Lunch break 1h
    • 13:00 15:00
      Open Q/A [2 hrs]

      SAUS Room
      Docker and Singularity Room
      Unikernels Room