PRODIGUER French Climate Modelling Information Services Platform
COMMUNITY French, European, Global
Community - Problem Space ● E-science collaboration is difficult
Community - Problem Space ● E-science collaboration is difficult ● Political debate is intense
Community - Problem Space ● E-science collaboration is difficult ● Political debate is intense ● Many different actors
Community - Problem Space ● E-science collaboration is difficult ● Political debate is intense ● Many different actors – Scientists / researchers / students
Community - Problem Space ● E-science collaboration is difficult ● Political debate is intense ● Many different actors – Scientists / researchers / students – Impacts community / private sector
Community - Problem Space ● E-science collaboration is difficult ● Political debate is intense ● Many different actors – Scientists / researchers / students – Impacts community / private sector – Politicians / journalists / public
Community - Problem Space ● E-science collaboration is difficult ● Political debate is intense ● Many different actors – Scientists / researchers / students – Impacts community / private sector – Politicians / journalists / public ● Data consumers & producers
Community - Problem Space ● E-science collaboration is difficult ● Political debate is intense ● Many different actors – Scientists / researchers / students – Impacts community / private sector – Politicians / journalists / public ● Data consumers & producers ● Freedom of information
Community - Problem Space ● E-science collaboration is difficult ● Political debate is intense ● Many different actors – Scientists / researchers / students – Impacts community / private sector – Politicians / journalists / public ● Data consumers & producers ● Freedom of information ● Demand for analytical tools
DATA NetCDF, PetaByte, Distributed
Data - Problem Space ● Massive volumes (peta-scale)
Data - Problem Space ● Massive volumes (peta-scale) ● Ever increasing
Data - Problem Space ● Massive volumes (peta-scale) ● Ever increasing ● Widely distributed
Data - Problem Space ● Massive volumes (peta-scale) ● Ever increasing ● Widely distributed ● Difficult to move
Data - Problem Space ● Massive volumes (peta-scale) ● Ever increasing ● Widely distributed ● Difficult to move ● Meta-data publication
META-DATA Publishing & Analysis
Meta-Data - Problem Space ● The black-box problem
Meta-Data - Problem Space ● The black-box problem ● Standards (CF / Metafor)
Meta-Data - Problem Space ● The black-box problem ● Standards (CF / Metafor) ● Extraction tools
Meta-Data - Problem Space ● The black-box problem ● Standards (CF / Metafor) ● Extraction tools ● Publication workflow
Meta-Data - Problem Space ● The black-box problem ● Standards (CF / Metafor) ● Extraction tools ● Publication workflow ● Governance
SOLUTION Data Nodes Web Services Web Portals
DATA NODES CCRT, IDRIS, CERFACS, Meteo-France
COMPUTATION CLUSTER SM 1SM 2 SM N... STORAGE CLUSTER DISKTAPE Data Node
PRODIGUER SERVER COMPUTATION CLUSTER SM 1SM 2 SM N... STORAGE CLUSTER DISKTAPE Data Node
ESG Data Publishing PRODIGUER SERVER COMPUTATION CLUSTER SM 1SM 2 SM N... STORAGE CLUSTER DISKTAPE Data Node
ESG Data Publishing Prodiguer Simulation Monitoring PRODIGUER SERVER COMPUTATION CLUSTER SM 1SM 2 SM N... STORAGE CLUSTER DISKTAPE PD G Data Node
ESG Data Publishing Prodiguer Simulation Monitoring PRODIGUER SERVER COMPUTATION CLUSTER SM 1SM 2 SM N... STORAGE CLUSTER DISKTAPE PD G Data Node
ESG Data Publishing Prodiguer Simulation Monitoring PRODIGUER SERVER COMPUTATION CLUSTER SM 1SM 2 SM N... STORAGE CLUSTER DISKTAPE PD G Data Node FIREWALL
ESG Data Publishing Prodiguer Simulation Monitoring PRODIGUER SERVER COMPUTATION CLUSTER SIM 1 SIM 2 SIM N... STORAGE CLUSTER DISKTAPE PD G HTTPS GRID- FTP HTTPHTTPS WEB SERVICES FIREWALL Data Node
WEB SERVICES ESG, Prodiguer, Metafor, IS-ENES Meta-Data Publication
Meta-Data Publication FRENCH SCIENTIFIC COMPUTING CENTRES (DN = DATA NODE) DN-1 (CCRT) DN-N (Meteo-France) DN-3 (CERFACS) DN-2 (IDRIS)...
Meta-Data Publication FRENCH SCIENTIFIC COMPUTING CENTRES (DN = DATA NODE) DN-1 (CCRT) DN-N (Meteo-France) DN-3 (CERFACS) DN-2 (IDRIS)... CORE (CIMP5)
Meta-Data Publication FRENCH SCIENTIFIC COMPUTING CENTRES (DN = DATA NODE) DN-1 (CCRT) DN-N (Meteo-France) DN-3 (CERFACS) DN-2 (IDRIS)... CORE (CIMP5)OPERATIONAL
Meta-Data Publication FRENCH SCIENTIFIC COMPUTING CENTRES (DN = DATA NODE) DN-1 (CCRT) DN-N (Meteo-France) DN-3 (CERFACS) DN-2 (IDRIS)... WEB SERVICES (RESTful, AtomPub) CORE (CIMP5)OPERATIONAL
Meta-Data Publication FRENCH SCIENTIFIC COMPUTING CENTRES (DN = DATA NODE) DN-1 (CCRT) DN-N (Meteo-France) DN-3 (CERFACS) DN-2 (IDRIS)... DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY WEB SERVICES (RESTful, AtomPub) OPERATIONALCORE (CIMP5)
Meta-Data Publication FRENCH SCIENTIFIC COMPUTING CENTRES (DN = DATA NODE) DN-1 (CCRT) DN-N (Meteo-France) DN-3 (CERFACS) DN-2 (IDRIS)... DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY WEB SERVICES (RESTful, AtomPub) PRODIGUER DATABASE(S) PostGres CORE (CIMP5)OPERATIONAL
Meta-Data Publication FRENCH SCIENTIFIC COMPUTING CENTRES (DN = DATA NODE) DN-1 (CCRT) DN-N (Meteo-France) DN-3 (CERFACS) DN-2 (IDRIS)... DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY DATABASE(S) eXist, PostGres METAFOR / IS-ENES WEB SERVICES (RESTful, AtomPub) PRODIGUER DATABASE(S) PostGres CORE (CIMP5)OPERATIONAL
Meta-Data Publication FRENCH SCIENTIFIC COMPUTING CENTRES (DN = DATA NODE) DN-1 (CCRT) DN-N (Meteo-France) DN-3 (CERFACS) DN-2 (IDRIS)... DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY DATABASE(S) eXist, PostGres METAFOR / IS-ENES WEB SERVICES (RESTful, AtomPub) PRODIGUER DATABASE(S) PostGres XMLXML XMLXML XML Base64 CORE (CIMP5)OPERATIONAL
Meta-Data Publication FRENCH SCIENTIFIC COMPUTING CENTRES (DN = DATA NODE) DN-1 (CCRT) DN-N (Meteo-France) DN-3 (CERFACS) DN-2 (IDRIS)... DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY DATABASE(S) eXist, PostGres METAFOR / IS-ENES WEB SERVICES (RESTful, AtomPub) PRODIGUER DATABASE(S) PostGres XMLXML HTTPS / X509 XMLXML XML Base64 CORE (CIMP5)OPERATIONAL
WEB PORTALS ESG, Prodiguer, Metafor, IS-ENES Meta-Data Analysis
Meta-Data Analysis DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY DATABASE(S) eXist, PostGres METAFOR / IS-ENES WEB SERVICES (RESTful, AtomPub) PRODIGUER DATABASE(S) PostGres
Meta-Data Analysis WEB PORTALS (HTML / Javascript) DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY DATABASE(S) eXist, PostGres METAFOR / IS-ENES WEB SERVICES (RESTful, AtomPub) PRODIGUER DATABASE(S) PostGres
Meta-Data Analysis ESG CURATOR WEB PORTALS (HTML / Javascript) DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY DATABASE(S) eXist, PostGres METAFOR / IS-ENES WEB SERVICES (RESTful, AtomPub) PRODIGUER DATABASE(S) PostGres
Meta-Data Analysis ESG CURATOR METAFOR / IS-ENES WEB PORTALS (HTML / Javascript) DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY DATABASE(S) eXist, PostGres METAFOR / IS-ENES WEB SERVICES (RESTful, AtomPub) PRODIGUER DATABASE(S) PostGres
Meta-Data Analysis ESG CURATOR METAFOR / IS-ENES PRODIGUER WEB PORTALS (HTML / Javascript) DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY DATABASE(S) eXist, PostGres METAFOR / IS-ENES WEB SERVICES (RESTful, AtomPub) PRODIGUER DATABASE(S) PostGres
Meta-Data Analysis ESG CURATOR METAFOR / IS-ENES PRODIGUER WEB PORTALS (HTML / Javascript) DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY DATABASE(S) eXist, PostGres METAFOR / IS-ENES WEB SERVICES (RESTful, AtomPub) PRODIGUER DATABASE(S) PostGres
Meta-Data Analysis ESG CURATOR METAFOR / IS-ENES PRODIGUER WEB PORTALS (HTML / Javascript) DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY DATABASE(S) eXist, PostGres METAFOR / IS-ENES WEB SERVICES (RESTful, AtomPub) PRODIGUER DATABASE(S) PostGres JSON JSON / XML XML
Meta-Data Analysis ESG CURATOR METAFOR / IS-ENES PRODIGUER WEB PORTALS (HTML / Javascript) DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY DATABASE(S) eXist, PostGres METAFOR / IS-ENES WEB SERVICES (RESTful, AtomPub) PRODIGUER DATABASE(S) PostGres HTTPS / OpenID JSON JSON / XML XML
Meta-Data Analysis Max Planck Institute University of Cantabria Meteo-France WEB PORTALS (HTML / Javascript) DATABASE(S) PostGres, RDF-Triple ESG – GATEWAY DATABASE(S) eXist, PostGres METAFOR / IS-ENES WEB SERVICES (RESTful, AtomPub) PRODIGUER DATABASE(S) PostGres JSON JSON / XML XML HTTPS / OpenID
ESG Portal
Metafor Portal
Prodiguer Portal A VENIR Premier prototype: Fin Mai 2010
PRODIGUER SIMULATION MONITOR Python, Message Queues, Databases
ESG Data Publishing Prodiguer Simulation Monitoring PRODIGUER SERVER COMPUTATION CLUSTER SIM 1 SIM 2 SIM N... STORAGE CLUSTER DISKTAPE PD G HTTPS GRID- FTP HTTPHTTPS WEB SERVICES FIREWALL Data Node
Prodiguer Simulation Monitoring PRODIGUER SERVER COMPUTATION CLUSTER SIM 1 SIM 2 SIM N... PD G HTTPS WEB SERVICES FIREWALL Data Node
OBJECTIVE Real time monitoring of all simulations executing within Prodiguer computing centres
USE CASES View simulations by centre; View simulations by month View simulations by failure View simulations by coupling View simulations by coupling and failure View simulation configuration files Display results in tabular and graphical (Atlas) modes.
S 1... S N S 3 S 2 Simulation Execution Environment Input.ini.netCDF.make Events 100=Start 101=Stop Output.ini.netCDF SIMULATION MACHINE
S 1... S N S 3 S 2 Simulation Execution Environment Input.ini.netCDF.make Events 100=Start 101=Stop Output.ini.netCDF Prodiguer Simulation Services Python (Async) Message Queues (RabbitMQ ) Event Monitor Event Publisher SIMULATION MACHINE
S 1... S N S 3 S 2 Simulation Execution Environment Input.ini.netCDF.make Events 100=Start 101=Stop Output.ini.netCDF Prodiguer Simulation Services Python (Async) Message Queues (RabbitMQ ) Event Monitor Event Publisher SIMULATION MACHINE PRODIGUER DATA NODE FIREWALL Base64
Event Info Python Classes ● EventInfo ● Encapsulates event information (IMPORTANT!) ● SimulationInfo ● Encapsulates information regarding the simulation ● ● MachineInfo* ● Encapsulates information regarding the machine ● UserInfo* ● Encapsulates information regarding the user ● CoreInfo* ● Encapsulates information regarding the cpu
Python Classes ● EventMonitorManager ● Manages collection of event monitors ● Exposes methods for invoking event monitors ● EventMonitor ● Handles events raised from simulation environment ● EventQueueManager ● Manages event queue access ● EventQueue ● Event queue wrapper (RabbitMQ) ● Exposes methods: queue(), dequeue(), requeue() ● EventPublisherManager ● Manages a private collection of event publishers ● Manages interaction with event queues ● EventPublisher ● Publishes event information to Prodiguer data node
PRODIGUER SIMULATION SERVICE FIREWALL Base64
Prodiguer Data Node Services Message Queues (RabbitMQ ) Event Monitor Event Publisher DATA NODE MACHINE PRODIGUER SIMULATION SERVICE FIREWALL Base64
Prodiguer Data Node Services Message Queues (RabbitMQ ) Event Monitor Event Publisher DATA NODE MACHINE PRODIGUER WEB SERVICE HTTPS / X509 PRODIGUER SIMULATION SERVICE FIREWALL Base64
Event Info Python Classes ● ComputationCentreInfo ● Encapsulates information regarding the computing centre
Python Classes ● EventMonitor ● Handles events raised from simulation environment. ● EventMonitorManager ● Manages a private collection of event monitors ● Exposes methods for invoking event monitors ● ● EventPublisher ● Publishes event information to Prodiguer web service ● EventPublisherManager ● Manages a collection of event publishers ● Manages interaction with event queues ● EventQueue ● Wrapper around an event queue (RabbitMQ) ● Exposes methods: queue(), dequeue(), requeue() ● EventQueueManager ● Manages access to a private collection of event queues
HTTPS / X509 PRODIGUER DATA NODE Base64
Message Queues (RabbitMQ) Event Monitor Web Service Event Processors Prodiguer Web Server HTTPS / X509 PRODIGUER DATA NODE Base64
Message Queues (RabbitMQ) Event Monitor Web Service Event Processors Prodiguer Web Server HTTPS / X509 PRODIGUER DATA NODE Base64 PRODIGUER DATABASE(S) SqlAlchemy
Python Classes ● EventMonitorController ● HTTP controller handling events raised from data node ● Validates incoming http messages ● Deserializes incoming http messages ● ● EventQueue ● Event queue wrapper (RabbitMQ) ● Exposes methods: queue(), dequeue(), requeue() ● EventQueueManager ● Manages event queue access ● EventProcessorManager ● Manages a private collection of event publishers ● Manages interaction with event queues ● EventProcessor ● Publishes event information to Prodiguer web service
Prodiguer Web Portal PRODIGUER DATABASE(S)
Simulation Monitor Web Application Prodiguer Web Portal PRODIGUER DATABASE(S) SqlAlchemy
Simulation Monitor Web Application Prodiguer Web Portal PRODIGUER DATABASE(S) PRODIGUER COMMUNITY Researchers, Scientists, Students, Impacts, Private Sector, Politicians, Journalists, Public HTTPS / OpenID JSON SqlAlchemy
COMMUNITY French, European, Global
DATA NetCDF, PetaByte, Distributed
META-DATA Publishing & Analysis
SOLUTION Data Nodes Web Services Web Portals