Utilisation de l API REST CiGri SimSERT (CONSERT / ROSETTA) CIMENT users day 22 Juin 2016 Yves Rogez
CONSERT / ROSETTA - SimSERT Rosetta : observation en orbite autour de la comète Churyumov- Gerasimenko (67P/CG) CONSERT : COmet Nucleus Sounding by Radiowave Transmission SimSERT : Propagation radar en transmission sur un grand domaine => ray-tracing Besoin pour l analyse scientifique et la préparation des opérations
Propagation d onde (ray-tracing) Le workflow SimSERT
irods Le workflow SimSERT Propagation d onde (ray-tracing)
irods Le workflow SimSERT Propagation d onde (ray-tracing) ~ 500 jobs 1 cpu / job Tous les clusters In ~1 GB / cluster Out ~100 GB
irods irods Le workflow SimSERT Propagation d onde (ray-tracing) Indexation de la base de données de rayons ~ 500 jobs 1 cpu / job Tous les clusters In ~1 GB / cluster Out ~100 GB ~ 50 000 jobs 1 core / job 2-3 clusters In ~100 GB / cluster Out (+) ~10 GB
irods irods Le workflow SimSERT Propagation d onde (ray-tracing) Indexation de la base de données de rayons Nettoyage des résultats ~ 500 jobs 1 cpu / job Tous les clusters In ~1 GB / cluster Out ~100 GB ~ 50 000 jobs 1 core / job 2-3 clusters In ~100 GB / cluster Out (+) ~10 GB 1 job 1 core 1 cluster In ~100 GB Out N/A
irods irods Le workflow SimSERT Propagation d onde (ray-tracing) Indexation de la base de données de rayons Nettoyage des résultats Génération des signaux sur l orbite ~ 500 jobs 1 cpu / job Tous les clusters ~ 50 000 jobs 1 core / job 2-3 clusters 1 job 1 core 1 cluster 1 job 1 node 1 cluster In ~1 GB / cluster Out ~100 GB In ~100 GB / cluster Out (+) ~10 GB In ~100 GB Out N/A In ~100 GB Out ~10 MB
Etape 1 : Propagation en ray-tracing Campaigns will be executed on ['luke'] Propagation simulation pass... Generating JDL file for propagation... Generating param file for propagation... Generating configuration file for propagation with luke. Generating configuration file for propagation with default. Copying input files to irods... Preparing campaign Tests and project Test_00 on user rogezy Clean up all campaign files on irods Copy configuration files to irods... Copy job script to irods... Copy geometry data to irdos... Preparation finished Launching campaign Propagation with Tests/cigri/Tests_Test_00_Propagation.jdl... Propagation campaign is running ( ID = 7295 )... Progress : 62 / 338 (18.34 %)
Etape 1 : Propagation en ray-tracing Campaigns will be executed on ['luke'] Propagation simulation pass... Generating JDL file for propagation... Generating param file for propagation... Generating configuration file for propagation with luke. Generating configuration file for propagation with default. Copying input files to irods... Preparing campaign Tests and project Test_00 on user rogezy Clean up all campaign files on irods Copy configuration files to irods... Copy job script to irods... Copy geometry data to irdos... Preparation finished Launching campaign Propagation with Tests/cigri/Tests_Test_00_Propagation.jdl... Propagation campaign is running ( ID = 7295 )... Progress : 62 / 338 (18.34 %) Préparation de la campagne (fichier JDL, fichier de paramètres, )
Etape 1 : Propagation en ray-tracing Campaigns will be executed on ['luke'] Propagation simulation pass... Generating JDL file for propagation... Generating param file for propagation... Generating configuration file for propagation with luke. Generating configuration file for propagation with default. Copying input files to irods... Preparing campaign Tests and project Test_00 on user rogezy Clean up all campaign files on irods Copy configuration files to irods... Copy job script to irods... Copy geometry data to irdos... Preparation finished Launching campaign Propagation with Tests/cigri/Tests_Test_00_Propagation.jdl... Propagation campaign is running ( ID = 7295 )... Progress : 62 / 338 (18.34 %) Le script python lance la campagne et la contrôle API REST de CiGri
Le bout de programme (lancement de la campagne)
Le bout de programme (lancement de la campagne) Ne pas oublier de désactiver le proxy
Le bout de programme (lancement de la campagne) Ne pas oublier de désactiver le proxy On appelle l API REST sur killeen (localhost) Pour lancer une campagne : url campaigns en POST avec le JDL en paramètre On récupère les informations de la nouvelle campagne en JSON Utile ici : l ID de la nouvelle campagne
Le bout de programme (contrôle de la campagne) Boucle de contrôle en récupérant l état de la campagne
Le bout de programme (contrôle de la campagne) Boucle de contrôle en récupérant l état de la campagne Events, Etat et Progression sont facilement accessible dans la réponse JSON
Le bout de programme (contrôle de la campagne) Boucle de contrôle en récupérant l état de la campagne Events, Etat et Progression sont facilement accessible dans la réponse JSON Espacer un peu les requêtes à l API pour ne pas surcharger CiGri
Le bout de programme (contrôle de la campagne) Boucle de contrôle en récupérant l état de la campagne Events, Etat et Progression sont facilement accessible dans la réponse JSON Espacer un peu les requêtes à l API pour ne pas surcharger CiGri Penser aussi aux éventuels échecs des requêtes HTTP
API REST de CiGri C est simple et pratique, à vous de jouer avec Merci! Documentation : http://ciment.ujf-grenoble.fr/cigri-doc/doc_user.html#rest-api URL du service sur killeen : http://localhost/cigri-api