Mégadonnées (Big Data) : deux familles de traitements
L’informatique contemporaine permet le traitement d’importants volumes de données, et en outre les systèmes en ligne en produisent de plus en plus. L’accès à ces données, les droits de propriété qui s’y appliquent, la capacité de les traiter deviennent des enjeux de souveraineté.
Pour le traitement de ces mégadonnées (Big Data), deux cas sont à distinguer :
– Analyse de données : pour prendre un exemple en biologie, les chercheurs doivent, en routine, comparer une séquence biologique avec l’ensemble de toutes les séquences contenues dans une immense base de données. Chaque comparaison est indépendante des autres, elles peuvent être effectuées indépendamment. Si l’on dispose par exemple de 100 serveurs, il est possible de partager la base de données en 100 sous-bases et de répartir le travail entre les serveurs. Il en va de même lorsque Google analyse les recherches de ses utilisateurs, ou Amazon les achats de ses clients. Les banques, les compagnies d’assurance, la grande distribution, les services publics font ce genre d’analyses de données. Ce type de travail est effectué le plus efficacement avec de grandes fermes de serveurs de modèle courant.
– Calcul intensif : à l’inverse de l’analyse de données, les calculs de météorologie, d’océanographie, d’aérodynamique et de façon générale tout ce qui a trait à la mécanique des fluides, ainsi que l’astrophysique et les simulations de toutes sortes, notamment dans le domaine nucléaire ou pour les essais de collision, reposent sur des opérations d’algèbre linéaire pour lesquelles toutes les données doivent être simultanément en mémoire. De tels calculs nécessitent des super-ordinateurs, constitués d’une grande quantité de cœurs de processeur [1] (typiquement plusieurs milliers, jusqu’à 40 460 pour le supercalculateur chinois Sunway TaihuLight qui détenait encore récemment (2016) le record de puissance de calcul) qui partagent une mémoire commune, ce qui nécessitent des dispositifs d’interconnexion et de commutation d’une grande complexité.
Chaque fois que ce sera possible on se ramènera au premier cas de figure, moins onéreux et plus facile à industrialiser. Les super-ordinateurs jouent un rôle important dans plusieurs domaines de recherche et d’applications, notamment militaires, ils ne constituent qu’un marché de niche (40 milliards de dollars en 2019), mais il ne faut pas en sous-estimer l’importance stratégique et le prestige qui en découle. Le français Bull-Atos maintient une activité de constructeur dans ce domaine, avec 31 systèmes parmi ce TOP500 où il est le seul européen.
Convergence de l’analyse de données et du calcul intensif
Une évolution se dessine, caractérisée par la convergence des deux types de travaux que nous avons décrits [2]. De plus en plus, les adeptes du calcul intensif ont aussi d’énormes volumes de données à manipuler, et les analystes de mégadonnées doivent aussi leur appliquer des algorithmes coûteux en temps de calcul. De surcroît, les calculs des uns et des autres sont de plus en plus souvent distribués sur un grand nombre de processeurs, éventuellement dispersés géographiquement (« en nuage »), pas forcément identiques, ce qui remet au premier plan des problèmes à résoudre les algorithmes de synchronisation de programmes concurrents et la gestion de hiérarchies de mémoire entre la mémoire locale, d’accès rapide mais de capacité limitée, et la mémoire dispersée dans les nuages, de capacité virtuellement illimitée mais d’accès plus lent.
La question reste ouverte de savoir si l’avenir de cette convergence est vers les super-ordinateurs ou vers l’informatique en nuage avec d’immenses fermes de serveurs banals. C’est une question de logiciel. Les tendances récentes penchent plutôt vers la seconde solution (cf. ci-dessous), mais les super-ordinateurs resteront utiles pour certains types de travaux : simulations dans le domaine du nucléaire, mécanique des fluides (aérodynamique, météorologie, climatologie, océanographie), crash tests, sismologie pour la recherche pétrolière, etc...
Le calcul à haute performance (HPC)
Le sigle HPC désigne usuellement les applications des super-ordinateurs, dont les performances font l’objet d’un palmarès international publié chaque année [3] avec un grand rebondissement médiatique. Nous empruntons à ce site officiel les tableaux et graphiques ci-dessous :
Rang | Nom | Ordinateur | Constructeur | Pays | Nb. cœurs | Architecture |
---|---|---|---|---|---|---|
1 | Fugaku | Fugaku | Fujitsu | Japon | 7 630 848 | A64FX 48C 2,2GHz(ARM) |
2 | Summit | Power System AC922 | IBM | USA | 2 414 592 | POWER9 22C 3,1GHz |
3 | Sierra | Power System AC922 | IBM | USA | 1 572 480 | POWER9 22C 3,1GHz |
4 | TaihuLight | Sunway MPP | NRCPC | Chine | 10 649 600 | Sunway SW26010 260C 1.45GHz |
5 | Selene | Nvidia DGX A100 | Nvidia | USA | 555 520 | AMD Epyc x86-64 2,26GHz |
6 | Tianhe-2A | TH-IVB-FEP | NUDT | Chine | 4 981 760 | Intel Xeon E5-2692v2 |
Vendeur | Nb. de systèmes installés | Part du palmarès (%) | Nb. de cœurs installés |
---|---|---|---|
Lenovo | 182 | 36.4 | 13,313,744 |
Inspur | 66 | 13.2 | 3,061,336 |
Sugon | 51 | 10.2 | 3,974,964 |
HPE | 43 | 8.6 | 5,339,200 |
Cray/HPE | 32 | 6.4 | 5,618,128 |
Atos | 31 | 6.2 | 3,802,552 |
Dell EMC | 16 | 3.2 | 2,417,060 |
Fujitsu | 15 | 3 | 9,511,856 |
IBM | 9 | 1.8 | 3,509,888 |
Penguin Computing | 8 | 1.6 | 516,792 |
Nvidia | 7 | 1.4 | 1,018,336 |
NEC | 6 | 1.2 | 322,600 |
Huawei | 6 | 1.2 | 261,380 |
NUDT | 3 | 0.6 | 5,342,848 |
Intel | 2 | 0.4 | 159,044 |
IBM / NVIDIA / Mellanox | 2 | 0.4 | 1,860,768 |
Cray Inc./Hitachi | 2 | 0.4 | 271,584 |
La totalité de ces 500 super-ordinateurs « tournent » sous une variante ou une autre du système d’exploitation Linux, ce qui confirme la position dominante de ce logiciel libre tant dans le calcul à haute performance que de façon générale dans l’équipement des centres de calcul et de données.
169 de ces machines sont installées en Chine, 18 en France, 25 en Allemagne, 28 au Japon, 165 aux États-Unis, 11 au Royaume-Uni, avec un total de 91 pour l’Union Européenne (en comptant le Royaume-Uni).
Par type d’activité, 95 de ces machines sont dans le monde académique, 111 dans la recherche, 43 dans les services gouvernementaux, 244 dans le monde industriel.
Les processeurs Intel sont omniprésents, mais on compte néanmoins 13 AMD, 23 IBM, 4 ARM et 7 SPARC de fabrication Fujitsu et quelques « inconnus », tels que les Sunway du numéro 4. Rappelons que Bull est le seul européen de ce classement, avec des machines à base de processeurs Intel.
Les principales difficultés (liées) auxquelles doivent faire face les ingénieurs de tels systèmes sont la dissipation thermique et la consommation électrique. Parmi les solutions envisageables figure le recours à des processeurs de conception plus sobre, comme ceux conçus par le britannique ARM, récemment racheté en 2016 par le fonds japonais Softbank, puis en 2020 par l’Américain Nvidia.
Marché du calcul à haute performance
Le haut du classement des 500 supercalculateurs les plus puissants est occupé en majorité par des acteurs publics (monde académique, agences gouvernementales), tandis que le monde industriel (qui représente la moitié de l’ensemble) a tendance à se tourner vers des matériels moins spectaculaires, moins dispendieux et plus faciles à mettre en œuvre (Hewlett Packard et Lenovo sont aux premiers rangs des fournisseurs de telles solutions). Les matériels qui occupent les premières places ont visiblement un rôle de prestige : il s’agit d’afficher une excellence technologique supposée.
Nous avons interrogé un éditeur de logiciels destinés à des calculs scientifiques intensifs et à des modélisations coûteuses en temps de calcul. Sa réponse est que ses logiciels sont conçus de façon à pouvoir être utilisés sur des supercalculateurs par les clients qui le souhaitent, mais que pour son propre usage il n’utilise pas de tels matériels ni ne prévoit d’en utiliser. Les solutions qui ont sa préférence repose sur des fermes de serveurs banals, conformément au premier type de solution exposé au début de ce texte. L’usage généralisé de l’informatique en nuage lui semble la voie de l’avenir.