Post-Image

Hercule

Hercule est une plateforme dédiée à la gestion des données scientifiques issues des codes de calcul haute performance (HPC). En production depuis plus de 20 ans sur des clusters HPC, cette solution s’intègre dans plusieurs chaînes de simulation multi-codes et multi-physiques couvrant des dimensions 1D, 2D et 3D.

L’objectif principal de Hercule est de fournir une API efficace pour l’enregistrement et la restitution des données, tout en activant divers services et traitements répondant aux besoins de communication des données de simulation numérique. Trois catégories de données sont prises en charge :

  • Protections et reprises (Prot/Rep) : gestion des sauvegardes et redémarrages.
  • Communication inter-codes (InterCodes) : transfert de données entre différents codes de calcul ou outils.
  • Post-traitement (PostTraitement) : exportation vers des outils d’analyse ou de visualisation.

Pour assurer une communication optimale, Hercule repose sur plusieurs concepts clés :

  • API générique : une interface standardisée pour tous les usages.
  • Dictionnaire de types : définition de modèles de données communs (maillages structurés et non structurés, AMR, champs scalaires ou vectoriels, descriptions de matériaux, nuages de points, sondes, etc.) facilitant l’interopérabilité entre logiciels.
  • Entrées/Sorties (IO) parallèles : répartition des opérations d’IO sur plusieurs fichiers pour une meilleure performance.
  • Base de données parallèle : subdivision des bases de données en sous-domaines autonomes, permettant un traitement indépendant de chaque fragment.
  • Méta-données : ajout d’informations (bounding box, min/max) pour localiser et positionner rapidement les sous-domaines.
  • Services de manipulation des données : outils de reconfiguration et de filtrage des données à la lecture, utilisables pour les échanges inter-codes ou les analyses.

Une version open-source est disponible pour faciliter les collaborations et les tests, avec une publication publique prévue prochainement sur GitHub.

Pour toute demande d’information, veuillez contacter Olivier Bressand .

Publications

2024

Optimizing I/O performance for AMR Code: A case study with RAMSES in Astrophysics

Author: Loïc Strafella

https://numpex.org/wp-content/uploads/2024/04/Loic_Straffela_Exa_DI_Workshop.pdf

2022

LightAMR format standard and lossless compression algorithms for adaptive mesh refinement grids: RAMSES use case

Authors: Loïc Strafella, Damien Chapon

Abstract: The evolution of parallel I/O library as well as new concepts such as ‘in transit’ and ‘in situ’ visualization and analysis have been identified as key technologies to circumvent I/O bottleneck in pre-exascale applications. Nevertheless, data structure and data format can also be improved for both reducing I/O volume and improving data interoperability between data producer and data consumer. In this paper, we propose a very lightweight and purpose-specific post-processing data model for AMR meshes, called lightAMR. Based on this data model, we introduce a tree pruning algorithm that removes data redundancy from a fully threaded AMR octree. In addition, we present two lossless compression algorithms, one for the AMR grid structure description and one for AMR double/single precision physical quantity scalar fields. Then we present performance benchmarks on RAMSES simulation datasets of this new lightAMR data model and the pruning and compression algorithms. We show that our pruning algorithm can reduce the total number of cells from RAMSES AMR datasets by 10-40% without loss of information. Finally, we show that the RAMSES AMR grid structure can be compacted by ~ 3 orders of magnitude and the float scalar fields can be compressed by a factor ~ 1.2 for double precision and ~ 1.3 - 1.5 in single precision with a compression speed of ~ 1 GB/s.

https://arxiv.org/abs/2208.11958v1
https://doi.org/10.1016/j.jcp.2022.111577
https://www.sciencedirect.com/science/article/pii/S0021999122006398?via%3Dihub

2019

ASTRONUM 2019: Boosting I/O and visualization for exascale era using Hercule: test case on RAMSES

Authors: Loïc Strafella, Damien Chapon

Abstract: It has been clearly identified that I/O is one of the bottleneck to extend application for the exascale era. New concepts such as ‘in transit’ and ‘in situ’ visualization and analysis have been identified as key technologies to circumvent this particular issue. A new parallel I/O and data management library called Hercule, developed at CEA-DAM, has been integrated to Ramses, an AMR simulation code for self-gravitating fluids. Splitting the original Ramses output format in Hercule database formats dedicated to either checkpoints/restarts (HProt format) or post-processing (HDep format) not only improved I/O performance and scalability of the Ramses code but also introduced much more flexibility in the simulation outputs to help astrophysicists prepare their DMP (Data Management Plan). Furthermore, the very lightweight and purpose-specific post-processing format (HDep) will significantly improve the overall performance of analysis and visualization tools such as PyMSES 5. An introduction to the Hercule parallel I/O library as well as I/O benchmark results will be discussed.

https://arxiv.org/pdf/2006.02759
https://hal.science/hal-02886874v1

2018

Ramses User Meeting 2018: HERCULE data management library : boosting RAMSES I/O for exascale era

Author: Loïc Strafella

https://rum2018.sciencesconf.org/221927.html