Quelle évolution attendre des architectures de calcul pour les prochaines années, avec le développement du calcul scientifique intensif, de l’informatique en nuages et des mégadonnées ? C’est la question à laquelle Jack Dongarra et Daniel A. Reed ont proposé une réponse dans le numéro de juillet 2015 des Communications of the Association for Computing Machinery (CACM), par un article intitulé Exascale Computing and Big Data. Ils y font l’inventaire des défis à relever et concluent à la nécessaire convergence de ces domaines, qui ont évolué de façon séparée depuis deux décennies, parce que les investissements intellectuels et industriels à consentir sont considérables.
Calcul intensif et analyse de données
Le calcul intensif et l’analyse de données ont jusqu’à maintenant été l’affaire de communautés qui communiquaient peu entre elles : pour le calcul intensif, les physiciens, météorologues, climatologues, océanographes, aérodynamiciens. Pour l’analyse de données, plutôt les gens des mathématiques financières, de l’économie, du marketing.
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.
Nos auteurs identifient un certain nombre de domaines qui devraient tirer profit de la convergence entre le calcul intensif et la gestion de mégadonnées :
– la biologie et la médecine sont en passe d’être profondément transformées par la disponibilité de données génétiques individuelles complètes et à bas coût, sans oublier les autres données biomédicales ;
– la physique des hautes énergies doit tirer parti des volumes de données considérables issus des instruments récents, tels que le Large Hadron Collider (LHC) ;
– les progrès des sciences du climat dépendent pour une large part de la réduction de la taille (et donc de l’augmentation du nombre) des portions d’espace observées individuellement ;
– la cosmologie et l’astrophysique recourent à des modèles de plus en plus complexes pour rendre compte des phénomènes qu’elles étudient, cependant que l’observation astronomique produit de plus en plus de données ;
– il en va de même pour les sciences et techniques des matériaux, et cette énumération n’est bien sûr pas exhaustive.
Dans presque tous les domaines les chercheurs et les ingénieurs disposent d’un flot de données considérable et bon marché qu’ils peuvent traiter par des algorithmes de plus en plus complexes dans des centres de calcul dispersés dans le monde entier et équipés d’ordinateurs qui ne coûtent presque plus rien. Les seules choses qui coûtent cher dans cette évolution, ce sont les inventions, les savoirs et les compétences nécessaires à la réalisation efficace de ces projets, notamment pour faire face à la contrainte la plus forte actuellement : le buget énergétique des infrastructures mises en œuvre. C’est l’objet du projet international Exascale.
Sept défis pour les architectures de calcul de demain
Nos auteurs empruntent à la Defense Advanced Research Projects Agency (DARPA) une liste de sept défis posés aux architectes des systèmes informatiques à venir :
– la maîtrise de la dissipation thermique des composants électroniques pour de grandes vitesses de calcul ;
– la capacité et le débit des systèmes de stockage, sous contrainte de la consommation d’énergie ;
– les traitements concurrents et la localité des données ;
– la résilience de systèmes avec un grand nombre de composants ;
– le passage à grande échelle des traitements, sous les contraintes de capacité mémoire et des temps de latence dûs au réseau de communication ;
– la maîtrise des traitements parallèles et des logiciels qui les mettent en œuvre ;
– la création des logiciels de pilotage, de supervision et de réglage de ces systèmes complexes.
Tendances et évolutions techniques
Ces transformations en cours de nombreux domaines de la science et de l’activité économique ne vont pas sans l’émergence de nouvelles solutions techniques qui remettent en cause certaines positions établies.
- L’informatique en nuage (Cloud Computing), qui n’aurait elle-même pas été possible sans la généralisation des systèmes de machines virtuelles, a complètement remis en cause la problématique des centres de calcul et de l’hébergement des traitements et des données, en créant ce que l’on peut appeler un écosystème informatique nouveau, où Amazon occupe de façon tout à fait imprévisible une position dominante.
- La disponibilité de composants de petite taille, à basse consommation électrique, munis d’une puissance de calcul consistante et de capacités de communication sans fil (Bluetooth, WiFi) a déclenché l’essor de l’Internet des objets ; tous les appareils sont désormais programmables et capables d’échanger les données les plus variées, du pèse-personnes à la tondeuse à gazon en passant par le lave-linge, sans oublier la montre ni l’automobile.
- L’essor du smartphone et des tablettes a entièrement bouleversé les rapports de force industriels pour les systèmes d’exploitations, les microprocesseurs et les logiciels de navigation sur Internet. Alors qu’il y a moins de dix ans les logiciels de Microsoft réalisaient plus de 90% des accès au Web, ils n’atteignent plus aujourd’hui qu’un peu plus de 30%, devancés par les systèmes d’exploitation et les navigateurs de Google et Apple, Android, iOS, Chrome, Safari.
- Si la présence du logiciel libre sur les ordinateurs du grand public est encore minoritaire, il y arrive indirectement par le truchement des nouvelles plates-formes d’intermédiation qui reposent entièrement sur le libre, à commencer par Google, Facebook et Twitter. D’autre part le logiciel libre est désormais hégémonique dans les centres de données d’une proportion croissante d’entreprises, sans parler des centres de recherche et des universités.
- Un autre effet de l’essor des smartphone et des tablettes se fait sentir dans le domaine du matériel : en effet ces appareils n’utilisent pas, comme les ordinateurs, de microprocesseurs d’architecture Intel (x86_64), mais ils reposent sur l’architecture ARM, plus moderne et plus sobre, ce qui autorise les petites tailles et les faibles consommations électriques requises pour ce type d’usage. Ce type de processeur évolue de façon à pouvoir bientôt équiper des serveurs, ce qui met Intel en position défensive. Il est à noter qu’ARM ne fabrique pas de composants, mais vend les licences des circuits de sa conception.
- Une évolution parallèle se fait jour dans le monde des réseaux : les possibilités offertes par le Software Defined Networking (SDN), qui affranchit le pilotage des réseaux des lourdeurs et des rigidités des architectures figées des fournisseurs traditionnels (Cisco en tête), et ouvre la voie à de nouvelles solutions, comme celles de Cumulus.
Jack Dongarra et Daniel A. Reed
Ces deux auteurs ont accumulé sur ces sujets une expérience qui justifie que l’on prête attention à leurs analyses. Jack Dongarra, après des débuts à Argonne National Laboratory, est professeur d’informatique à l’université du Tennessee et chercheur associé à Oak Ridge National Laboratory, avec un penchant assez prononcé pour les algorithmes numériques. Il est l’auteur ou le co-auteur d’un certain nombre de bibliothèques de programmes dans les domaines de l’algèbre linéaire et du calcul parallèle, et il est surtout connu pour avoir réalisé, à partir de ces programmes, dans les années 1980, le benchmark LINPACK qui pendant plus de vingt ans a tenu le rôle de mètre-étalon de la puissance de calcul des ordinateurs pour les calculs scientifiques (Jack Dongarra lui-même précise que ce benchmark n’est plus adapté à l’évaluation des systèmes de calcul contemporains). Comme tous ceux qui étaient concernés par ces questions, je consultais fébrilement dès leur sortie les résultats de chaque nouvelle campagne de mesures LINPACK, comme d’autres les cours de la bourse. Je n’aurais garde d’aborder cette question des benchmarks de calculs scientifiques sans mentionner un contributeur français de premier plan, Nhuan DoDuc. Il faut savoir que la réalisation de telles mesures est loin d’être un exercice facile, les naïfs qui s’y essaient mesurent des tas de choses sauf ce qu’ils croient mesurer.
Je suis moins familier des travaux de Daniel A. Reed, mais ses allers et retours entre le monde académique (il est actuellement vice-président pour la recherche et le développement économique de l’université de l’Iowa, après avoir été DSI de celle de Caroline du Nord à Chapel Hill) et des postes de responsabilité en entreprise (chez Microsoft par exemple) lui ont conféré une expérience notable de ce dont il est question ici.