Relational Grid Monitoring Architecture (R-GMA) Valeria Ardizzone INFN Catania Tutorial per i Neo Assunti del progetto PI2S2 Messina, 09-11.01.2007
Grid Monitoring Architecture(GMA) The Producer stores its location (URL) in the Registry. PRODUCER Store location The Consumer looks up producer URLs in the Registry. REGISTRY The Consumer contacts the Producer to get all the data or the Consumer can listen to the Producer for new data. Transfer Data CONSUMER Lookup location Messina, Tutorial per I Neo Assunti del Progetto PI2S2, 09-11.01.2007
R-GMA within Testbed Messina, Tutorial per I Neo Assunti del Progetto PI2S2, 09-11.01.2007
R-GMA: Schema-Registry-Mediator SCHEMA : it holds the names and definitions of all of the tables in the virtual database, and their authorization rules. R-GMA Server VIRTUAL DATABASE TABLE 1,Producer P1 details TABLE 2,Producer P1 details TABLE 2,Producer P2 details TABLE 2,Producer P3 details TABLE 3,Producer P2 details TABLE 3,Producer P1 details TABLE 3,Producer P3 details REGISTRY TABLE 1, Colum defs TABLE 2, Colum defs TABLE 3, Colum defs TABLE 4, Colum defs SCHEMA REGISTRY: It holds the details of all producers that are publishing to tables in the virtual database and it also holds the details of “continuous” consumers. MEDIATOR MEDIATOR: a set of rules for deciding which data providers to contact for any given query. Messina, Tutorial per I Neo Assunti del Progetto PI2S2, 09-11.01.2007
R-GMA: Producer-Consumer Producers: are the data providers for the virtual database. Writing data into the virtual database is known as publishing, and data is always published in complete rows, known as tuples. There are three types of producer: Primary, Secondary and On-demand. R-GMA Server P1 VIRTUAL DATABASE C1 TABLE 1,Producer P1 details TABLE 2,Producer P1 details TABLE 2,Producer P2 details TABLE 2,Producer P3 details TABLE 3,Producer P2 details TABLE 3,Producer P1 details TABLE 3,Producer P3 details REGISTRY TABLE 1, Colum defs TABLE 2, Colum defs TABLE 3, Colum defs TABLE 4, Colum defs SCHEMA SQL “INSERT” P2 SQL “SELECT” MEDIATOR P3 C2 Consumer: represents a single SQL SELECT query on the virtual database. The query is matched against the list of available producers in the Registry. The consumer service then selects the best set of producers to contact and sends the query directly to each of them, to obtain the answer tuples. Messina, Tutorial per I Neo Assunti del Progetto PI2S2, 09-11.01.2007
Producer Types Primary Producer C Secondary Producer P C User Code Producer API Producer Service Tuple Storage C Control and inserted tuples Queries Tuples Secondary Producer User Code Producer API Producer Service Tuple Storage C Control only Queries Tuples SELECT * P On-Demand Producer User Code Producer API Producer Service C Control only Queries Tuples Messina, Tutorial per I Neo Assunti del Progetto PI2S2, 09-11.01.2007
Query and Storage Types Continuous: as soon as new data becomes available it is broadcast to all interested parties. Latest: correspond to intuitive idea of current information. History: return time sequenced data. TABLE 1,Producer P1 details TABLE 2,Producer P1 details TABLE 2,Producer P2 details TABLE 2,Producer P3 details TABLE 3,Producer P2 details TABLE 3,Producer P1 details TABLE 3,Producer P3 details REGISTRY Tuple-store can be in Memory or Database P1 LATEST RETENTION PERIOD (LRP) and HISTORY RETENTION PERIOD (RTP) allow producers to periodically purge old tuples, and to give a precise meaning to the “current state”. Latest-store Continuous&History-store Messina, Tutorial per I Neo Assunti del Progetto PI2S2, 09-11.01.2007
Store table description Continuous Producer API Insert Producer Servlet Schema TableName Value 1 Value 2 TableName Column SQL “CREATE TABLE” SQL “INSERT” Store location Store table description TableName Value 1 Value 2 Registry Continuous TableName URL Predicate Lookup location Consumer API Query Consumer Servlet TableName Value 1 Value 2 SQL “SELECT” TableName UK RAL Alice Result Set TableName Value 1 Value 2 Messina, Tutorial per I Neo Assunti del Progetto PI2S2, 09-11.01.2007
Store table description History or Latest Producer API Insert Producer Servlet Schema TableName Value 1 Value 2 TableName Column SQL “CREATE TABLE” SQL “INSERT” Store location Store table description TableName Value 1 Value 2 Registry Query TableName URL Predicate Lookup location Consumer API Query Consumer Servlet TableName Value 1 Value 2 SQL “SELECT” TableName UK RAL Alice Result Set TableName Value 1 Value 2 Messina, Tutorial per I Neo Assunti del Progetto PI2S2, 09-11.01.2007
R-GMA APIs APIs exist in Java, C, C++. They include methods for… For clients (servlets contacted behind the scenes) They include methods for… Creating consumers Creating primary and secondary producers Setting type of queries, type of produces, retention periods, time outs… Retrieving tuples, inserting data … You can create your own Producer or Consumer. Messina, Tutorial per I Neo Assunti del Progetto PI2S2, 09-11.01.2007
The R-GMA Browser The easiest way to try out R-GMA. It is installed on the machine running the Registry and Schema: https://egris198.eela.ufrj.br:8443/R-GMA Using the Browser you can do the following. Browse the tables in the schema. Look at the table definitions. See all the available producers for a table. Query a table. Query only selected producers. Messina, Tutorial per I Neo Assunti del Progetto PI2S2, 09-11.01.2007
https://rgmasrv.ct.infn.it:8443/R-GMA Messina, Tutorial per I Neo Assunti del Progetto PI2S2, 09-11.01.2007
References RGMA exercises on PI2S2 Wiki: https://grid.ct.infn.it/twiki/bin/view/PI2S2/InformationSystemsGLUE Schema gLite 3.0 User Guide https://edms.cern.ch/file/722398/1.1/gLite-3-UserGuide.pdf R-GMA home page http://www.r-gma.org/ R-GMA in EGEE http://hepunx.rl.ac.uk/egee/jra1-uk/ Messina, Tutorial per I Neo Assunti del Progetto PI2S2, 09-11.01.2007
Questions… Messina, Tutorial per I Neo Assunti del Progetto PI2S2, 09-11.01.2007