Commit 31169f69 authored by Martin Souchal's avatar Martin Souchal
Browse files

update

parent befc2020
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<html> <html>
<head> <head>
<title>Singularity</title> <title>Container HPC</title>
<meta charset="utf-8"> <meta charset="utf-8">
<style> <style>
@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz); @import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
...@@ -28,10 +28,33 @@ ...@@ -28,10 +28,33 @@
###### Martin Souchal 2021 (APC - FACe - ComputeOps) ###### Martin Souchal 2021 (APC - FACe - ComputeOps)
---
# ComputeOps
- Le projet ComputeOps a pour objectif d'étudier les avantages des conteneurs pour les applications de type HPC. Lancé en 2018, le projet est financé par le master project DecaLog de l'IN2P3 dans le cadre du programme de R&D transverse.
- Participants IN2P3 : APC, LAL, LPNHE, LLR, IPHC
- Partenaires extérieurs :
- Groupe de travail Aristote sur la virtualisation légère.
- Ecole Centrale de Nantes
- IAS
- INRA
.right[![](images/logo-computeops-web.png)]
--- ---
# Architecture HPC # Architecture HPC
--- ---
# Problématiques software HPC # Problématiques software HPC
---
# Les conteneurs
- Technologie apparue dans Solaris via les jails
- Basé sur les namespaces (kernel 2.4.19) et les cgroups (kernel 2.6.24)
- LXC en 2008, Docker en 2013, 2015 : Docker top 15 GitHub
- Runtime : chargé d'executer le conteneur
- Image : contient les fichiers du conteneurs
- Manifeste : Fichier texte servant à construire le conteneur
--- ---
# En quoi les conteneurs peuvent nous aider dans le contexte scientifique ? # En quoi les conteneurs peuvent nous aider dans le contexte scientifique ?
...@@ -86,14 +109,67 @@ ...@@ -86,14 +109,67 @@
- Approche microservice vs Job (avec heure de début - fin) - Approche microservice vs Job (avec heure de début - fin)
- Job Scheduler plus avancé sur : mécanismes de files d’attente/de mises en attente ou pause (checkpointing), de priorités / Fair sharing, droits/accès et partages des ressources physiques. - Job Scheduler plus avancé sur : mécanismes de files d’attente/de mises en attente ou pause (checkpointing), de priorités / Fair sharing, droits/accès et partages des ressources physiques.
- Intégration dans l’environnement cluster existant - Intégration dans l’environnement cluster existant
- Kubernetes & Nomad
---
# Open Container initiative (OCI)
- Gouvernance ouverte chapeautée par la Linux Foundation
- Standard pour les runtimes et les images de conteneurs
- Ligne de commande unifiée
```bash
docker run example.com/org/app:v1.0.0
alias docker=podman
```
---
# Panorama des technologies de conteneurs
- Runtimes :
- MicroVms :
- Podman (RedHat)
- CR-IO
- Docker
- KataContainer (Intel)
- Firecracker (AWS - microVM)
- gVisor (Google)
- runc
--- ---
# Panorama conteneurs orientés calcul # Panorama conteneurs orientés calcul
## 4 Conteneurs usermode compatibles openMPI ## 4 Conteneurs usermode compatibles openMPI et GPU
- Charlie-cloud - Charlie-cloud
- Singularity - Singularity
- Shifter - Shifter
- Nvidia enroot ? - Nvidia enroot
---
# Workflow
- Build de l'image du conteneur sur le poste de travail, ou en CI
- Test en local
- Mise a disposition dans un catalogue
- Execution dans un environnement HPC
---
# Catalogues de conteneurs publics
### Ou trouver des conteneurs prêts à l'emploi ?
- NVIDIA NGC
- Docker Hub
- Singularity Hub
- Sylabs cloud
- Quay.io
---
# Partage de conteneurs
### Comment partager ses applications conteneurisées ?
- Gitlab
- Harbor
- Singularity Hub
---
# Sécurité
---
# Bonnes pratiques
--- ---
background-image: url(images/charlie.png) background-image: url(images/charlie.png)
# Charlie-cloud # Charlie-cloud
...@@ -156,6 +232,7 @@ ...@@ -156,6 +232,7 @@
‘cgroups‘ ; les limites sont fixées par le Job Scheduler.) ‘cgroups‘ ; les limites sont fixées par le Job Scheduler.)
- Intégration de tests et d'aide intégrée dans le conteneur - Intégration de tests et d'aide intégrée dans le conteneur
- Accès direct aux GPU de la machine - Accès direct aux GPU de la machine
- Intégration dans Kubernetes
--- ---
background-image: url(images/singu.png) background-image: url(images/singu.png)
......
...@@ -48,9 +48,9 @@ code { ...@@ -48,9 +48,9 @@ code {
padding: 15px; padding: 15px;
} }
.inverse { .inverse {
background: #eff5ef; background: #2c2e2c;
color: #777872; color: #777872;
text-shadow: 0 0 20px #333; text-shadow: 0 0 1px rgb(92, 90, 90);
} }
.inverse h1, .inverse h2 { .inverse h1, .inverse h2 {
color: #f3f3f3; color: #f3f3f3;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment