Feuille de route HPC

Planification HPC: PL 12146

Novembre 2018

Auteurs: Yann Sagon, Jean-Luc Falcone

Résumé

Le plan suivant encadre l’achat d’infrastructures HPC financé par le projet de loi 12146, de maintenant à 2022. Pour répondre aux contraintes techniques et aux besoins de utilisateurs, il est envisagé d’utiliser un deuxième, voir un troisième centre de calcul, par exemple celui de Sauverny.
Les centres de calculs seront connectés mais indépendants.
Ceci permettra de remplacer l’équipement existant de manière progressive afin de garantir une haute disponibilité et une bonne compatibilité avec la solution actuelle.

Contexte actuel

Financement

Le matériel sera financé par le biais d’une subvention cantonale (PL12146). La subvention sera versée en plusieurs tranches annuelles de 2018 à 2022. L’enveloppe globale couvrant HPC, stockage et salaires, les montants alloué à l’infrastructure de calcul sont à préciser. Selon l’exposé des motifs du PL (pris ici comme référence), un total de 3.8 MCHF pourrait être alloué aux serveurs de calcul (4.5 MCHF pour le stockage, 1.8 MCHF pour l’archivage), montants HT.

Dans tous les scénarios envisagés, les montants annuels conséquents ainsi que le type de matériel envisagé, nous obligent a procéder par appel d’offres publiques, en respect de l’accord intercantonal sur les marchés publics (AIMP). Ceci entraîne notamment un délai incompressible de 60 jours entre la publication de l’appel d’offre et la commande du matériel.

https://memento.unige.ch/doc/0192

Durée de vie des machines

L’amortissement des noeuds de calculs HPC est calculé sur 5 ans. Bien que la durée de vie physique de la machine soit plus longue, les progrès techniques en matière de semi-conducteurs permettent une plus grande puissance de calcul à consommation électrique équivalente avec chaque génération de microprocesseurs.
Autrement dit, le coût du remplacement des machines après 5 ans est compensé par les économies en alimentation électrique, en refroidissement et en volume occupé.

Les noeuds du cluster Baobab ont été achetés progressivement et certains datent d’avant 2013. Il est prévu de les remplacer progressivement pour libérer de la “place” dans le centre de calcul (cf. Planification).

Centres de calcul

Le cluster actuel Baobab est actuellement hébergé dans le Centre de Calcul de Dufour. La salle machine arrivant à sa capacité maximale en puissance électrique, il est difficile d’étendre /Baobab/ en l’état. Cependant, il est possible de diminuer la consommation électrique actuelle à moyen terme en remplaçant certaines machines obsolètes par des équivalents récents.

Le Centre de Calcul de Sauverny pourrait constituer une bonne solution à court terme. Récemment construit, il dispose d’une bonne capacité électrique pour accueillir un nouveau cluster. Les infrastructures de calculs pourraient alors être réparties sur deux sites pour permettre d’accommoder les besoins futurs, sachant que nous travaillons sur un troisième site pour anticiper le besoin.

Plusieurs problèmes doivent toutefois être considérés pour assurer le succès d’une telle solution:

  • La bande passante entre Dufour et le second centre de caclcul doit être suffisante.
    Selon les premières investigations, dans le cas de Sauverny, les deux connections de 10Gb/s sont loin de la saturation. Des benchmarks plus extensifs sont prévus et des solutions spécifiques seront envisagées en cas de problèmes (trafic shaping, data transfer nodes, etc.).
  • Les machines sont administrées principalement à distance par les ingénieurs systèmes de la DiSTIC. Cependant, certaines opérations impliquent un accès physique. Dans le cas de Sauverny, les sites étant à plus de 15 km de distance, l’équipe technique du Département d’astronomie présente à Sauverny sera probablement amenée à contribuer certaines tâches de maintenance, telles que installation de nouveaux nœuds, changement de disque etc.
  • Les utilisateurs devront déplacer leurs données d’un site à l’autre. Même si la bande passante de transfert est bonne, il sera nécessaire de bien les former aux bonnes pratiques pour empêcher tout mouvement inutile de données. Des outils de monitoring de cette bande passante pourront être mis à disposition pour voir l’impact de ces déplacements de données sur une ligne partagée par tous.

Estimation des besoins actuels et futurs

En matière de calcul scientifique, l’offre crée souvent la demande en présentant de nouvelles possibilités aux chercheurs. C’est pourquoi il est extrêmement difficile d’estimer les besoins des chercheurs avec précision.

