Servers in a data center

Quatre leçons que peuvent tirer les gestionnaires de datacenter des superordinateurs les plus puissants

Si vous deviez demander à un passant ce qu'est un superordinateur. Il est probable que dans la majorité des cas, il mentionnera un exemple de "vilain" tiré d'un film. Depuis HAL 9000 (2001 : odyssée de l'espace) jusqu'à VIKI dans iRobot en passant par Skynet de Terminator. Dans la culture populaire, les superordinateurs sont souvent présentés comme des systèmes sensibles qui ont évolué avant de se retourner contre leur créateur.

Cette perception provoquerait de gros éclats de rire parmi les chercheurs du Lawrence Livermore National Laboratory ou du National Weather Service. Le fait est que les superordinateurs aujourd'hui sont loin d'être conscients et l'intelligence artificielle peut simplement être comparée à une barre de recherche capable de balayer de très gros volumes de données.

De nos jours, les superordinateurs alimentent une multitude d'applications à la pointe du progrès : de la prospection pétrolière et gazière en passant par les prévisions météorologiques jusqu'aux marchés financiers et au développement de nouvelles technologies. Les superordinateurs sont les Lamborghini ou les Bugatti du monde informatique et Kingston suit de très près les évolutions qui repoussent les limites de l'informatique. Depuis l'utilisation et le réglage de la DRAM jusqu'aux améliorations des micrologiciels pour la gestion des baies de stockage en passant par la priorité accordée à la constance des débits et de la latence au lieu de valeurs pic, nos technologies sont profondément influencées par les technologies de pointe des superordinateurs.

De même, les gestionnaires de datacenters dans le cloud ou sur site peuvent tirer des leçons utiles du monde des superordinateurs en matière de conception et de gestion de l'infrastructure. Ils seront ainsi en mesure de mieux sélectionner les composants qui pourront suivre les progrès à venir, évitant ainsi une refonte totale du système.

serveur avec lignes brillantes représentant un réseau
1. Les superordinateurs sont conçus précisément pour la constance

À la différence de la majorité des plateformes d'informatique dématérialisée, comme Amazon Web Services ou Microsoft Azure, qui sont prévues pour diverses applications qui peuvent utiliser des ressources et des infrastructures partagées, la majorité des superordinateurs est construite pour répondre à des besoins précis. La liste la plus récente des Haut 500 superordinateurs les plus rapides au monde (de domaine public et déclassifiés) indique non seulement les emplacements et les débits, mais également le champ d'application principal.

Sur les douze premiers superordinateurs, onze sont dédiés à la recherche énergétique, aux essais nucléaires et aux applications de défense. Le seul outsider est Frontera, un système pétaflopique financé par la National Science Foundation, du Texas Advanced Computing de l'université du Texas. Il fournit les ressources académiques aux scientifiques et ingénieurs des projets de recherche des partenaires. Les vingt superordinateurs suivants du Top 500 sont presque tous employés dans le cadre d'applications de défense et de renseignements au niveau gouvernemental. De la trentième à la cinquantième position, nous retrouvons les systèmes utilisés principalement par les services météorologiques. La deuxième moitié du Top 100 est composée de systèmes d'entreprise (NVIDIA, Facebook, etc.), de systèmes milieu de gamme pour prévisions météorologiques et de systèmes dédiés aux programmes de recherche spatiale, à la prospection pétrolière et gazière, à l'éducation et à des applications spécifiques pour des gouvernements.

Ces machines ne sont pas des solutions génériques. Elles sont développées sur mesure avec des fabricants tels qu'Intel, Cray, HP, Toshiba et IBM dans le but de réaliser des calculs spécifiques sur des ensembles de données particuliers, en temps réel ou en mode asynchrone.

Elles possèdent des seuils de latence acceptable définis.

  • Des ressources de calcul prédéfinies exploitant des millions de cœurs de traitement
  • Fréquences comprises entre 18 000 et 200 000 téraFLOPS.

Les capacités de stockage sont exprimées en exaoctets, bien supérieures aux pétaoctets des entrepôts de données modernes.

La fonction des systèmes similaires à Frontera n'est pas de pouvoir sprinter pour gérer un pic de charge de calcul ; ils doivent lire de manière constante un gros volume de données pour obtenir un résultat. Un pic dans les performances de calcul pourrait en réalité provoquer des erreurs dans les résultats. C'est la raison pour laquelle la priorité est accordée à la constance.

De nos jours, le gestionnaire de datacenter doit d'abord répondre à la question « À quoi va servir le système ? » afin de pouvoir envisager l'architecture, gérer les ressources et intégrer des dispositifs de sécurité. La gestion d'un datacenter qui exécute une multitude de bureaux virtuels n'a rien à voir avec celle d'un datacenter d'une centrale 112 ou d'un système de contrôle de trafic aérien. Les besoins, les exigences, les contrats de niveau de service et les budgets différents et la conception doit être adaptée en conséquence.

De même, il faut penser à la manière de garantir la constance des performances sans devoir passer par des constructions personnalisées. Des sociétés comme Amazon, Google et Microsoft disposent des budgets suffisants pour développer des infrastructures de stockage ou de calcul personnalisées, mais la majorité des prestataires de services doit parvenir à choisir le matériel standard.

Par conséquent, un nombre croissant de responsables de datacenters doit définir des critères stricts pour les références de performance de qualité de service et veiller à ce que la cohérence vienne rejoindre la vitesse de calcul et la latence en tant qu'éléments auxquels il faut prêter la plus grande attention.

serveur avec lignes brillantes représentant un réseau
2. La relativité du concept de temps réel

Dans le cadre des applications reposant sur des superordinateurs, la majorité des instances de données en temps réel possède de grosses implications. Depuis l'arrêt d'une réaction nucléaire jusqu'aux données de télémétrie pour le lancement d'une fusée, la latence de calcul peut avoir des conséquences catastrophiques. Et les volumes de données en jeu sont astronomiques. Les flux n'arrivent pas seulement d'une seule source, ils proviennent souvent d'un réseau de points de données.

Mais les données sont éphémères. Dans le cas des flux en temps réel, la majorité des données n'est pas conservée de manière indéfinie. Les données sont écrites, puis écrasées selon une durée prévue pour les écritures et les écrasements séquentiels. Les données en temps réel changent en continu et rares sont les applications qui auraient besoin du moindre bit octet stocké depuis la nuit des temps. Les données sont traitées par lot, soumises à des calculs pour obtenir un résultat (qu'il s'agisse d'une moyenne, d'un modèle statistique ou d'un algorithme) et c'est ce résultat qui est conservé.

