Università degli Studi di Napoli Federico II Corso di Laurea in Informatica III Anno - PDF
Download "Università degli Studi di Napoli Federico II Corso di Laurea in Informatica III Anno"
1 Introduzione alle griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea in Informatica III Anno LEZIONE N. 6 Introduzione all information modeling GLUE schema Grid Information Service: MDS Introduzione alle griglie computazionali - a.a
2 Information model Modello informativo definizione Astrazione del mondo reale in costrutti che possono essere rappresentati tramite l utilizzo 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
3 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
4 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
5 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 dall implementazione. 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
6 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
7 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
8 Computing resource parametri necessari per l utilizzo 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
9 Computing resource: cluster (farm) Cluster: set di host gestiti coerentemente al fine di offrire potenza di calcolo gatekeeper infoservice Batch server Head node CPU:PIII RAM:0.5GB CPU:PIII RAM:0.5GB CPU:PIV RAM:2GB CPU:PIV RAM:2GB Introduzione alle griglie computazionali - a.a
10 Computing resource: host Host: singolo calcolatore gatekeeper infoservice Batch server Head node CPU:PIII RAM:0.5GB CPU:PIII RAM:0.5GB CPU:PIV RAM:2GB CPU:PIV RAM:2GB Introduzione alle griglie computazionali - a.a
11 UniqueID : string Name : string Host Glue Schema 1.1 (UML Class Diagram) Computing Resources::host Architecture PlatformType : string SMPSize : int OperatingSystem Name : int Release : int Version : int Benchmark SI00 : int SF00 : int MainMemory RAMSize : int RAMAvailable : int VirtualSize : int VirtualAvailable : int NetworkAdapter Name : string IPAddress : string MTU : int OutbounbIP : boolean InboundIP : boolean Processor Vendor : string Model : string Version : string ClockSpeed : int InstructionSet : string OtherProcessorDescription : string CacheL1 : int CacheL1I : int CacheL1D : int CacheL2 : int ApplicationSoftware RunTimeEnvironment[] : string StorageDevice Name : string Type : string TransferRate : int Size : int AvailableSpace : int FileSystem Name : string Root : string Size : int AvailableSpace : int ReadOnly : boolean Type : string 1FileStorage Mount 0..1 File Name : string Size : int CreationDate : datetime LastModified : datetime LastAccessed : datetime Latency : int LifeTime : datetime Owner : string Directory ContainsFile 0..1 Directory ProcessorLoad SMPLoad RemoteFileSystem LocalFileSystem 0..1 Export Load1Min : int Load5Min : int Load15Min : int Load1Min : int Load5Min : int Load15Min : int Introduzione alle griglie computazionali - a.a
12 Computing resource: subcluster SubCluster: insieme omogeneo di host gatekeeper infoservice Batch server Head node CPU:PIII RAM:0.5GB CPU:PIII RAM:0.5GB CPU:PIV RAM:2GB CPU:PIV RAM:2GB Introduzione alle griglie computazionali - a.a
13 Computing service Il servizio di computing è offerto da un CE Computing Element (CE): entry point di una o più code di un sistema batch gatekeeper infoservice Batch server Head node CPU:PIII RAM:0.5GB CPU:PIII RAM:0.5GB CPU:PIV RAM:2GB CPU:PIV RAM:2GB Introduzione alle griglie computazionali - a.a
14 Glue Schema 1.1 (UML Class Diagram) Computing Resources::cluster Computing Resources::computing element ComputingElement UniqueID : string Name : string provides UniqueID : string Name : string Cluster DisjointedHostsSet SubCluster ParticipatingHost Host UniqueID : string Name : string <homogeneity attribute lists> Homogeneity (See Host) Info State Policy Job AccessControlBase LRMSType : string LRMSVersion : string GRAMVersion : string HostName: string GatekeeperPort : string TotalCPUs : string Status : string TotalJobs : int RunningJobs : int WaitingJobs : int WorstResponseTime : int EstimatedResponseTime : int FreeCPUs : int MaxWallClockTime : int MaxCPUTime : int MaxTotalJobs : int MaxRunningJobs : int Priority : int GlobalID : string LocalID : string LocalOwner : string GlobalOwner : string Status : string SchedulerSpecific : string Rule : string[] Introduzione alle griglie computazionali - a.a
15 Storage resource funzionalita offerta spazio di memorizzazione parametri necessari per l utilizzo 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
16 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
17 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
18 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
19 lue Schema 1.1 (UML Class Diagram) torage Resources::Storage Service torage Resources::Storage Space torage Resources::Storage Library StorageService UniqueID : string Name : string Port : int HostedService StorageLibrary UniqueID : string Name : string Architecture State Type : string CurrentIOLoad : string Performance AccessProtocol MaxIOCapacity : int Type : string Port : int Version : string SupportedSecurity[] : string AccessTime : int Policy MinFileSize : int MaxFileSize : int MaxData : int MaxNumFiles : int MaxPinDuration : int Quota : int FileLifeTime : string StorageSpace 0..1 FileSystem Name : string Root : string Size : int AvailableSpace : int ReadOnly : boolean Type : string 1 FileStorage Mount File Name : string Size : int CreationDate : datetime LastModified : datetime LastAccessed : datetime Latency : int LifeTime : datetime Owner : string Directory ContainsFile 0..1 State 0..1 Directory AvailableSpace : int UsedSpace : int AccessControlBase Rule[] : string RemoteFileSystem LocalFileSystem 0..1 Export RealizedOn Introduzione alle griglie computazionali - a.a
20 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
21 Servizi informativi: MDS (1/4) Monitoring and Discovery Service servizio vitale per un infrastruttura 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
22 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
23 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
24 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 L implementazione del GIIS ha mostrato qualche limitazione sulla scalabilità ed è stata sostituita da BDII (Berkeley Information Index) Introduzione alle griglie computazionali - a.a
25 Architettura MDS Introduzione alle griglie computazionali - a.a
26 Glue Schema e LDAP Lo schema astratto GLUE viene mappato nel data model LDAP per l implementazione. 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
27 LDAP 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) Introduzione alle griglie computazionali - a.a
28 LDAP Formato entry This is an entry; collection of attributes. It s defined by a unique DN (Distinguished Name) dn: <distinguished name> objectclass:<objectclassname> <attributetype>:<attributevalue> <attributetype>:<attributevalue> dn: <distinguished name> objectclass:<objectclassname> <attributetype>:<attributevalue> <attributetype>:<attributevalue> Objectclass: special attributes a) Defines the tree structure of a certain entry b) Filters the entries of this objectclass White space to separate entries from each other The types and objectclass names should follow a schema (Glue Schema) Introduzione alle griglie computazionali - a.a
29 LDAP Struttura gerarchica distinguished name (root) entry objectclass dn: L1=entryA entrya attr1: value1 attr2: value2... attrn: valuen dn: L1=entryB entryb attr1: value1 attr2: value2... attrn: valuen livello L1 dn: L2=entryC, L1=entryA entryc attr1: value1 attr2: value2... attrn: valuen dn: L2=entryD, L1=entryA entryd attr1: value1 attr2: value2... attrn: valuen livello L2 Introduzione alle griglie computazionali - a.a
30 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 Introduzione alle griglie computazionali - a.a
SCD. Sistemi distribuiti: gestione dei nomi. Denominazione di entità 1. Denominazione di entità 2. Esempio
Denominazione di entità 1 Gestione dei nomi Anno accademico 2012/13 Sistemi Concorrenti e Distribuiti SCD Le entità di un sistema distribuito devono avere denotazioni che le rendano note Per riferimento,