Selon l’historique de l’utilisation des infrastructures existantes, le dépouillement du dernier sondage ainsi
que les nombreuses rencontres, nous pouvons dégager plusieurs aspects:

  • Les nœuds de calculs CPUs actuels de Baobab sont très utilisés et semblent bien adaptés à la majorité des utilisateurs. Les futurs machines devraient être équipées en majorité de processeurs
    similaires et compatibles.
  • Plusieurs utilisateurs demandent des serveurs de calcul avec une grande quantité de mémoire de travail. Ce besoin est toutefois minoritaire et difficile à quantifier. Des investigations plus poussées devront être menées pour déterminer le nombre optimal de machines de ce type, ainsi que leurs spécifications exactes.
  • Plusieurs utilisateurs utilisent et demandent des serveurs de calculs équipés de GPUs. Les prix étant très variables d’un modèle à l’autre, il est nécessaire d’analyser en détail les applications envisagées par les chercheurs pour déterminer le type d’équipement à acquérir.
  • Plusieurs utilisateurs nécessitent des plateformes de calcul interactives, notamment pour la visualisation. Bien que ce type d’utilisation se prête moins à la mutualisation, il faudrait considérer l’acquisition de Virtual Desktop Infrastructure (VDI) permettant de répondre en partie à cette demande, le financement diminuera le budget liée au HPC

Tendances technologiques futures

Bien que les performances des machines HPC augmentent régulièrement et de manière exponentielle, les fabricants restent très conservateurs en termes d’architectures. Ceci est notamment dû à la grande collections de logiciels numériques souvent complexes utilisés par les chercheurs. Tout changement d’architecture s’accompagnant de coûts très élevés en développement.

En matière de CPUs, notre cluster actuel est construit sur une architecture de type x86_64 (Intel et AMD). C’est également le cas le cas de la plupart des clusters de calculs (cf. TOP500). Les évolutions futures annoncées par ces deux fabricants concernent surtout la finesse de la gravure (passage à 10µm et 7µm) ce qui se reflète par un nombre de cœurs plus élevés et une consommation électrique inférieure à prix constant.