Prenons par exemple les pronostics fournis par le superordinateur de la National Oceanographic and Atmospheric Administration (NOAA). Les facteurs météorologiques sont en constante évolution, qu'il s'agisse des précipitations, de la température de l'air ou du sol, de la pression atmosphérique, de l'heure du jour, des effets du soleil, du vent et de son interaction avec le relief. Ces modifications surviennent chaque seconde et sont signalées via un flux d'informations en temps réel. Le service météorologique de la NOAA n'a pas besoin de conserver les données brutes pour toujours. Vous avez besoin des modèles de prévision. Alors que le modèle du système de prévision mondial prend forme, de nouvelles données sont assimilées, ce qui permet d'obtenir des prévisions mises à jour et plus précises.

Qui plus est, les météorologues locaux qui partagent des données avec le service météorologique et qui en reçoivent n'ont pas besoin d'accéder à l'ensemble des données météorologiques mondiales. Ils limitent les modèles aux zones locales. Ils peuvent ainsi enrichir les données du service météorologique de données issues de stations météorologiques locales pour mieux comprendre les microclimats et accélérer la production de prévisions locales plus précises en créant des lots, en soumettant ceux-ci à des calculs pour obtenir un résultat (qu'il s'agisse d'une moyenne, d'un modèle statistique ou d'un algorithme) et c'est ce résultat qui est conservé.

Il en va de même pour les modèles boursiers ou financiers qui utilisent des moyennes mobiles. Chacun d'entre eux utilise des indicateurs spécifiques et des déclencheurs d'action intégrés qui reposent sur des paramètres spécifiques pour les seuils acceptables de comportement du marché. La conception d'un système qui utilise des données « en temps réel » n'a pas besoin d'envisager la conservation de toutes les données introduites. Il convient par contre d'exploiter la mémoire vive non volatile (NVRAM) et la mémoire vive dynamique (DRAM) pour mettre en cache et traiter les données au vol, puis envoyer le résultat obtenu vers la solution de stockage.

illustration d'un circuit de mémoire flash avec tracés lumineux
3. Seuils de latence, Flash NAND et réglage de la DRAM

Dans la majorité des cas, les seuils de latence sont définis à cause des exigences des applications. Dans le contexte des transactions boursières, les secondes valent des millions, voire des milliards de dollars. Dans le contexte des prévisions et du suivi des cyclones, cela pourrait faire toute la différence entre la décision d'évacuer la Nouvelle-Orléans ou Houston.

Les superordinateurs fonctionnent avec une charge définie de niveaux de service, au niveau de la latence, des ressources de calcul, du stockage ou de la bande passante. La majorité d'entre eux pratiquent des calculs attentifs aux pannes. Cela signifie qu'ils sont capables de rediriger les flux de données pour garantir les conditions de latence optimales (sur la base de 𝛱+Δ clocking max) et de passer à des modèles de calcul asynchrone ou de définir la priorité des ressources afin de garantir la puissance de calcul ou la bande passante suffisante pour les travaux.

