11.4.5.3 : Calcul distribué dans LSST



Le télescope LSST manipulera des volumes de données sans précédent dans l'histoire de l'astrophysique, et les infrastructures logicielles de cette communauté ne sont pas prêtes à faire face à ce déluge. C'est la raison pour laquelle le LAL pilote une action de R&D autour du calcul distribué dans cette expérience, proposant une approche de calcul distribué basée sur le framework Apache Spark.

Le choix d'utiliser Spark plutôt que les mécanismes de distribution de calcul standard de la Grille a été motivé par deux facteurs~:

  • D'une part, les volumes de données que l'on peut extraire par une décomposition de domaine automatique sont trop imposants pour être raisonnablement traités par un seul nœud, et a fortiori par un seul cœur. Alors que Spark a été spécifiquement conçu pour la manipulation de grands volumes de données ne tenant pas en RAM.
  • D'autre part, le processus de calcul de LSST peut être aisément décrit par un graphe acyclique de tâches, une abstraction de calcul nativement fournie par Spark.


Cependant, le choix de Spark a aussi impliqué l'interfaçage voire la réécriture d'un certain nombre de bibliothèques d'astrophysique, Spark étant basé sur le langage de programmation Scala là où la communauté d'astrophysique utilise traditionnellement plutôt les langages Fortran, C++, et Python. Si Spark fournit en théorie une interface vers d'autres langages, il s'est rapidement avéré que l'écriture directe de code Scala était nécessaire à l'obtention d'une ergonomie et de performances maximales.

Un aspect positif de cette réécriture est que la tentation d'une migration itérative du code ne s'est jamais présentée, puisque la réécriture était la manière la plus simple d'interfacer les traitements existants à Spark. Cette réécriture est l'occasion de procéder à une revue des codes d'analyse, et de les migrer vers le paradigme fonctionnel de Spark qui se prête mieux à la parallélisation distribuée.

Si ce système est encore à un stade de développement jeune, les premiers tests de passage à l'échelle sont extrêmement encourageants, et l'équipe chargée de ce projet au LAL est assez confiante pour le proposer comme composant d'un broker de LSST, infrastructure haute performance chargée de traiter l'énorme flux de données sortant du télescope en direct pour alerter les groupes de physique étudiants les images du télescope à travers le monde des événements astronomiques de leur choix.

Dans l'ensemble, cette R\&D amont est donc un succès, et montre encore une fois que les innovations technologiques de rupture ne doivent pas être un sujet tabou lorsqu'on fait face à un problème technique difficile comme le traitement de péta-octets de données astrophysiques.