L’architecture CPU IBM Power9 est utilisée par quelques
superordinateurs dont Summit (#1 au TOP500, Juin 2018). Une telle solution pourrait être investigué mais l’expérience des BlueGene de CADMOS a montré que la recompilation des logiciels pour ce type de processeurs n’était pas évidente voire impossible dans plusieurs cas.

A noter que plusieurs instituts sont actuellement intéressés à développer des solutions basées sur l’architecture ARM (par exemple Astra à Sandia ou MontBlanc3 en Europe). Une telle architecture pourrait offrir une densité plus haute pour une consommation plus basse. Toutefois il n’existe actuellement que des prototypes et les mêmes problèmes se posent que pour l’architecture Power9 par rapport aux logiciels.

Pour ce qui est des accélérateurs, les GPUS de marque NVidia dominent toujours le marché. Leur modèle de programmation ne s’applique pas à tous les algorithmes, mais lorsqu’il est envisageable le gain de performance par watt est conséquent. Pour l’instant il n’existe aucune concurrence sérieuse en la matière, Intel ayant retiré ses accélérateurs Xeon Phi.

Finalement la question de l’interconnexion reste ouverte. Le cluster actuel (Baobab) est basé sur un réseau Infiniband QDR.
Cette interface garantit un haut débit entre les serveurs (4x8GB/s) et une basse latence (~1.3µs). Si cette norme a continué à évoluer (2x25 Gb/s pour le EDR, pour une latence de ~0.5µs), un concurrent est
apparu sur le marché: Omnipath. Même si le choix de l’interface n’aura que peu d’impact pour l’utilisateur final, l’obligation d’adopter une interface consistante sur tout le cluster pourrait néanmoins avoir des implications en terme de coût, de maintenance et d’évolution. Ce lien compare les deux systèmes.

Planification

Inscrit dans le contexte décrit ci-dessus, l’évolution des infrastructures HPC se déroulera en 4 étapes annuelles:

2019:

  • Acquisition d’un nouveau cluster (ci-après Baobab2), installé dans le second centre de calcul.
  • Décommission de plusieurs machines obsolètes à Dufour (nœuds les plus anciens de Baobab, ainsi que machines anciennes du projet Atlas)
  • Mise-à-jour logicielle de Baobab

2020:

  • Acquisition d’un nouveau cluster (ci-après Baobab3), installé à Dufour.
  • Décommission de Baobab à l’exception des nœuds de calculs les plus récents qui rejoindront Baobab3.

2021:

  • Extension de Baobab2

2022:

  • Extension de Baobab3

A l’exception de la première étape, le type de matériel qui sera acheté lors de chaque étape est volontairement laissé en suspens. Ceci nous permettra de rester flexible face:

  • à l’évolution des besoins des chercheurs;
  • aux innovations technologies.

Cette démarche implique une évaluation et un bilan systématique annuel, afin de préciser chaque étape en tenant compte des évolutions technologiques, en corrigeant les éventuelles erreurs qui pourraient survenir.

2018 2019 2020 2021 2022 2023 2024 2025 2026
Baobab (Dufour) xxxx xxxx xx
Baobab2 (2e DC) xxxx xxxx xxxx xxxx xxxx
Baobab3 (Dufour) xxxx xxxx xxxx xxxx xxxx
Baobab2 extension xxxx xxxx xxxx xxxx xxxx
Baobab3 extension xxxx xxxx xxxx xxxx xxxx
Financement PL (en kCHF) ~1000 ~1000 ~1000 ~800

Baobab 2 (2019)

La première étape consiste à acquérir un nouveau cluster qui sera installé dans le deuxième centre de calcul.

Compte tenu du contenu du contexte présenté ci-dessus, les nœuds de calcul seront principalement équipés de CPUs classique, compatibles Intel. Le nombre exact de cœurs par CPU ainsi que la RAM par cœur dépendra de l’état du marché au moment de l’appel d’offre. Un nœud de
calcul type aura vraisemblablement de 20 à 32 cœurs, et de 4GB à 8GB
de RAM par cœur (soit de 64GB à 256GB au total).

En plus de cela, nous pourrions prendre quelques nœuds spécialisés pour couvrir certains besoins particuliers:

  • Nœuds avec une grande quantité de RAM (de 256GB à 1TB).
  • Nœuds avec peu de cœurs, mais à haute fréquence.
  • Nœuds GPUS NVidia de type Volta, Pascal ou Titan.

Pour l’instant les deux variantes suivantes ont été envisagées et doivent être débattues:

  1. Acheter uniquement des nœuds de calcul standards, pour favoriser en priorité les besoins généraux. La somme allouée devrait nous permettre de d’acheter environ 4000 cœurs de calcul (en se basant sur les prix actuels). Les besoins spéciaux seraient couvert sur les extensions suivantes.

  2. Consacrer seulement 70% de la somme impartie à l’achat de nœuds de calcul standards (soit environ 2800). Les 30% restant seraient répartis de la manière suivante:

    • un serveur avec 8 GPU de type Volta (environ 60 kCHF)
    • un serveur 24 GPU de type Titan (environ 80 kCHF)
    • Plusieurs nœuds à large quantité de RAM ou rapide (à décider).

En plus des nœuds de calcul, il faut également prévoir un budget pour l’interconnexion, ainsi que trois serveurs permettant de gérer le cluster (un nœud master et deux nœuds de login).

Au niveau du stockage, il est prévu d’ajouter deux espaces lors de la réalisation de la première étape:

  • un espace de 200TB backupé (actuellement 130TB sur Baobab);
  • un espace scratch 1PB non backupé qui servira d’espace de travaille et
    de stockage à court et moyen terme de beaucoup de données

Proposition de calendrier

  • Novembre/décembre 2018: Circulation de ce document pour
    commentaires.
  • Janvier 2019: Intégration des commentaires et présentation au
    COPIL pour approbation.
  • Février 2019: Rédaction et publication de l’appel d’offre pour
    Baoab2
  • Mars 2019: Adjudication
  • Avril 2019: Confirmation de la commande
  • Mai 2019: Installation de Baoab2 dans le second centre de calcul
  • Juin 2019: Mise en service de Baobab2
  • Juillet-Août 2019: Mise à jour de Baobab et décommission des
    noeuds les plus anciens.

Points d’attention

  • conserver une part de l’enveloppe pour VDI et PAAS
  • conserver une parte de l’enveloppe pour matching funds

La réunion de suivi du projet de loi avec le COPIL aura lieu le mercredi 23 janvier. Lors de cette séance nous allons proposer de partir sur la variante 2 (ci-dessus) d’un nouveau cluster, car à notre avis elle répondra au besoin du plus grand nombre.
N’hésitez pas à commenter ce choix d’ici là.

Si c’est des RTX Titans, des Titans ancienne generation ou des RTX 2080 TI pourraient être plus interessant étant donné le prix elevé des RTX Titan (2.5 k) même si elles ont l’avantage d’avoir 24 GB de memoire graphique.

Quelque questions ci-dessous:
Notre département aurait du financement disponible de plusieurs sources pour du matériel HPC.
Est-il possible d’acheter dans le cadre de Baobab3 des noeuds de calcul et du stockage supplémentaire afin d’augmenter nos quotas? Si oui dans quelles limites (combien de coeurs / combien de Tb)

D’après le calendrier ci-dessus, la décommission des noeuds de Baobab aura lieu en 2019, donc avant l’installation de Baobab3, pourquoi si tôt?
En particulier nous avons un serveur de stockage dans baobab, que vont devenir les données qu’il contient si le nouveau stockage n’est pas encore en place?

Je ne suis pas sûr de comprendre la différence entre Volta et Titan.
Volta veux dire Tesla V100 (successeur de Tesla P100)?
Mais Titan correspond à quoi?
Est-ce que Titan V et Tesla V ne sont pas simplement la même carte (à part la sortie graphique pour Titan)?

Bonjour,
Baobab1 sera décommissionné en 2020 (il y avait une typo dans le tableau de planification), avant que Baobab3 soit mis en production pour une raison de place dans le datacenter.
Concernant le stockage du dpt dans Baobab, une partie des données pourra probablement être stockée dans l’espace scratch de Baobab2 et le NASAC peut être utilisé pour les données devant être préservées plus longtemps.

Bonjour,
Il sera possible d’acheter des nœuds de calcul qui seront ajoutés à BaobabN. Il n’y a actuellement pas de limite sur le nombre de nœud pouvant être acheté, dans la limite physique possible (électricité, etc). Le PL peut financer la moitié d’un tel achat (matching fund). Est-ce que l’idée serait de participer à Baobab2 ou Baobab3?