Graham

From CC Doc
Jump to: navigation, search
This page is a translated version of the page Graham and the translation is 100% complete.

Other languages:
English • ‎français
Disponibilité : depuis le 30 juin 2017
Nœud frontal (login node) : graham.computecanada.ca
Point de chute GlobusGlobus is a file transfer service [https://www.globus.org/] : computecanada#graham-dtn
Nœud de copie (rsync, scp, sftp,...) : gra-dtn1.computecanada.ca

Graham est une grappe hétérogène adaptée pour une grande variété de types de tâches; elle est située à l'Université de Waterloo. Elle est nommée en l'honneur de Wes Graham, le premier directeur du Computing Centre de l'Université de Waterloo. La grappe était précédemment connue sous le nom de GP3 et est encore identifiée comme telle dans la documentation pour le concours d'allocation de ressources 2017.

Les systèmes de fichiers parallèles, la réseautique et le stockage persistant (NDC-Waterloo) sont semblables à ceux de Cedar. Il y a toutefois des proportions différentes du nombre de chaque type de nœuds de calcul.

La grappe Graham est vendue et supportée par Huawei Canada. Un système de refroidissement liquide utilise des échangeurs de chaleur à même les portes arrière.

Voyez de courtes vidéos sur les notions de base pour l'utilisation de Graham.

Exécuter des tâches

Transférer des données

Stockage

espace home
espace scratch
(système de fichiers parallèle de haute performance)
  • stockage scratch actif ou temporaire
  • non alloué
  • grand quota fixe, par utilisateur
  • les données inactives sont purgées
espace projet
(stockage persistant externe)

Réseautique haute performance

Interconnexion InfiniBand Mellanox FDR (56Go/s.) et EDR (100Go/s.). FDR sert aux nœuds GPU et aux nœuds infonuagiques; tous les autres types de nœuds utilisent EDR. Un répartiteur (director switch) central de 324 ports rassemble les connexions des ilots CPU et GPU de 1024 cœurs. Les 56 nœuds infonuagiques se situent sur les nœuds CPU; ils sont regroupés sur un plus grand ilot et partagent 8 liens FDR vers le répartiteur.

Une interconnexion non-blocante (InfiniBand fabric) à haute bande passante et faible latence connecte tous les nœuds et le stockage scratch.

Les nœuds configurés pour le service infonuagique possèdent [aussi/en plus] un réseau Ethernet 10Go/s, et des liens de 40Go/s. vers le stockage scratch.

L'architecture de Graham a été planifiée pour supporter de multiples tâches parallèles jusqu'à 1024 cœurs grâce à une réseautique non-blocante.

Pour les tâches plus imposantes, le facteur de blocage est de 8:1; même pour les tâches exécutées sur plusieurs ilots, l'interconnexion est de haute performance.

Diagramme des interconnexions pour Graham

Types et caractéristiques des nœuds

36,160 cœurs et 320 GPU sur 1,127 nœuds de différents types.

Type de processeur : Tous les nœuds ont des processeurs E5-2683 V4 d'Intel avec une cadence de 2.1GHz.

Type de GPU : P100 12g

Nombre Type de nœud Cœurs Mémoire disponible Matériel
884 base "128G" 32 125G ou 128000M deux Intel E5-2683 v4 "Broadwell" de 2.1Ghz; SSD SATA de 960Go
24 large "512G" 32 502G ou 514500M (même que base)
56 large/cloud 32 250G ou 256500M (même que base) peut être réservé par le service infonuagique
3 bigmem3000 "3T" 64 3022G ou 3095000M même que base, mais quatre CPU E7-4850 v4 "Broadwell" de 2.1Ghz
160 GPU 32 124G ou 127518M même que base, mais aussi deux GPU NVIDIA P100 Pascal (mémoire de 12Go HBM2 memory, SSD NVMe de 1.6To

Pour le stockage local sur nœud, il est recommandé d'utiliser le répertoire temporaire $SLURM_TMPDIR généré par Slurm. Ce répertoire et son contenu est supprimé à la fin de l'exécution de la tâche.

Remarquez que la quantité de mémoire disponible est moindre que la valeur arrondie suggérée par la configuration matérielle. Par exemple, les nœuds de type base 128G ont effectivement 128Gio de mémoire vive, mais une certaine quantité est utilisée en permanence par le noyau (kernel) et le système d'exploitation. Pour éviter la perte de temps encourue par le swapping ou le paging, l'ordonnanceur n'allouera jamais une tâche dont les exigences dépassent la quantité de mémoire disponible indiquée dans le tableau ci-dessus. Notez aussi que la mémoire allouée pour la tâche doit être suffisante pour les lectures et écritures dans la mémoire tampon effectuées par le noyau et le système de fichiers; lorsque ces opérations sont nombreuses, il est préférable de demander plus de mémoire que la quantité totale requise par les processus.