PSPA est un projet né il y a quelques années sur une idée d’Alessandro Variola, alors responsable du département Accélérateurs, au Laboratoire de l’Accélérateur Linéaire d’Orsay. Il vise à fournir aux concepteurs d’accélérateurs de particules un outil universel et convivial permettant d’exécuter différents codes de simulation d’accélérateurs existants de la discipline en les combinant facilement entre eux.
Aujourd’hui, pour concevoir ou étudier un accélérateur de particules, un « physicien machine » dispose d’un nombre important de codes de modélisation et de simulation, essentiellement open source, produits par la communauté des accélérateurs. L’usage de la plupart d’entre eux est libre, mais leur facilité de mise en œuvre (disponibilité, systèmes d’exploitation supportés, documentation, convivialité d’utilisation…) est très variable, avec un grand nombre de paramètres de configuration.
Ce physicien machine doit dès lors faire face à une multitude de problèmes :
Il doit récupérer le code qui l’intéresse et l’installer sur les ressources informatiques dont il dispose
Une étude de machine étant un problème complexe, elle fait généralement appel à l’enchainement de plusieurs programmes différents, incompatibles entre eux : au problème précédent, multiplié par le nombre de programmes en jeu, s’ajoute celui de la conversion des données du format d’un programme à l’autre, un processus fastidieux, sujet à erreurs et consommateur de temps
Il doit gérer lui-même les données générées par les programmes, aucune automatisation de cette gestion n’étant fournie, du fait même de la nature « stand-alone » des programmes
Souvent, il souhaite comparer, en général sur une partie précise de la machine, les simulations fournies par deux programmes différents, soit que ces programmes représentent deux implémentations indépendantes de la même modélisation du processus physique étudié, soit qu’ils fassent chacun appel à des modélisations différentes ; cette opération combine toutes les difficultés évoquées ci-dessus, l’amenant généralement à renoncer.
PSPA s’est donné pour ambition de répondre à ces problématiques, en fournissant une plateforme accessible sur le WEB qui permette, de façon interactive :
de définir graphiquement tout ou partie d’un accélérateur à l’aide d’un ensemble de composants élémentaires traditionnels de la discipline, que l’utilisateur peut combiner à sa guise, un peu comme dans un jeu de construction ; alternativement, PSPA peut aussi importer une machine décrite dans certains formats existants ;
d’indiquer à quels composants, individuellement ou regroupés en secteurs, quel programme de simulation de fonctionnement, choisi dans un catalogue aussi large que possible, doit être appliqué ;
après en avoir fixé les paramètres, de lancer l’exécution de la simulation du système ainsi défini, et récupérer les sorties des programmes mis en jeu, soit sous forme de données numériques, soit sous forme de courbes.
L’état d’avancement actuel de PSPA peut être considéré au stade « prototype », puisqu’il a été utilisé avec succès pour simuler le fonctionnement d’un accélérateur complexe, ThomX, actuellement en cours de construction au LAL. Cependant, les défis à relever pour en faire une plateforme pleinement opérationnelle au sein de la communauté des accélérateurs restent nombreux. Parmi eux, on peut citer :
La représentation réaliste de l’accélérateur étudié ; pour l’instant, on ne dispose que d’un alignement de boites symbolisant chaque composant ou secteur
L’amélioration de l’interface utilisateur, à la fois sous son aspect « design » et sous son aspect ergonomique ; les compétences dans ce domaine étant rares dans notre environnement, nous envisageons sérieusement de sous-traiter ce problème à un prestataire extérieur, avec transfert de compétence
La refonte du moteur d’orchestration des programmes gérés par le système (les codes de la discipline), afin d’améliorer (faciliter, rendre robuste) le processus d’ajout de nouveaux codes, et surtout de permettre la prise en compte de codes développés par l’utilisateur lui-même
La mise en place du système de gestion des données évoqué ci-dessus, permettant à l’utilisateur d’automatiser ses campagnes de simulations, et d’archiver les résultats pour une consultation ultérieure efficace
La possibilité de lancer le système en mode déconnecté, pour permettre l’exécution de simulations longues (plusieurs heures ou jours)
La possibilité d’exécution en mode « élastique » sur le cloud
Une version stand-alone
Une version didactique pour l’enseignement et la dissémination
Note : la « dockerisation » de PSPA, en cours de réalisation actuellement, prépare ces dernières étapes.
Face à ces perspectives, nous sommes à la recherche de forces vives (et enthousiastes) d’une part chez les informaticiens pour participer aux développements, et d’autre part chez les physiciens machine pour tester la plateforme et surtout partager leurs pratiques d’étude et conception d’accélérateurs pour adapter le plus possible l’interface de PSPA aux manières de faire de la discipline. Si vous êtes intéressé, n’hésitez pas à nous contacter.
PSPA est un projet ambitieux. Durant ces derniers mois, des contacts positifs ont été établis tant avec la communauté accélérateurs nationale qu’internationale. Sans réel équivalent, même si certaines applications traitent une partie du problème, il suscite un vif intérêt. Son adoption par les concepteurs d’accélérateur en physique des hautes énergies contribuerait de façon significative à la renommée de l’IN2P3 au sein de cette communauté. Rejoignez-nous pour participer à cette aventure !
Christian HELFT et l'équipe PSPA