Que vous travailliez avec des postes de travail haut de gamme, des serveurs IRON ou des charges de calcul haute performance ou des charges scientifiques, les gros ordinateurs et le Big Data ont besoin de gros volumes de DRAM. Les superordinateurs comme le Tianhe-2 utilisent de gros volumes de RAM avec des accélérateurs spécialisés. La façon dont les superordinateurs règlent le matériel et le cadre du contrôleur est unique pour chaque design d'application. Souvent, des tâches de calcul spécifiques, quand l'accès au disque crée un énorme goulot d'étranglement avec les exigences de RAM, ne favorisent pas l'utilisation de la DRAM, mais sont assez petites pour les mémoires flash NAND. Les grappes FPGA sont également réglées pour chaque charge de travail particulière afin de garantir que les gros ensembles de données subissent un recul important des performances quand ils doivent utiliser des moyens traditionnels pour récupérer les données.

La collaboration des équipes de l'Université de l'Utah, du Lawrence Berkeley Lab, de l'Université de Californie du Sud et de l'Argonne National Lab a présenté de nouveaux modèles pour le réglage automatique des performances (ou réglage automatique) en tant que méthodes efficaces pour offrir la portabilité des performances entre différentes architectures. Au lieu de reposer sur un compilateur qui peut garantir des performances optimales sur les architectures multi-cœur plus récentes, les noyaux à réglage automatique et les applications peuvent se régler automatiquement en fonction du processeur cible, du réseau et du modèle de programmation.

Collaborateur du service informatique portant un casque, avec son laptop devant un affichage tête haute
4. Plusieurs couches de sécurité

La répartition de l'énergie au sein des datacenters pour calcul haute performance est un défi toujours plus complexe, surtout dans les infrastructures exploitées en tant que ressources partagées. Dans les infrastructures dédiées ou offertes en tant que service, les datacenters doivent garantir le fonctionnement continu et réduire le risque d'endommagement des composants matériels fragiles en cas de coupure de courant, de surtension ou de modification dans la consommation de pointe.

Les architectes adoptent un mélange de transformateurs de distribution de perte :

  • distribution d'alimentation CC et onduleurs,
  • trigénération (production d'électricité via la chaleur en vue de la stocker comme alimentation de secours)
  • surveillance active
« Enregistrer et enregistrer souvent » est le mot d'ordre pour toute application. Ce principe s'applique également aux datacenters où « sauvegarde» devient le mot clé.

La majorité des datacenters d'aujourd'hui fonctionne dans une structure RAID de haut niveau pour garantir des écritures continues et presque simultanées entre plusieurs baies de stockage. De plus, les infrastructures pour calcul haute performance exploitent un volume élevé de NVRAM pour mettre les données en cache au cours du processus. Il peut s'agir de flux de données en direct qui ne transitent pas par les baies de stockage ou d'informations traitées en parallèle dans une utilisation semblable à celle d'un disque de travail pour libérer des ressources de calcul supplémentaires. Le système Frontera, cité plus haut, possède une capacité totale de travail de 50Po. Les utilisateurs qui ont des besoins très élevés en matière de bande passante ou d'IOPS pourront solliciter une allocation sur un système de fichiers 100% NVMe (non-volatile memory express) d'une capacité approximative de 3Po et avec une bande passante d'environ 1,2To/s.

La sauvegarde RAID constante pour le stockage et la mise en cache constante des tampons NVMe dépend du seuil E/S total des contrôleurs sur le dispositif et de la bande passante totale disponible pour le stockage/la sauvegarde distante.

La majorité des infrastructures pour calcul haute performance élimine également le risque de défaillance matériel au niveau des disques mobiles en adoptant des baies SSD et des blocs de stockage flash. Ces solutions de stockage offrent des IOPS constantes et possèdent des latences prévisibles comprises dans les limites de latence propres à l'application. Nombreux sont les superordinateurs qui exploitent également les bibliothèques à plusieurs bandes (avec des capacités pouvant atteindre un exaoctet ou plus) afin de disposer d'un système d'archivage de données fiable pour chaque bit octet traité et stocké.

Et pour éviter les problèmes si toutes les autres mesures venaient à échouer, certains intègrent des condensateurs contre les coupures d'alimentation, appelés également protection contre les coupures d'alimentation, dans les SSD et la DRAM. Grâces à ces condensateurs, les disques (autonomes ou dans une baie) peuvent terminer les opérations d'écriture en cours, ce qui permet de réduire le volume potentiel de données perdues en cas de panne catastrophique.

Conclusion

Certes, la personnalisation est essentielle dans le milieu des superordinateurs, mais avant toute chose, il est primordial d'identifier les besoins avant de construire le centre de données. Cette étape est également primordiale pour atteindre les performances les plus constantes. Quelle que soit la taille du datacenter, pourquoi ne pas penser qu'il est important ou le traiter comme un superordinateur au moment de générer, de stocker ou de partager des données. L'évaluation de ces facteurs permettra aux architectes de concevoir des architectures haute performance, adaptées aux avancées technologiques de demain, même en cas d'utilisation de composants génériques.

Accessoires