CBiB Documentation - Quick Start Guide CBiB Documentation - Guide de prise en main rapide Revision 2017-04-18

In 2016, in collaboration with the region Nouvelle-Aquitaine, INSERM (U1219) and SIRIC BRIO, the CBiB started the installation of a new compute and storage facilities.
The cluster, named cortex, provides a total of 25 compute nodes, 512 cores, 7TB of RAM with a high-performance network (Intel Omni-Path 100Gbits/s and Ethernet 10Gbits/s).
The storage capacity is around 300TB under high-performance clustered file system IBM Spectrum Scale (previously known as IBM General Parallel File System, GPFS).
The solution is designed to be scalable and to satisfy bioinformatics jobs requirements.

En 2016, en partenariat avec la région Nouvelle-Aquitaine, l'INSERM (U1219) et le SIRIC BRIO, le CBiB a démarré l’installation d’un nouveau cluster de calcul et de stockage.
Le cluster, nommé cortex, totalise 25 nœuds, 512 cœurs, 7 To de RAM et bénéficie d'un réseau haute-performance (Intel Omni-Path 100Gbits/s et Ethernet 10Gbits/s).
La capacité de stockage est d'environ 300 To grâce au système de fichiers parallèle haute-performance IBM Spectrum Scale (anciennement nommé General Parallel File System, GPFS).
La solution a été pensée pour être extensible et pouvant répondre au besoin de calcul intensif en bioinformatique.

Logo région Nouvelle-Aquitaine Logo CBiB Logo INSERM Logo SIRIC BRIO

Sign up (request an account): Inscription (demande de compte): https://www.cbib.u-bordeaux.fr/en/node/add/create_cbib_account
The account will be created in few days. Le compte sera créé d'ici quelques jours.

Forgot your password: Mot de passe oublié: https://services.cbib.u-bordeaux.fr/ssp/index.php?action=sendtoken
Change your password: Changer son mot de passe: https://services.cbib.u-bordeaux.fr/ssp/

Access through SSH
Server: bb8.cbib.u-bordeaux.fr

Connexion via SSH
Serveur: bb8.cbib.u-bordeaux.fr

On Linux/Mac, simply use ssh client like Sur Linux/Mac, utiliser simplement un client SSH tel que OpenSSH


On Windows, you can use a client like Sur Windows, on peut utiliser un client tel que PuTTY


Note: there is two login server (bb8-1 and bb8-2). You can be connected on one server or another. Please remind this when you use screen, tmux or another tools.

Note: il y a deux serveur de login (bb8-1 et bb8-2). Vous pouvez être connecté sur l'un ou l'autre. Souvenez-vous en si vous utilisez screen, tmux ou autre.

StorageStockage

Usage Capacity (total) Capacité (total) Performance Backup Sauvegarde
/home Home directory (personal data) Répertoire personnel 40 TBTo
Correct
ok Snapshots + replication ok Snapshots + replication
/mnt/cbib Projects (common data) Projets (données communes) 150 TBTo
Correct
ok Snapshots + replication ok Snapshots + replication
/scratch Temporary data to compute Données de calcul temporaire 70 TBTo
Really goodExcellente
warning No Backup + cleaning process attention Pas de sauvegarde + nettoyage automatique

All storage spaces are shared across all the nodes.

Les espaces sont accessibles depuis l'ensemble des noeuds.

Databases
The /mnt/cbib/bank directory contains several databases regularly up-to-date (Blast, GenBank, UniProt, RefSeq, ...).

Banques de données
Le dossier /mnt/cbib/bank contient plusieurs banques de données régulièrement mises à jour (Blast, GenBank, UniProt, RefSeq, ...).

Restoring data (snapshots)
If you change or remove data by error, you can try to get back your data thanks to snapshots.
Simply browse the .snpashots directory (/home/.snapshots/ or /mnt/cbib/.snapshots/), sorted by date, and visualize/copy/restore your data.

Restauration de données (snapshots)
En cas de modification ou suppression de données par erreur, il est parfois possible de restaurer une version précédente grâce aux snapshots.
Parcourez simplement le répertoire .snapshots (/home/.snapshots/ ou /mnt/cbib/.snapshots/), trié par date, et visualisez/copiez/restaurez vos données.

Extra space
If you need or plan to use more storage space, please come discuss with us or maybe have a look at MCIA-iRODS project.

Espace supplémentaire
Si vous avez besoin ou prévoyez d'utiliser plus d'espace de stockage, venez discuter avec nous ou bien regardez du côté du projet MCIA-iRODS.


Data transferTransfert des données

SSH protocol (or SFTP - SSH File Transfer Protocol) is the only one protocol available at the CBiB.
But, you can use many clients to download your data (scp, rsync, wget, lftp, aspera, etc.).

