• Home
  • Chimie
  • Astronomie
  • Énergie
  • La nature
  • Biologie
  • Physique
  • Électronique
  • Un nouveau, langage plus convivial pour la programmation de supercalculateurs

    Pouvons-nous créer un environnement de programmation qui n'exige pas que chaque chercheur soit informaticien ? Crédit :Unsplash/Markus Spiske

    Il y a des décennies, les ordinateurs coûtaient cher, complexe et rare.

    La révolution de l'ordinateur personnel a changé tout cela, fournir à la plupart d'entre nous des gadgets facilement accessibles et moins chers qui étaient plus petits, plus rapide et plus facile à utiliser. Les scientifiques en ont également profité. Ils ont développé des techniques informatisées pour étudier le fonctionnement interne des cellules, les orbites des planètes autour d'étoiles lointaines et d'autres phénomènes autrefois bien au-delà de leurs pouvoirs d'observation.

    Mais pour les chercheurs de pointe, une certaine ironie est apparue :des instruments nouveaux et sophistiqués commencent à produire tellement de données que des superordinateurs sont nécessaires pour analyser les résultats expérimentaux. Et les scientifiques qui tentent d'analyser des ensembles de données aussi volumineux ont souvent du mal à maîtriser la complexité du logiciel nécessaire pour programmer le matériel.

    Entrez Régent, un nouveau langage de programmation développé par un groupe dirigé par l'informaticien de Stanford Alex Aiken. Entre autres, Regent rend les supercalculateurs plus faciles à utiliser. "Nous voulions créer un environnement de programmation qui n'exige pas que chaque chercheur soit informaticien, " dit Aiken, le professeur Alcatel-Lucent en communications et réseaux.

    Regent aide à résoudre l'un des plus grands défis du supercalcul :les supercalculateurs d'aujourd'hui sont bien plus complexes que jamais, et les langages de programmation existants ont eu du mal à suivre le rythme. Un superordinateur peut apparaître dans l'imaginaire populaire comme une machine géante, mais il s'agit en fait d'un réseau de milliers de microprocesseurs qui fonctionnent ensemble. Les scientifiques programment généralement ces tableaux en C++, un langage logiciel inventé il y a environ 40 ans, une éon dans le temps de l'informatique. À l'époque, le microprocesseur prédominant était l'unité centrale de traitement, ou processeur, la puce qui a lancé la révolution PC. Les processeurs résolvent rapidement les gros problèmes, un calcul après l'autre, dans ce que les programmeurs appellent un mode sériel.

    Plus récemment, cependant, un deuxième type de microprocesseur est devenu important pour le calcul intensif :l'unité de traitement graphique, ou GPU. D'abord utilisé pour contrôler des millions de pixels sur les écrans d'ordinateur pour améliorer les visuels des jeux vidéo, Les GPU peuvent effectuer de nombreux calculs similaires simultanément, ou en parallèle, comme diraient les programmeurs. Le traitement parallèle s'est avéré extrêmement utile dans des applications telles que l'apprentissage automatique. C++ a été mis à niveau pour suivre ces changements et d'autres changements matériels. Malheureusement, l'accumulation de correctifs a rendu le langage de plus en plus difficile à utiliser. Régent, cependant, permet à un programmeur de superordinateur d'effectuer plus facilement des tâches telles que l'attribution de tâches de traitement en série aux CPU et de tâches de traitement parallèle aux GPU.

    Une fois que Regent a défini le programme à un niveau conceptuel, les intentions du programmeur sont traduites—ou, pour utiliser le terme technique, compilé—dans une deuxième couche logicielle appelée Legion, qu'Aiken a également développé. Legion génère du code machine, des instructions précises indiquant au matériel du superordinateur comment exécuter le programme. L'étroite intégration entre Regent et Legion permet aux programmeurs de prendre plus facilement d'autres décisions importantes; notamment, où stocker les données que le supercalculateur doit analyser.

    Elliott Slaughter, un scientifique du SLAC National Accelerator Laboratory qui a travaillé sur Regent et Legion presque depuis leur création, affirme que l'intégration entre les deux couches permet aux programmeurs d'économiser du temps et de l'argent. Les ordinateurs consomment de l'énergie, qui a un coût. Mais le coût énergétique du déplacement des données peut être 100 fois supérieur au coût des calculs sur ces données. De plus, les grandes expériences reposent souvent sur des instruments qui collectent d'énormes quantités de données. Slaughter a déclaré que certains instruments peuvent collecter l'équivalent de données de 20 DVD vidéo par seconde pour des expériences d'une durée de 15 minutes. Même en se déplaçant à la vitesse de la lumière sur fibre optique, obtenir autant de données de l'instrument au superordinateur peut créer des retards qui pourraient gâcher l'analyse. "L'endroit où vous mettez les données s'avère être l'une des décisions les plus importantes qu'un programmeur prenne, " Slaughter dit. Regent et Legion économisent de l'argent et du temps en donnant au programmeur un contrôle sans précédent sur l'endroit où stocker les données en attendant le calcul.

    Regent se généralisera-t-il ? Les chercheurs disent que les nouvelles langues doivent surmonter une grande inertie. "Regent est une façon très différente de programmer, " dit Aiken. " Il faudra un certain temps pour que les chercheurs adoptent l'état d'esprit requis. "

    Mais deux facteurs jouent en sa faveur. D'abord, le matériel de supercalcul continue de s'améliorer. Le département américain de l'Énergie est à l'origine des développements avec son projet informatique Exascale, qui vise à multiplier par 50 la puissance de supercalcul vers 2021. Le DOE soutient des projets logiciels, dont Régent, pour aider la programmation à suivre le rythme.

    De plus, de nombreux scientifiques qui aimeraient utiliser des superordinateurs ne connaissent pas les outils actuels et se méfient de la courbe d'apprentissage abrupte requise pour programmer de grandes expériences. Même les programmeurs de superordinateurs expérimentés peuvent trouver le système actuel encombrant et se demander s'il n'y a pas un meilleur moyen. « Nous discutons régulièrement avec des scientifiques qui réalisent à quel point Regent leur facilite la vie, " a déclaré Aiken.


    © Science https://fr.scienceaq.com