Intégration de BQS dans CREAM Sylvain Reynaud Lyon, le jeudi 10 septembre
B Q S Système d'info. Monitoring Job control Vue d'ensemble Tomcat existant Computing Element BQS G I P Système d'info. Tomcat CEMon BLAH Notif. Monitoring B Q S CREAM B L A H P D xxx_status Job control
B Q S Système d'info. Tomcat Aucun nouveau développement System Info. Système d'info. existant Computing Element BQS G I P BQS IP du LCG-CE Tomcat CEMon Aucun nouveau développement Le service CEMon est compatible avec le GIP du LCG-CE Réutilisation du BQS information provider actuellement en production Refactoring était prévu… mais pas le temps de rentabiliser l'effort B Q S
B Q S Monitoring Tomcat Daemon en C++ System Info. Monitoring existant Monitoring Grid-BQS Computing Element BQS G I P Tomcat CEMon BLAH Notif. B Updater BQS B Q S CREAM B L A H P D bqs_status bselect Daemon en C++ Architecture contrainte par les choix du m/w Custom mapping était prévu, mais pas rentable bqs_submit
Monitoring status { QUEUED => status2 { HOLD=>HELD , *=>PENDING } RUNNING => status2 { SUBMITTED=>PENDING , *=>RUNNING } ENDED => status2 { SUBMITTED => FAILED: Batch failure RUNNING | STARTED | EOJ => step { SPAWNED => FAILED: Batch failure OVER => COMPLETED RUNNING | ENDING => etime { null | < now - 5*60 => RUNNING: Transitional status * => FAILED: Blocked in a transitional status } * => FAILED: Unexpected status } DELF* => ABORTED: Canceled by BQS operator DEL* => step { QUEUED => CANCELED: Canceled by user * => CANCELED: May have been canceled by user or BQS operator } RERUN* | REBOOTING => FAILED: Internal error (job should not be rerunnable) SIG* | KILL* => ABORTED: A limit has been exceeded LOST => FAILED: Job disappeared NREBOOT => FAILED: Worker node has rebooted * => FAILED: Unexpected status }
B Q S Job control Scripts en bash Tomcat System Info. Job control existant Monitoring Grid-BQS Job Control Computing Element BQS Scripts en bash parse les commandes BLAH et les variables d'environnement les convertit en commandes BQS Support N clusters par CE prévu, mais coûteux G I P Tomcat CEMon BLAH Notif. B Q S CREAM B L A H P D bqs_hold bqs_resume bqs_cancel bqs_submit
B Q S Serveur GBQS Tomcat Computing Element BQS CEMon CREAM G I P BLAH System Info. Serveur GBQS existant Monitoring Grid-BQS Job Control Computing Element BQS G I P xxx IP xxx_status xxx_hold xxx_resume xxx_cancel xxx_submit BLAH Parser xxx BQS IP du LCG-CE Tomcat CEMon BLAH Notif. BLAH Updater BQS B Q S CREAM B L A H P D bqs_status bselect bqs_hold bqs_resume GBQS Server bqs_cancel bqs_submit
B Q S Serveur GBQS Serveur en Java + XSL Tomcat System Info. Serveur GBQS existant Monitoring Grid-BQS Job Control Computing Element BQS Serveur en Java + XSL Adapte le job en fonction… du CE, de la CE queue du groupe, du user des requirements du job G I P xxx IP xxx_status xxx_hold xxx_resume xxx_cancel xxx_submit BLAH Parser xxx Tomcat CEMon B Q S CREAM B L A H P D GBQS Server
Serveur GBQS - configuration
Serveur GBQS - configuration
Serveur GBQS - performance xalan (6.4") / xsltproc (38") Cache de tous les composants config pré-traitée (0") stylesheets pré-analysées classes BQS récupérées persistant sur disque pour redémarrage (0.1") http/MINA > apache Minimum de traitements par job communication tcp transforme le JSDL génère le wrapper B Q S DOM B L A H P D xxx_submit Tomcat CEMon CREAM G I BLAH Notif. Computing Element GBQS Server TCP
Serveur GBQS - robustesse L A H P D xxx_submit Tomcat CEMon CREAM G I BLAH Notif. Computing Element existant B L A H P D xxx_submit Tomcat CEMon CREAM G I BLAH Notif. Computing Element B L A H P D xxx_submit Tomcat CEMon CREAM G I BLAH Notif. Computing Element Grid-BQS B L A H P D xxx_submit Tomcat CEMon CREAM G I BLAH Notif. Computing Element gbqs update service gbqs-update-cron gbqs-update-start B L A H P D xxx_submit Tomcat CEMon CREAM G I BLAH Notif. Computing Element B Q S GBQS Server PROS: pas de processus supplémentaire CONS: risque de CE pas à jour lors de la panne (notamment pour les CE de test)
Serveur GBQS - administration console locale (par défaut) console à distance web Utilisé par CEs B Q S JMX HTTP B L A H P D xxx_submit Tomcat CEMon CREAM G I BLAH Notif. Computing Element GBQS Server TCP
Serveur GBQS - administration
Serveur GBQS - administration
Serveur GBQS - administration
Serveur GBQS - logging Plug-in log4j pour RLSng http://grid.in2p3.fr/maven2/fr/in2p3/log4j/in2p3-log4j-rlsng/ log4j.properties log4j.rootCategory=INFO,RLSNG,ROLLING_FILE log4j.appender.RLSNG=fr.in2p3.log4j.JMSQAppender log4j.appender.RLSNG.Threshold=WARN log4j.appender.RLSNG.InitialContextFactory=org.apache.activemq.jndi.ActiveMQInitialContextFactory log4j.appender.RLSNG.ProviderUrl_1=tcp://ccsymod01.in2p3.fr:61616 log4j.appender.RLSNG.ProviderUrl_2=tcp://ccsymod02.in2p3.fr:61616 log4j.appender.RLSNG.Queue=rlsng log4j.appender.RLSNG.Login=****** log4j.appender.RLSNG.Passcode=****** log4j.appender.RLSNG.layout=fr.in2p3.log4j.RlsngLayout log4j.appender.RLSNG.layout.tag=MyApp
Serveur GBQS - dépendances/BQS schema.xsd définition des attributs de configuration BQSClasses.java information sur les classes de BQS template-jsdl.xsl vérification + transformation de la description du job template-wrapper.xsl génération du job wrapper
Téléchargement & doc.
Serveur GBQS - recyclage ? N'a aucun équivalent quelque soit le prochain système de batch choisi idem pour les middlewares autres que gLite Très peu de dépendances sur BQS seulement 4 fichiers / 93 du sous-projet le nom du sous-projet : G-BQS Server Coût d'intégration dans BLAH très faible modification du script "xxx_submit.sh" (xxx = lsf, pbs…) patch du script "blah_common_submit_functions.sh" pour supporter l'ajout d'un épilogue
B Q S Vue d'ensemble Tomcat Computing Element Serveur central BQS System Info. Vue d'ensemble existant Monitoring Grid-BQS Job Control Computing Element Serveur central BQS G I P BQS IP du LCG-CE Tomcat CEMon BLAH Notif. B Updater BQS B Q S CREAM B L A H P D bqs_status bselect bqs_hold bqs_resume GBQS Server gbqs-update service ? bqs_cancel bqs_submit gbqs-update-start gbqs-update-cron