
XLR, la haute performance maîtrisée
Spécialistes du serveurs hpc depuis plus de 30 ans, vous ne trouverez rien de plus performant qu’une machine By CARRI. C’est prouvez !
Témoignage MINES ParisTech
MINES ParisTech et Transvalor se sont associés à IBM et CARRI Systems pour moderniser leurs infrastructures de calcul haute performance (HPC) grâce à des solutions innovantes avec un projet de cluster informatique XLR basé sur IBM Spectrum LSF Suite for Workgroups offre une gestion optimisée des charges de travail HPC, tout en garantissant une solution clé en main.
Témoignage Scalable Graphics
Avec la plateforme adéquate conçue et adaptée par CARRI Systems, nous sommes capables d’afficher des modèles complexes sur un client léger à l’autre bout du monde. Nous pouvons par exemple réaliser une démo de visualisation en 4K à 8 000 km de distance sans ralentissement.
Serveurs workstations et clusters hpc ia
• XLR, l’alliance de la puissance et de la précision au service de vos projets
Que vous ayez besoin de stations de travail, de serveurs ou de clusters dédiés, XLR s’adapte à vos exigences pour des performances maximales. Pensé pour les ingénieurs, scientifiques, chercheurs, développeurs et bien d’autres, XLR répond aux besoins du calcul intensif, de la simulation, et de l’analyse de données massives, tout en garantissant une fiabilité exemplaire.
• Nos stations et serveurs, un cocktail détonant à l’équilibre délicat
Le métier de nos clients consiste aussi à créer et concevoir des solutions architecturales et environnementales, or tous les processeurs ne se valent pas. Nos solutions sont le fruit d’une écoute attentive, de la prise en compte de la dimension métier et du dosage subtil des composants de la solution.
• La performance fait partie de l’ADN de CARRI Systems
L’entreprise s’est spécialisée dans la conception et la réalisation de systèmes hautes et très hautes performances. Nous couvrons le spectre complet des solutions informatiques, de la station de travail individuelle aux serveurs à usage spécialisé jusqu’au cluster de serveurs.
Types de machines XLR
Stations de travail, serveurs et clusters optimisés pour le calcul intensif et l’intelligence artificielle.
CALCUL INTENSIF
Calcul de modèles mathématiques complexes à des fins de simulation
GPU COMPUTING
Calculs scientifiques, modélisations et simulations physiques
TELESURVEILLANCE IA
Surveillance de tunnels en temps réel par reconnaissance de formes en IA
RECONNAISSANCE IA
Vision assistée par ordinateur dans un contexte de grande distribution
ENTRAÎNEMENT DE LLM
Optimisation et entraînement de grands modèles de langage (LLM)
Usages des machines XLR
Pour la simulation numérique, le big data ou toute autre application HPC, la réussite d’un projet de calcul intensif implique un conseil personnalisé à valeur ajoutée et bien plus encore…
Qu’est-ce qu’un serveur HPC ?
Un serveur HPC (High Performance Computing) est une machine conçue pour le traitement massif de données et de calculs intensifs en parallèle. Il est utilisé dans des domaines comme la simulation scientifique, l’analyse de données complexes, ou l’entraînement de modèles d’intelligence artificielle à grande échelle. Doté de processeurs multicœurs, de GPU haute performance, d’une mémoire étendue et d’un stockage rapide, un serveur HPC peut faire partie d’un cluster pour exécuter des tâches distribuées.
Qu’est-ce qu’une station de travail IA ?
Une station de travail IA est un poste de calcul haute performance conçu pour le développement local et l’exécution de projets en intelligence artificielle, notamment ceux nécessitant des ressources intensives en calcul, comme l’entraînement de réseaux neuronaux profonds. Elle intègre généralement un ou plusieurs GPU professionnels (ex : NVIDIA RTX 6000, A6000, A100), un processeur multicœurs, de la RAM haute capacité (128 Go ou plus), et du stockage SSD NVMe rapide.
Quelle est la différence entre un PC classique, une station IA, et un serveur IA ?
Un PC classique est limité aux tâches courantes et ne peut pas supporter des charges de calcul intensif ou des modèles IA complexes. Une station IA va bien au-delà, et encore. Nos stations sont tout simplement surpuissantes, mais toujours calibré à vos besoins. GPU performants et une bonne capacité mémoire. Nos serveurs hpc IA, en revanche, sont conçus pour l’exécution de tâches très intensives ou distribuées, comme l’entraînement de modèles de grande taille ou la gestion de pipelines IA massifs. Ce genre de machine est souvent utilisé dans des environnements de type HPC (XLR chez CARRI), dans nos datacenters ou nos infrastructure cloud, nos clusters. Nous utilisons plusieurs GPU, beaucoup de RAM, et un accès à des interconnexions réseau très rapides.
Qu'est ce qu'un cluster ?
Un cluster informatique, ou grappe de serveurs, est un groupe d’ordinateurs (appelés « nœuds ») interconnectés qui travaillent ensemble pour fonctionner comme un seul système unifié et puissant. Au lieu d’avoir un seul serveur qui gère toutes les tâches, un cluster distribue la charge de travail sur plusieurs machines.
Pourquoi utiliser un cluster ?
Un cluster informatique, ou grappe de serveurs, est un groupe d’ordinateurs (appelés « nœuds ») interconnectés qui travaillent ensemble pour fonctionner comme un seul système unifié et puissant. Au lieu d’avoir un seul serveur qui gère toutes les tâches, un cluster distribue la charge de travail sur plusieurs machines.
Améliorer les performances (High Performance Computing – HPC)
En combinant la puissance de calcul de plusieurs nœuds, un cluster peut résoudre des problèmes complexes et effectuer des simulations intensives beaucoup plus rapidement qu’une seule machine. C’est crucial pour la recherche scientifique, l’intelligence artificielle, l’analyse de données massives, etc.
Assurer la haute disponibilité (High Availability – HA)
Si un nœud du cluster tombe en panne, les autres nœuds peuvent prendre le relais de ses tâches sans interruption de service. Cela garantit une continuité des opérations, essentielle pour les applications critiques.
Scalabilité
Il est plus facile d’ajouter ou de retirer des nœuds à un cluster pour adapter sa capacité de calcul aux besoins fluctuants, sans avoir à remplacer l’ensemble du système.
Optimisation des coûts
Parfois, il est plus économique de construire un cluster avec des serveurs moins chers que d’acheter un unique superordinateur très cher.
Quels Systèmes d'Exploitation (OS) utilisons nous pour nos Serveurs et Clusters ?
Quels OS pour les serveurs dit généralistes ?
Linux (Distribution serveur). C’est de loin le choix le plus populaire et polyvalent.
- Red Hat Enterprise Linux (RHEL) / CentOS Stream / Fedora : RHEL est une distribution commerciale très stable, avec un support à long terme, largement utilisée en entreprise. CentOS Stream est sa version communautaire en développement continu, et Fedora est la version amont.
- Ubuntu Server : Très populaire pour sa facilité d’utilisation, sa grande communauté, et sa flexibilité. Souvent utilisé pour le cloud computing et les serveurs web.
- Debian : Réputé pour sa stabilité et sa nature entièrement open source. Il sert de base à de nombreuses autres distributions, y compris Ubuntu.
- SUSE Linux Enterprise Server (SLES) / openSUSE Leap : Une autre option Linux d’entreprise robuste, avec un bon support.
- AlmaLinux / Rocky Linux : Des alternatives communautaires binaires-compatibles avec RHEL, conçues pour prendre le relais après l’évolution de CentOS vers CentOS Stream.
Microsoft Windows Server
- Utilisé dans les environnements où les applications sont basées sur des technologies Microsoft (.NET, SQL Server, Exchange, Active Directory).
- Offre une interface graphique familière pour ceux habitués à Windows, bien que la plupart des tâches puissent être gérées via PowerShell.
VMware ESXi
Ce n’est pas un système d’exploitation de serveur généraliste à proprement parler, mais un hyperviseur bare-metal. Il s’installe directement sur le matériel du serveur et permet de créer et d’exécuter plusieurs machines virtuelles (VM) avec différents OS invités. Très utilisé dans les infrastructures de virtualisation et de cloud privé.
Quels OS pour les clusters de calcul intensif ?
Dans les clusters HPC, la performance et la stabilité sont primordiales. Linux est le système d’exploitation quasi exclusif en raison de sa flexibilité, de son noyau optimisé, de sa capacité à gérer un grand nombre de cœurs et de mémoire, de son coût (souvent gratuit), et de l’énorme écosystème de logiciels scientifiques et d’outils de gestion de cluster qui y sont développés.
Les distributions les plus couramment utilisées dans les clusters HPC sont :
- Red Hat Enterprise Linux (RHEL) / AlmaLinux / Rocky Linux : Pour leur stabilité, leur support à long terme et leur adoption massive dans les environnements professionnels et universitaires.
- SUSE Linux Enterprise Server (SLES) : Également très utilisé pour sa robustesse.
- Ubuntu Server : Gagne en popularité pour sa facilité d’administration et sa communauté dynamique.
Les cartes SXM (et autres GPU pour clusters)
Lorsque l’on parle de « cartes SXM », on fait généralement référence aux GPU (Graphics Processing Units) de haute performance de NVIDIA, conçus spécifiquement pour le calcul intensif et l’intelligence artificielle dans les datacenters et les clusters HPC.
Contrairement aux cartes GPU grand public (comme les GeForce RTX) qui utilisent un connecteur PCIe standard, les cartes SXM (comme les NVIDIA A100, H100, ou V100 dans leurs versions SXM) sont montées sur des modules et connectées directement à la carte mère du serveur via l’interconnexion propriétaire NVLink.
Pourquoi utilise t-on les cartes graphiques (GPU) SXM et NVLink ?
Bande passante et latence : PCIe, même dans ses dernières versions (Gen 4, Gen 5), peut devenir un goulot d’étranglement pour la communication entre plusieurs GPU, ou entre les GPU et le CPU, dans des calculs très intensifs. NVLink offre une bande passante bien plus élevée et une latence beaucoup plus faible, permettant aux GPU de communiquer entre eux (et avec le CPU) beaucoup plus rapidement.
Topologie : Les cartes SXM sont souvent montées sur des cartes mères spéciales (par exemple, les cartes mères NVIDIA HGX) qui peuvent accueillir 4, 8, voire 16 GPU connectés via NVLink dans une topologie maillée (mesh) ou hybride cube-mesh, optimisant ainsi la communication directe entre tous les GPU sans passer par le CPU. Cela est crucial pour l’entraînement de grands modèles d’IA ou les simulations scientifiques massives.
Refroidissement : Le format SXM permet souvent des solutions de refroidissement plus robustes (liquide ou à air optimisé) et une densité de GPU plus élevée dans un même serveur.
Quels sont les autres types de GPU utilisées dans les clusters ?
Cartes GPU PCIe : Des GPU professionnels comme les NVIDIA A40, A6000, ou même certaines cartes RTX plus haut de gamme, ou les AMD Instinct MI series, peuvent être intégrées via des slots PCIe dans des serveurs standard. C’est une option plus flexible et moins coûteuse pour des clusters de taille moyenne ou des charges de travail moins exigeantes en interconnexion GPU-GPU ultra-rapide.
Quels sont les autres composants essentiels d'un cluster ?
Nœuds de calcul (Compute Nodes) : Ce sont les serveurs individuels qui composent le cluster. Ils contiennent les CPU (souvent des processeurs Intel Xeon ou AMD EPYC multi-cœurs), la RAM, et les GPU (comme les cartes SXM ou PCIe mentionnées). Chaque nœud exécute une partie de la tâche globale.
Nœuds de tête/maître (Head/Master Nodes) : Un ou plusieurs serveurs dédiés à la gestion du cluster. Ils sont responsables de la planification des tâches, de la surveillance des nœuds, de l’authentification des utilisateurs et de la distribution des travaux aux nœuds de calcul.
Système de stockage : Pour gérer les énormes quantités de données générées et utilisées par les applications HPC et IA.
Cela peut inclure :
- Stockage parallèle haute performance : Des systèmes de fichiers distribués comme Lustre, GPFS (IBM Spectrum Scale) ou BeeGFS, optimisés pour la lecture/écriture simultanée par de nombreux nœuds.
- Stockage objet/bloc : Pour des besoins de stockage à long terme ou pour des bases de données.
- Stockage NVMe : Pour des performances d’E/S ultra-rapides directement sur les nœuds de calcul.
Qu'est ce que InfiniBand ?
InfiniBand est une norme de communication réseau haute performance conçue spécifiquement pour les environnements de calcul intensif (HPC – High Performance Computing), les centres de données et l’intelligence artificielle. Sa principale caractéristique est d’offrir une très faible latence (le temps de réponse est minimal) et un très haut débit (une grande quantité de données peut être transférée rapidement).
Faible Latence et Haut Débit : C’est la raison d’être d’InfiniBand. Alors que l’Ethernet standard est conçu pour des réseaux plus généralistes avec une latence plus élevée, InfiniBand est optimisé pour des communications ultra-rapides, essentielles pour les applications où les nœuds d’un cluster doivent échanger des données constamment et très rapidement. Les débits actuels peuvent atteindre 400 Gigabits par seconde (Gbps), voire plus avec les dernières générations.
RDMA (Remote Direct Memory Access – Accès Direct à la Mémoire à Distance) : C’est une fonctionnalité fondamentale d’InfiniBand. Le RDMA permet à un ordinateur d’accéder directement à la mémoire d’un autre ordinateur sur le réseau, sans impliquer le CPU ou le système d’exploitation de la machine cible. Cela réduit considérablement la charge sur les processeurs et la latence, car les données sont copiées directement de la mémoire d’un nœud à la mémoire d’un autre, sans passer par des étapes intermédiaires coûteuses en temps CPU.
Topologie de Fabric Commutée (Switched Fabric) : InfiniBand utilise une architecture où les nœuds sont connectés via des commutateurs (switches) dédiés, créant un réseau en « étoile » ou en « arbre gras » (fat tree). Cette topologie permet des chemins de communication multiples et non bloquants entre tous les nœuds, optimisant la bande passante et la redondance.
Conçu pour les Clusters : InfiniBand est le protocole d’interconnexion dominant dans le monde du HPC et des supercalculateurs. Il est idéal pour les clusters où des milliers de cœurs de processeurs (CPU et GPU) doivent travailler de concert sur une même tâche, nécessitant des échanges de données massifs et synchronisés.
Qualité de Service (QoS) : InfiniBand intègre des mécanismes de QoS pour prioriser différents types de trafic et garantir que les applications critiques reçoivent la bande passante et la faible latence nécessaires, même sous forte charge.
Un réseau InfiniBand nécessite des équipements spécifiques
- Adaptateurs de Canal Hôte (HCA – Host Channel Adapter) : Ce sont les cartes réseau InfiniBand installées dans chaque serveur/nœud du cluster.
- Commutateurs InfiniBand (InfiniBand Switches) : Des équipements réseau spécialisés qui connectent les HCA entre eux.
- Câbles : Des câbles en cuivre ou en fibre optique, avec des connecteurs spécifiques (QSFP, par exemple), optimisés pour le haut débit et la faible latence.
Quels sont les logiciels utilisés communément dans le HPC (High-Performance Computing) chez CARRI Systems ?
Quels sont les logiciels utilisés pour les systèmes de gestion de charge de travail (Workload Managers / Schedulers) ?
Ces logiciels sont essentiels pour gérer l’exécution des « jobs » (tâches de calcul) sur le cluster. Ils allouent les ressources (CPU, GPU, RAM, temps de calcul) aux utilisateurs et aux jobs, gèrent les files d’attente et optimisent l’utilisation du cluster.
- Slurm Workload Manager : Le plus populaire et le plus utilisé dans le monde du HPC. Open source, très flexible.
- PBS Pro (Portable Batch System) : Commercial, très robuste, souvent utilisé dans les grands centres de calcul.
- LSF (Load Sharing Facility) : Commercial (IBM Spectrum LSF), puissant et riche en fonctionnalités.
- HTCondor : Pour le calcul distribué opportuniste (grid computing).
Quels sont les logiciels pour les bibliothèques de programmation parallèle ?
Ces bibliothèques permettent aux développeurs de créer des applications qui s’exécutent sur plusieurs cœurs/processeurs/nœuds simultanément.
- MPI (Message Passing Interface) : La norme de facto pour la communication entre processus s’exécutant sur des nœuds différents (ou sur des cœurs différents sur le même nœud). Permet aux processus d’échanger des messages pour synchroniser et partager des données.
- Implémentations courantes : Open MPI, MPICH, Intel MPI.
- OpenMP (Open Multi-Processing) : Une API pour la programmation parallèle sur mémoire partagée (multithreading) au sein d’un même nœud. Permet d’exploiter les multiples cœurs d’un CPU ou les capacités d’un GPU.
- CUDA (Compute Unified Device Architecture) / OpenCL :
- CUDA : L’API et la plateforme de programmation de NVIDIA pour l’exécution de calculs sur leurs GPU (essentiel pour l’IA et de nombreux codes scientifiques).
- OpenCL : Un framework ouvert pour la programmation parallèle sur différentes architectures de processeurs (CPU, GPU, FPGA), bien que moins dominant que CUDA pour les GPU NVIDIA.
- OneAPI (Intel) : Une initiative d’Intel pour unifier la programmation sur diverses architectures (CPU, GPU, FPGA) avec un modèle de programmation basé sur SYCL.
Les logiciels compilateurs dans le domaine du HPC
Optimisés pour générer du code performant pour les architectures de serveurs et HPC.
- GNU Compiler Collection (GCC) : Le compilateur open source standard (C, C++, Fortran).
- Intel OneAPI DPC++/C++/Fortran Compilers : Compilateurs optimisés par Intel pour leurs propres processeurs et architectures.
- PGI Compilers (maintenant NVIDIA HPC SDK) : Reconnus pour leurs performances sur les architectures NVIDIA.
Les bibliothèques numériques et scientifiques
Des collections de fonctions pré-optimisées pour des calculs mathématiques et scientifiques courants.
- BLAS (Basic Linear Algebra Subprograms) & LAPACK (Linear Algebra Package) : Pour l’algèbre linéaire. Des implémentations optimisées (OpenBLAS, Intel MKL, BLIS) sont cruciales.
- FFTW (Fastest Fourier Transform in the West) : Pour les transformées de Fourier rapides.
- PETSc (Portable, Extensible Toolkit for Scientific Computation) : Pour la résolution d’équations différentielles partielles et d’algèbre linéaire.
- ScaLAPACK : Version parallèle de LAPACK.
Quels sont les outils de surveillance et de profilage ?
Pour analyser les performances des applications et l’utilisation des ressources du cluster.
- Ganglia, Prometheus, Grafana : Pour la surveillance des métriques système.
- Darshan, CrayPat, NVIDIA Nsight Systems : Pour le profilage des applications parallèles et l’identification des goulots d’étranglement.
l’écosystème logiciel d’un cluster HPC est complexe et hautement spécialisé, visant à maximiser l’efficacité du calcul parallèle sur des infrastructures massives. Il serait difficile de vous citer tout les logiciels que nous utilisons. Pour des informations plus détaillées sur l’accompagnement de votre projet, vous pouvez contacter nos ingénieurs.