Introduzione alle griglie computazionali - a.a LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service: MDS Introduzione alle griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea in Informatica – III Anno
Introduzione alle griglie computazionali - a.a Information model – Modello informativo definizione Astrazione del mondo reale in costrutti che possono essere rappresentati tramite lutilizzo di sistemi di elaborazione (es. oggetti, proprietà, comportamenti, relazioni) Per ogni entità del problema bisogna individuare i parametri caratteristici che ha senso descrivere, misurare e rendere disponibili il modello informativo non e legato ad una particolare implementazione utilizzato per scambiare informazioni tra domini diversi
Introduzione alle griglie computazionali - a.a Information model rappresentazione tipicamente un modello informativo viene rappresentato mediante un linguaggio grafico per il GLUE schema (modello informativo di Grid) e stato scelto UML (Unified Modeling Language) The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. The UML offers a standard way to write a system's blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software components (Object Management Group)
Introduzione alle griglie computazionali - a.a Information model in Grid le risorse disponibili in Grid devono essere descritte in maniera precisa e sistematica al fine di fornire le seguenti funzionalità discovery allocazione (brokering) controllo delle prestazioni troubleshooting monitoring occorre un modello concettuale per descrivere le risorse Grid
Introduzione alle griglie computazionali - a.a GLUE schema Grid Laboratory Uniform Environment Collaborazione tra progetti di fisica delle alte energie europei ed americani, per la definizione di un modello informativo comune tra domini Grid diversi, indipendente dallimplementazione. Sviluppato per gran parte da INFN e ora adottato anche da Globus. Le entità da descrivere si classificano come siti (system) insiemi di risorse connesse che operano come una entità funzionale servizi azioni che formano una funzione coerente fornita da un provider ad un richiedente I siti forniscono servizi
Introduzione alle griglie computazionali - a.a GLUE schema Grid Laboratory Uniform Environment Modello informativo usato come base del Grid Information Service (GIS) attivita concentrata principalmente su computing resource storage resource network resource
Introduzione alle griglie computazionali - a.a Computing resource caratterizzazione la potenza di calcolo in genere viene offerta da cluster le richieste vengono inserite in code (queue) al fine di utilizzare con efficienza le risorse di calcolo disponibili le policy presenti su ciascuna coda permettono di differenziare il servizio offerto (es. durata massima di un job, numero massimo di job running, tipologia di CPU allocate) il computing service e in relazione 1-1 con una queue e le sue computing resource assegnate
Introduzione alle griglie computazionali - a.a Computing resource parametri necessari per lutilizzo di risorse di computing execution environment (sistema operativo, librerie disponibili,...) quality of service (tempo di risposta stimato,...) status (numero di job in esecuzione,...) policy (tempo massimo di esecuzione, CPU assegnate,...) access right location (Uniform Resource Locator,...)
Introduzione alle griglie computazionali - a.a Computing resource: cluster (farm) CPU:PIII RAM:0.5GB OS:Linux … Head node gatekeeper infoService CPU:PIII RAM:0.5GB OS:Linux CPU:PIV RAM:2GB OS:Linux CPU:PIV RAM:2GB OS:Linux Batch server Cluster: set di host gestiti coerentemente al fine di offrire potenza di calcolo
Introduzione alle griglie computazionali - a.a Computing resource: host CPU:PIII RAM:0.5GB OS:Linux … Head node gatekeeper infoService CPU:PIII RAM:0.5GB OS:Linux CPU:PIV RAM:2GB OS:Linux CPU:PIV RAM:2GB OS:Linux Batch server Host: singolo calcolatore
Introduzione alle griglie computazionali - a.a
Introduzione alle griglie computazionali - a.a Computing resource: subcluster CPU:PIII RAM:0.5GB OS:Linux … Head node gatekeeper infoService CPU:PIII RAM:0.5GB OS:Linux CPU:PIV RAM:2GB OS:Linux CPU:PIV RAM:2GB OS:Linux Batch server SubCluster: insieme omogeneo di host
Introduzione alle griglie computazionali - a.a Computing service Computing Element (CE): entry point di una o più code di un sistema batch CPU:PIII RAM:0.5GB OS:Linux … Head node gatekeeper infoService CPU:PIII RAM:0.5GB OS:Linux CPU:PIV RAM:2GB OS:Linux CPU:PIV RAM:2GB OS:Linux Batch server Il servizio di computing è offerto da un CE
Introduzione alle griglie computazionali - a.a
Introduzione alle griglie computazionali - a.a Storage resource funzionalita offerta spazio di memorizzazione parametri necessari per lutilizzo di risorse di storage protocollo di accesso (gridftp, rfio,...) quality of service (affidabilita, disponibilita,...) status (spazio disponibile,...) policy (dimensione massima di un file, file lifetime,...) access right location (Uniform Resource Locator,...)
Introduzione alle griglie computazionali - a.a Storage Service : gestisce le risorse disco e nastro in termini di Storage Space maschera i dettagli hardware trasferisce file da / verso i vari Storage Space utilizzando un insieme di data access protocol (es. nfs, GridFTP, rfio,...) la gestione dei file avviene secondo le policy dello Storage Space
Introduzione alle griglie computazionali - a.a Storage Space : assegnato ad una virtual organization associato ad una directory (es. /data/Atlas) policy: dimensione massima di un file, numero massimo di file,... access control base rules status: spazio disponibile, spazio utilizzato
Introduzione alle griglie computazionali - a.a Storage Element (SE) : Macchina che fornisce Storage Service e Storage Space puo essere un semplice disk server oppure un sistema di storage complesso CE-SE Bind Descrive le relazioni tra Computing Service e Storage Service
Introduzione alle griglie computazionali - a.a
Introduzione alle griglie computazionali - a.a Riferimenti GLUE Schema Official documents Sharing a conceptual model of grid resources and services S. Andreozzi, M. Sgaravatto, C. Vistoli In Proceedings of CHEP GLUE Schema implementation for the LDAP model S. Andreozzi Technical report, first draft, 29/05/03
Introduzione alle griglie computazionali - a.a Servizi informativi: MDS (1/4) Monitoring and Discovery Service servizio vitale per uninfrastruttura Grid -resource discovery: conoscere la composizione delle griglia in un certo istante -resource monitoring: conoscere lo stato delle risorse ad un certo istante -resource selection: scegliere le risorse opportune per un task ( vedi Workload Management Sys)
Introduzione alle griglie computazionali - a.a Servizi informativi: MDS (2/4) requirement performance rapidita di accesso alle informazioni usate frequentemente scalabilita qualita di servizio costante all aumentare dei componenti costo costi di gestione delle informazioni in termini di risorse usate devono essere contenuti uniformita standard nella rappresentazione delle risorse e uniformita delle API (segue)
Introduzione alle griglie computazionali - a.a Servizi informativi: MDS (3/4) espressivita modello dei dati capace di rappresentare le strutture rilevanti di un sistema distribuito estendibilita capacita di incorporare informazioni aggiuntive, non incluse nel modello dei dati di partenza dati dinamici i cambiamenti sui dati di ogni risorsa devono essere resi prontamente disponibili flessibilita di accesso capacita di lettura, aggiornamento e ricerca sui dati sicurezza restrizioni di accesso e/o aggiornamento delle informazioni
Introduzione alle griglie computazionali - a.a Servizi informativi: MDS (4/4) su ciascuna risorsa e disponibile un information service (GRIS – Grid Resource Information Service) che, tramite query LDAP, fornisce lo stato della risorsa CE ed SE contengono un GRIS. ciascun GRIS si registra presso un information index (GIIS – Grid Information Index Service) che effettua il caching delle informazioni fornite dai GRIS e interroga i GRIS solo quando riceve una query e la sua cache e invalidata Limplementazione del GIIS ha mostrato qualche limitazione sulla scalabilità ed è stata sostituita da BDII (Berkeley Information Index)
Introduzione alle griglie computazionali - a.a Architettura MDS
Introduzione alle griglie computazionali - a.a Glue Schema e LDAP Lo schema astratto GLUE viene mappato nel data model LDAP per limplementazione. Altre implementazioni realizzano lo schema in XML o in un modello relazionale. Le informazioni relative alla grid sono fornite da numerosi servers LDAP (GRIS e GIIS) ed organizzate gerarchicamente in un Directory Information Tree (DIT) Ogni nodo del DIT è una entry LDAP. LDAP è utilizzato anche come linguaggio di query e protocollo. Disponibili API per LDAP per tutti i linguaggi.
Introduzione alle griglie computazionali - a.a Lightweight Directory Access Protocol It is the internal protocol used by the services to share information What is a protocol Made for? Any protocol defines a set of rules to establish a connection between a client an a server It is NOT a database; different databases can used the same protocol In the LDAP CASE? Standard derived from the OSI directory service model called DAP LDAP is quite similar to DAP but has been designed to run over TCP/IP It provides a Data Model to standardizes the naming: LDAP Schema This Data Model structures data as a tree: The Directory Information Tree (DIT) LDAP
Introduzione alle griglie computazionali - a.a dn: objectclass: : dn: objectclass: : Objectclass: special attributes a) Defines the tree structure of a certain entry b) Filters the entries of this objectclass This is an entry; collection of attributes. Its defined by a unique DN (Distinguished Name) White space to separate entries from each other The types and objectclass names should follow a schema (Glue Schema) LDAP Formato entry
Introduzione alle griglie computazionali - a.a LDAP Struttura gerarchica (root) entryA attr1: value1 attr2: value2... attrn: valuen entryB attr1: value1 attr2: value2... attrn: valuen entry entryC attr1: value1 attr2: value2... attrn: valuen entryD attr1: value1 attr2: value2... attrn: valuen objectclass livello L1 livello L2 dn: L1=entryAdn: L1=entryB distinguished name dn: L2=entryC, L1=entryAdn: L2=entryD, L1=entryA
Introduzione alle griglie computazionali - a.a Esempio di query ldap: >> ldapsearch -x -H ldap://griditce01.na.infn.it:2170 -b mds-vo-name=infn- napoli,o=grid dn: mds-vo-name=INFN-NAPOLI,o=grid objectClass: GlueTop... dn: GlueSEUniqueID=griditse01.na.infn.it,mds-vo-name=INFN-NAPOLI, o=grid objectClass: GlueSETop... dn: GlueClusterUniqueID=griditce01.na.infn.it,mds-vo-name=INFN- NAPOLI,o=grid objectClass: GlueClusterTop objectClass: GlueCluster GlueClusterName: griditce01.na.infn.it GlueClusterService: griditce01.na.infn.it:2119/jobmanager-lcgpbs-atlas GlueClusterService: griditce01.na.infn.it:2119/jobmanager-lcgpbs-alice GlueClusterService: griditce01.na.infn.it:2119/jobmanager-lcgpbs-cms
Introduzione alle griglie computazionali - a.a Riferimenti Grid Information Services for Distributed Resource Sharing K. Czajkowskiy, S. Fitzgeraldz, I. Foster, C. Kesselman Proc. 10th IEEE (HPDC-10), IEEE Press, Grid information services (MDS) Globus Toolkit Developer Tutorial The Globus Project, Argonne National Laboratory USC Information Sciences Institute