Panoramica sul middleware gLite GRID Tutorial per gli Istituti Tecnici Industriali Marcello Iacono Manno Catania, 6 maggio 2010 Slide: Valeria Ardizzone
Panoramica Panoramica su gLite Elementi di gLite a livello di sito Computing Element (CE) Storage Element (SE) Site Berkeley Database Information Index (BDII) Elementi di gLite a livello di Virtual Organization Virtual Organization Management Service (VOMS) Workload Management System (WMS) LCG File Catalogue (LFC) Top BDII Diagramma degli stati di un job Catania, 6 Maggio 2010 GRID Tutorial per gli Istituti Tecnici Industriali
Grid Grid Aim ? Lo scopo di Grid è: Integrare Virtualizzare Controllare RISORSE e SERVIZI attraverso Virtual Organization (VO) differenti VO è un insieme di persone che gestiscono ed utilizzano le risorse di una grid Catania, 6 Maggio 2010 GRID Tutorial per gli Istituti Tecnici Industriali
Grid Middleware - Strato SW intermedio tra risorse e servizi gLite - Lightweight Middleware for Grid Computing Le risorse sono condivise da molte VO attraverso i servizi Accesso Allocazione Monitoraggio Job & Data Management http://www.glite.org Catania, 6 Maggio 2010 GRID Tutorial per gli Istituti Tecnici Industriali
Applicazioni di alto livello Servizi di sicurezza Job Management Monitoring and Discovery Data Applicazioni di alto livello middleware Catania, 6 Maggio 2010 GRID Tutorial per gli Istituti Tecnici Industriali
EGEE Middleware: gLite Service Oriented Approach: Servizi “leggeri” Permette diverse soluzioni compatibili tra loro Realizzazione facile e veloce Integrazione coi servizi esistenti Applicazioni Servizi Grid di alto livello Workload Management Replica Management Visualizzazione Workflows Ottimizzazione etc. Soluzioni specifiche Esportabilità Più facile da modificare Integrazione delle applicazioni (porting, wrapping) Foundation Grid Middleware Modello ed infrastruttura per la sicurezza Computing (CE) & Storage Elements (SE) Accounting Monitoraggio e sistema informativo Indipendente dalle applicazioni Adesione a/valutazione di nuovi standard Robustezza E’ distribuito come parte di un sito GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
gLite Services Decomposition Access CLI API Security Services Information & Monitoring Services Authorization Information & Monitoring Service Discovering Auditing Authentication Network Monitoring Data Services Job Mgmt. Services Metadata Catalog File & Replica Catalog Job Provenance Package Manager Accounting Storage Element Data Movement Computing Element Workload Management GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
Information & Monitoring Grid Access Access CLI API Security Services Information & Monitoring Services Authorization Information & Monitoring Service Discovering Auditing Authentication Network Monitoring Data Services Job Mgmt. Services Metadata Catalog File & Replica Catalog Job Provenance Package Manager Accounting Storage Element Data Movement Computing Element Workload Management GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
User Interface (UI) Per accedere ai servizi del M/W si usa una User Interface (UI) Fornisce le righe di comando (Command Line Interface o CLI tools ) per interagire coi servizi gLite Operazioni di base sulla Grid: Creazione di un proxy per autenticazione/autorizzazione Interrogare l’IS sul resource status Copiare, duplicare o cancellare file dal DMS Lista le risorse disponibili per l’esecuzione dei job Sottomettere un job Cancellare un job Mostrare lo stato del job Recuperare il job output Recuperare informazioni sull’esecuzione del job (L&B) Fornisce (Application Protocol Interfaces o APIs) da integrare nella Grid GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
Job submission gLite services User Interface Workload Management Logging & Bookkeeping Information System submit query retrieve discover services update credential publish state submit publish state query retrieve File and Replica Catalogs Site X Computing Element Storage Element Authorization Service WNs GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
Computing Element (CE) Access CLI API Security Services Information & Monitoring Services Authorization Information & Monitoring Service Discovering Auditing Authentication Network Monitoring Data Services Job Mgmt. Services Metadata Catalog File & Replica Catalog Job Provenance Package Manager Accounting Storage Element Data Movement Computing Element Workload Management GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
Accesso alle risorse UI Site In produzione In fase di prototipo CREAM CEMon ICE client User Globus client UI LCG-CE (GT2 GRAM) Obsoleto gLite-CE (Condor-C+GSI) Rilasciato (GT2 version) ma non ancora stabile CREAM (WS-I) Prototipo in fase di test EGEE contribuisce all’Open Grid Forum – Basic Execution Services per un’interfaccia basata su Web Services (WS-I) verso il CE BLAH is the interface resource to the local manager (via plug-ins) CREAM & gLite-CE Information pass-through: manda parametri all’LRMS per migliorare lo scheduling LCG-CE (GT2) gLite WMS Condor-G gLiteCE BLAH GT2 GRAM Site jobmanager In produzione In fase di prototipo EGEE authZ, InfoSys, Accounting Batch System gLite component non-gLite component User / Resource GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
Information & Monitoring Storage Element (SE) Access CLI API Security Services Information & Monitoring Services Authorization Information & Monitoring Service Discovering Auditing Authentication Network Monitoring Data Services Job Mgmt. Services Metadata Catalog File & Replica Catalog Job Provenance Package Manager Accounting Storage Element Data Movement Computing Element Workload Management Catania, 6 Maggio 2010 GRID Tutorial per gli Istituti Tecnici Industriali
Storage Element (SE) Uno Storage Element (SE) è un insieme di servizi per il Data Management I dati sono salvati su disk pool servers o Mass Storage Systems Compiti dello Storage resource management: Accesso trasparente ai file (migrazione da/per disk pool) Controllo dei file Prenotazione dello spazio di stoccaggio Notifica dello stato dei file Lo Storage Resource Manager (SRM) connette anche il DMS locale ai siti Grid remoti GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
Information & Monitoring Information System Access CLI API Security Services Information & Monitoring Services Authorization Information & Monitoring Service Discovering Auditing Authentication Network Monitoring Data Services Job Mgmt. Services Metadata Catalog File & Replica Catalog Job Provenance Package Manager Accounting Storage Element Data Movement Computing Element Workload Management Catania, 6 Maggio 2010 GRID Tutorial per gli Istituti Tecnici Industriali
Information System (IS) Fornisce informazioni sulle risorse Grid e sul loro stato Questa informazione è essenziale per tutte le operazioni Grid (ad esempio, per la ricerca delle risorse) Le informazioni pubblicate sono anche usate per monitorare e per il conteggio delle risorse utilizzate dal singolo utente Berkeley DB Information Index (BDII) GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
Information System (IS) User Application WMS Monitoring Services Le informazioni sono raccolte in maniera gerarchica GRIS a livello della risorsa GIIS a livello di sito BDII a livello della VO Livello VO Livello Sito Livello Risorsa GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
GRIS and BDIIs Site Grid Resource Berkeley Database Information Index Information System Berkeley Database Information Index BDII top-level Queries WMS 2 minuti WN BDII site-level Site UI FTS - Basata su LDAP Standard Information provider (GIP) GLUE-1.3 schema Top level BDII testato su +230 siti - Circa 60 versioni dentro EGEE BDII resource MDS GRIS provider provider GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
Information & Monitoring Security Services Access CLI API Security Services Information & Monitoring Services Authorization Information & Monitoring Service Discovering Auditing Authentication Network Monitoring Data Services Job Mgmt. Services Metadata Catalog File & Replica Catalog Job Provenance Package Manager Accounting Storage Element Data Movement Computing Element Workload Management GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
Autenticazione Identifica le entità (utenti, sistemi e servizi ) quando si stabilisce una connessione per lo scambio di messaggi Lo scopo è fornire delle credenziali aventi una validità quanto più vasta possibile (infrstrutture, comunità, VO e progetti) gLite usa: L’infrastruttura PKI (X.509) usando le Certification Authority (CA) come terze parti “sicure” Per ridurre la vulnerabilità, l’identificazione di un utente sulla Grid viene fatta attraverso una delega (proxy) di durata limitata del proprio certificato I certificati possono essere: revocati (in caso di abuso) rinnovati (poco prima della loro scadenza) GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
VO Membership Service: VOMS I certificati digitali personali non bastano a definire I ruoli su Grid Gli utenti appartenenti alla stessa VO possono essere divisi in diversi gruppi e/o ricoprire ruoli VOMS permette di aggiungere attributi ad un proxy: Per la mutua identificazione di servizi VOMS produces un Attribute Certificate (AC) firmato con la Firma Digitale dell’utente client VOMS Authenticazione Richiesta VOMS AC C=IT/O=INFN /L=Padova /CN=Marco Verlato /CN=proxy VOMS AC Query Author. DB OK I certificati digitali personali contengono informazioni su gruppi e ruoli In base alle politiche della VO permettono l’accesso alle risorse === VO cms extension information === VO: cms subject: /C=IT/O=INFN/OU=Personal Certificate/L=Padova/CN=Marco Verlato/Email=Marco.Verlato@pd.infn.it issuer: /C=CH/O=CERN/OU=GRID/CN=host/voms.cern.ch attribute: /cms/prod/ROLE=manager/Capability=NULL attribute: /cms/Role=NULL/Capability=NULL timeleft : 11:59:45 GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
Workload Management System (WMS) Il WMS è la componente del middleware responsabile della distribuzione e del controllo dei job sulle risorse Grid. Due sono le parti principali del WMS: WM: accetta e risolve le richieste di job management. Il processo di ricerca ed assegnazione si chiama Matchmaking Logging & Bookeeping : tiene traccia dei job in termini di eventi (Submitted, Running, Done,...) GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
Data Management System GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
Catalogs OS like file access metaphor. LFN (Logical file name) GUID (Grid unique identifier) SimLinks SURL (Site URL) TURL (Transfer URL) GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
File JDL In gLite, il Job Description Language (JDL) è usato per descrivere il job a Grid. Il JDL adottato dal middleware è basato su Condor e sul suo CLASSified Advertisement language (ClassAd). Una ClassAd è una struttura simile ad un record composta da un numero finito di linee separate da un punto e virgola(;) Le strutture basate su ClassAd sono molto flessibili e si prestano a rappresentare i più svariati tipi di servizi Il JDL è usato in gLite per specificare le caratteristiche e le specifiche usate per il match-making cioè per individuare le risorse più adatte allo specifico job GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
Arguments Attribute The Arguments attribute is a string containing all the job command line arguments. E.g. an executable sum that has to be started as: $ sum N1 N2 –out result.out is described by: Executable = “sum”; Arguments = “N1 N2 –out result.out”; GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
“Normal” Job Example It’s a Normal job Executable and arguments $> cat hostname.jdl Type = “Job”; JobType = “Normal”; Executable = “/bin/sh/”; Arguments = “start_hostname.sh”; StdError = “stderr.log”; StdOutput = “stdout.log”; InputSandbox = “start_hostname.sh”; OutputSandbox = {“stderr.log”,”stdout.log”}; RetryCount = 7; $> cat start_hostname.sh #!/bin/sh sleep 5 hostname –f It’s a Normal job Executable and arguments file name where the standard output and error of the job are saved file name nedded by the job files generated by the job on the WN, which have to be retrieved. maximun number of job re-submission to be done in case of failure GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
sphere.jdl $> cat sphere.jdl #author: giuseppe.larocca@ct.infn.it Type = "Job"; JobType = "Normal"; Executable = "/bin/sh"; MyProxyServer="lxshare0207.cern.ch"; StdOutput = "sphere.out"; StdError = "sphere.err"; InputSandbox = {"start_sphere.sh","sphere1.pov","sphere1.ini"}; OutputSandbox = {"sphere.out","sphere.err","final_sphere.gif"}; RetryCount = 7; Arguments = "start_sphere.sh"; Requirements = Member("POVRAY- 3.5",other.GlueHostApplicationSoftwareRunTimeEnvironment); Select only the CE with PROVAY software GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
pds2jpg-ASAR-Demo.jdl File nedeed for the job running $> cat pds2jpg-ASAR-Demo.jdl [ VirtualOrganisation = "gilda"; Executable = "/bin/bash"; Arguments = "pds2jpg_ASAR_install.sh ASA_APG_1PXPDE20020819_093043_000000152008_00394_02452_0000"; StdOutput = "pds2jpg_ASAR.out"; StdError = "pds2jpg_ASAR.err"; OutputSandbox = { "ASA_APG_1PXPDE20020819_093043_000000152008_00394_02452_0000-b1.jpg", "ENVISAT_Product_courtesy_of_European_Space_Agency", "pds2jpg_ASAR.out", "pds2jpg_ASAR.err“ }; RetryCount = 3; JobType = "normal"; Type = "Job"; InputSandbox = {"./pds2jpg_ASAR_install.sh","./beam20.tar.gz"}; rank = (-other.GlueCEStateEstimatedResponseTime); requirements = (other.GlueCEStateStatus=="Production") ] File nedeed for the job running fitness function for the CE selection GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010
GRID Tutorial per gli Istituti Tecnici Industriali Catania, 6 Maggio 2010