Le seul protocole disponible au CBiB pour accéder aux données est SSH (ou SFTP - SSH File Transfer Protocol).
En revanche, de nombreux clients sont disponibles pour télécharger des données (scp, rsync, wget, lftp, aspera, etc.).

To use softwares like blast, python, gcc, etc. we have to "load" them using module commands Pour utiliser les logiciels comme blast, python, gcc, etc. il faut utiliser les commandes module (Environment Modules, version 3.2.10):

  • List: module avail
  • Lister: module avail
  • Use blast: module load blast
  • Utiliser blast: module load blast
  • Use a specific version: module load blast/2.2.25
  • Utiliser une version spécifique: module load blast/2.2.25
  • Help: module, module whatis blast or module help blast
  • Aide: module, module whatis blast ou module help blast

The computing works are done by submitting "jobs" to the workload manager Les traitements sont réalisés en soumettant des "jobs" au gestionnaire de tâche Slurm (version 16.05).

  • 1. Write a bash script

    1. Écrire un script bash

    This script must contain your commands to execute. Le script doit contenir vos commandes à exécuter.
  • 2. Options and requirements

    2. Options et exigences

    In command line or, better, at the beginning of the script. En ligne de commande ou, bien mieux, en début de script.
    ### Job name
    #SBATCH --job-name=demo_job
    ### Max run time "hours:minutes:seconds"
    #SBATCH --time=01:00:00
    ### Requirements nodes/servers (default: 1)
    #SBATCH --nodes=1
    ### Requirements cpu/core/task (default: 1)
    #SBATCH --ntasks-per-node=1
    ### Requirements memory (default: 12.5GB per cpu)
    #SBATCH --mem-per-cpu=12800MB
    
    ### Nom du job
    #SBATCH --job-name=demo_job
    ### Temps d'éxécution maximale "heures:minutes:secondes"
    #SBATCH --time=01:00:00
    ### Demandes noeud/serveurs (par défaut: 1)
    #SBATCH --nodes=1
    ### Demandes cpu/coeur/tache (par défaut: 1)
    #SBATCH --ntasks-per-node=1
    ### Demandes en mémoire (par défaut: 12.5Go par cpu)
    #SBATCH --mem-per-cpu=12800MB
    
  • 3. Submit your job

    3. Soumettre le job

    sbatch myscript.sh
  • 4. Follow your job

    4. Suivre le job

    The status goes successively from PENDING (PD) to RUNNING (R) and finally COMPLETED (C) (so job disappear from the queue). Le statut du job passe successivement de PENDING (PD), RUNNING (R) à COMPLETED (C) (le job disparaît alors de la file d'attente).
    squeue
  • 5. See output

    5. Visualiser la sortie

    The output of the script (standard output and standard error) is live written. La sortie du script (sortie standard et d'erreur) est écrite en direct.
    File Fichier slurm-[jobid].out

Notes:
All nodes have access to the data (/home, /scratch and /mnt/cbib).
All the softwares are available by the nodes, but we have to load them inside the script with command module add [module].
All jobs are contained and can not use more resources than defined (CPU, memory).
Jobs which exceed limits (memory or time, values by default or set) are killed.
It's possible to connect to compute node when a job is running (ssh cortexXX).

Notes:
Tous les nœuds ont accès aux données (/home, /scratch ou /mnt/cbib).
Tous les logiciels sont accessibles par les nœuds, il faut toutefois les charger dans le script avec les commandes module add [module].
Tous les jobs sont contenus et ne peuvent pas utiliser plus de ressources que définies (CPU, mémoire).
Les jobs qui dépassent les limites (mémoire ou temps, valeurs par défaut ou celles indiquées) sont tués.
Il est possible de se connecter sur un nœud de calcul si un job est en train de tourner (ssh cortexXX).

Demo

Slurm commandsCommandes slurm

Usually, you write a bash script then submit it:

Une fois son script bash écrit, on le soumet:

  • Submit a job: sbatch myscript.sh
  • Soumettre un job: sbatch myscript.sh
  • Information on jobs: squeue
  • Information sur les jobs: squeue
  • Information on my jobs: squeue -u $USER
  • Information sur mes jobs: squeue -u $USER
  • Information on running job:scontrol show job [jobid]
  • Information sur un job:scontrol show job [jobid]
  • Delete a job: scancel [job_id]
  • Supprimer un job: scancel [job_id]

Slurm documentation is widely available and official website is pretty nice: La documentation en ligne sur slurm est abondante et la documentation officielle très bonne: https://slurm.schedmd.com/ (version 16.05.02)
If you are used to PBS/Torque/SGE/LSF/LoadLeveler, refer to: Si vous êtes habitué à PBS/Torque/SGE/LSF/LoadLeveler, référez-vous à: https://slurm.schedmd.com/rosetta.pdf

Options frequently used

Options couramment utilisées

--job-name=demo_job Job name Nom du job
--time=01:00:00 Limit run time "hours:minutes:seconds" (default: 365 days) Temps limite d'exécution "heures:minutes:secondes" (par défaut: 365 jours)
--output=slurm-%j.out Specify the output file (standard output and error, default: slurm-[jobid].out) Définir le fichier de sortie (sortie standard et sortie d'erreur, par défaut = slurm-[jobid].out)
--workdir=/path/ Working directory (default: submission directory) Repertoire de travail (par défaut: répertoire de soumission):
--nodes=N Number of nodes/servers requested Nombre de nœuds/serveurs demandés
--ntasks=n
--ntasks-per-node=n
Number of cores/tasks requested (default = 1 per node) Nombre de cœurs/tâches souhaités (par défaut= 1 par nœud)
--mem=GB
--mem-per-cpu=GB
Amount of real memory (default = 12.5GB/core) Mémoire réelle totale demandée (par défaut = 12,5Go/cœur)
--exclusive Whole node Nœud entier
--mail-user=email@address
--mail-type=ALL
Send mail on events (NONE, BEGIN, END, FAIL, ALL) Envoyer un mail sur certains événements (NONE, BEGIN, END, FAIL, ALL)

Example/Template scriptScript exemple/modèle

#!/bin/bash

################################ Slurm options #################################

### Job name
#SBATCH --job-name=demo_job

### Limit run time "hours:minutes:seconds" (default: 365 days)
#SBATCH --time=01:00:00

### Specify requirements - Task (default: 1 node, 1 Core, 12.5G mem/cpu)
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --mem-per-cpu=12800MB

################################################################################

# Useful information to print
echo '########################################'
echo 'Date:' $(date --iso-8601=seconds)
echo 'User:' $USER
echo 'Host:' $HOSTNAME
echo 'Job Name:' $SLURM_JOB_NAME
echo 'Job Id:' $SLURM_JOB_ID
echo 'Directory:' $(pwd)
# Detail Information:
scontrol show job $SLURM_JOB_ID
echo '########################################'

# modules loading
module add python


# What you actually want to launch
echo 'Waooouhh. Awesome.'


echo '########################################'
echo 'Job finished' $(date --iso-8601=seconds)

Full description of CBiB infrastructure available from website: https://www.cbib.u-bordeaux.fr/en/servers-and-storage

La description complète de l'infrastructure est disponible sur le site web du CBiB: https://www.cbib.u-bordeaux.fr/fr/materiel

Rack Admin nodes IO Nodes (dumbo) Storage (disk array) Console (monitor, keyboard and mouse) Compute nodes (cortex01-12) Switch Ethernet 10Gbits/s Switch Omni-Path 100Gbits/s Compute nodes (cortex13-20) Compute nodes (cortex21-24) Compute nodes (bigmem, cortex25) Console (monitor, keyboard and mouse)

Total of 25 compute nodes, 512 cores, 7.2TB RAM, 300TB storage

Total de 25 nœuds de calcul, 512 cœurs, 7.2To RAM, 300To stockage

  • 24 standard compute nodes (20 cores, 256 GB RAM)24 nœuds de calcul standard (20 cœurs, 256 Go RAM)

    Dell R630, 2x Intel E5-2630v4 (2.20GHz, 10 cores), 256GB RAM

  • 1 "big memory" compute node (32 cores, 1TB RAM)1 nœud de calcul "big memory" (32 cœurs, 1To RAM)

    Dell R630, 2x Intel E5-2683v4 (2.10GHz, 16 cores), 1TB RAM

  • 2 master nodes2 nœuds d'administration

    Dell R630, 2x Intel E5-2630v4 (2.20GHz, 10 cores), 64GB RAM

  • IBM Spectrum Scale (GPFS rebranded) storage, ~300TB usableStockage IBM Spectrum Scale (ex-GPFS), ~300To utile

    2 GPFS nodes [Dell R730] + JBOD [Dell MD3460]
    /scratch, /home, /mnt/cbib, /module/...

  • Low latency/high bandwidth network (data), 100Gbit/sRéseau haut-débit et faible latence (données), 100Gbit/s

    Intel Omni-Path Edge Switch 100 Series 48 Port

  • Ethernet network (administration), 10Gbits/sRéseau Ethernet (administration), 10Gbits/s

    Dell N4064 switch for 10GBase-T network

  • Applications:Applications: Slurm / Luna / Zabbix / Environment Modules
Provided by Fournit par: ClusterVision