Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione...
-
Upload
mona-valli -
Category
Documents
-
view
215 -
download
0
Transcript of Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione...
Introduzione alle griglie computazionali - a.a. 2005-06 1
LEZIONELEZIONE N. 6
• Introduzione all’information modeling• GLUE schema• Grid Information Service: MDS
Introduzione alle griglie computazionali Introduzione alle griglie computazionali
Università degli Studi di Napoli Federico IICorso di Laurea in Informatica – III Anno
Introduzione alle griglie computazionali - a.a. 2005-06 2
Information model – Modello informativoInformation model – Modello informativodefinizione
Astrazione del mondo reale in costrutti che possono essererappresentati 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 particolareimplementazione
• utilizzato per scambiare informazioni tra domini diversi
Introduzione alle griglie computazionali - a.a. 2005-06 3
Information model Information model rappresentazione
• tipicamente un modello informativo viene rappresentatomediante un linguaggio grafico
• per il GLUE schema (modello informativo di Grid) e’ statoscelto 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. 2005-06 4
Information model Information model
in Grid
• le risorse disponibili in Grid devono essere descritte inmaniera precisa e sistematica al fine di fornire le seguentifunzionalità
• discovery• allocazione (brokering)• controllo delle prestazioni• troubleshooting• monitoring
occorre un modello concettuale per descrivere le risorse Grid
Introduzione alle griglie computazionali - a.a. 2005-06 5
GLUE schemaGLUE schemaGrid 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. 2005-06 6
GLUE schemaGLUE schemaGrid 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. 2005-06 7
Computing resource Computing resource
caratterizzazione
• la potenza di calcolo in genere viene offerta da cluster
• le richieste vengono inserite in code (queue) al fine diutilizzare con efficienza le risorse di calcolo disponibili
• le policy presenti su ciascuna coda permettono didifferenziare il servizio offerto (es. durata massima di unjob, numero massimo di job running, tipologia di CPU allocate)
• il computing service e’ in relazione 1-1 con una queue e lesue computing resource assegnate
Introduzione alle griglie computazionali - a.a. 2005-06 8
Computing resource 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 rightlocation (Uniform Resource Locator, ...)
Introduzione alle griglie computazionali - a.a. 2005-06 9
Computing resource: Computing resource: cluster (farm)cluster (farm)
CPU:PIIIRAM:0.5GB
OS:Linux
…
Headnode
gatekeeper
infoServic
e
CPU:PIIIRAM:0.5GB
OS:Linux
CPU:PIVRAM:2GBOS:Linux
CPU:PIVRAM:2GBOS:Linux
Batch server
Cluster: set di hostgestiti coerentementeal fine di offrire potenza di calcolo
Introduzione alle griglie computazionali - a.a. 2005-06 10
Computing resource: Computing resource: hosthost
CPU:PIIIRAM:0.5GB
OS:Linux
…
Headnode
gatekeeper
infoServic
e
CPU:PIIIRAM:0.5GB
OS:Linux
CPU:PIVRAM:2GBOS:Linux
CPU:PIVRAM:2GBOS:Linux
Batch serverHost: singolo calcolatore
Introduzione alle griglie computazionali - a.a. 2005-06 11
Host
UniqueID : stringName : string
NetworkAdapter
Name : stringIPAddress : stringMTU : intOutbounbIP : booleanInboundIP : boolean
OperatingSystem
Name : intRelease : intVersion : int
Benchmark
SI00 : intSF00 : int
StorageDevice
Name : stringType : stringTransferRate : intSize : intAvailableSpace : int
ApplicationSoftware
RunTimeEnvironment[*] : string
Architecture
PlatformType : stringSMPSize : int
LocalFileSystem
Directory
RemoteFileSystem
*
File
Name : stringSize : intCreationDate : datetimeLastModified : datetimeLastAccessed : datetimeLatency : intLifeTime : datetimeOwner : string
FileSystem
Name : stringRoot : stringSize : intAvailableSpace : intReadOnly : booleanType : string
1
Export0..1
0..1
DirectoryContainsFile
0..1
FileStorage
*
Mount
*
*
*
MainMemory
RAMSize : intRAMAvailable : intVirtualSize : intVirtualAvailable : int
Processor
Vendor : stringModel : stringVersion : stringClockSpeed : intInstructionSet : stringOtherProcessorDescription : stringCacheL1 : intCacheL1I : intCacheL1D : intCacheL2 : int
ProcessorLoad
Load1Min : intLoad5Min : intLoad15Min : int
*
*
SMPLoad
Load1Min : intLoad5Min : intLoad15Min : int
Glue Schema 1.1 (UML Class Diagram)Computing Resources::host
Introduzione alle griglie computazionali - a.a. 2005-06 12
Computing resource: Computing resource: subclustersubcluster
CPU:PIIIRAM:0.5GB
OS:Linux
…
Headnode
gatekeeper
infoServic
e
CPU:PIIIRAM:0.5GB
OS:Linux
CPU:PIVRAM:2GBOS:Linux
CPU:PIVRAM:2GBOS:Linux
Batch serverSubCluster: insiemeomogeneo di host
Introduzione alle griglie computazionali - a.a. 2005-06 13
Computing serviceComputing service
Computing Element (CE): entry point di una o più code di unsistema batch
CPU:PIIIRAM:0.5GB
OS:Linux
…
Headnode
gatekeeper
infoServic
e
CPU:PIIIRAM:0.5GB
OS:Linux
CPU:PIVRAM:2GBOS:Linux
CPU:PIVRAM:2GBOS:Linux
Batch server
Il servizio di computing è offerto da un CE
Introduzione alle griglie computazionali - a.a. 2005-06 14
ComputingElement
UniqueID : stringName : string
Info
LRMSType : stringLRMSVersion : stringGRAMVersion : stringHostName: stringGatekeeperPort : stringTotalCPUs : string
State
Status : stringTotalJobs : intRunningJobs : intWaitingJobs : intWorstResponseTime : intEstimatedResponseTime : intFreeCPUs : int
Policy
MaxWallClockTime : intMaxCPUTime : intMaxTotalJobs : intMaxRunningJobs : intPriority : int
Job
GlobalID : stringLocalID : stringLocalOwner : stringGlobalOwner : stringStatus : stringSchedulerSpecific : string
AccessControlBase
Rule : string[*]
*
*
ParticipatingHost
Host
(See Host)
Cluster
UniqueID : stringName : string
*
SubCluster
UniqueID : stringName : string<homogeneity attribute lists>
Homogeneity
DisjointedHostsSet
*
provides
Glue Schema 1.1 (UML Class Diagram)Computing Resources::clusterComputing Resources::computing element
Introduzione alle griglie computazionali - a.a. 2005-06 15
Storage resourceStorage resource
• funzionalita’ offertaspazio di memorizzazione
• parametri necessari per l’utilizzo di risorse di storageprotocollo di accesso (gridftp, rfio, ...)
quality of service (affidabilita’, disponibilita’, ...)
status (spazio disponibile, ...)
policy (dimensione massima di un file, file lifetime, ...)
access rightlocation (Uniform Resource Locator, ...)
Introduzione alle griglie computazionali - a.a. 2005-06 16
Storage Storage ServiceService : :
• gestisce le risorse disco e nastro in termini di Storage Space
• maschera i dettagli hardware
• trasferisce file da / verso i vari Storage Space utilizzandoun insieme di data access protocol (es. nfs, GridFTP, rfio, ...)
• la gestione dei file avviene secondo le policydello Storage Space
Introduzione alle griglie computazionali - a.a. 2005-06 17
Storage Storage SpaceSpace : :
• 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. 2005-06 18
Storage Element (SE) :Storage Element (SE) :
• Macchina che fornisce Storage Service e Storage Space
• puo’ essere un semplice disk server oppure un sistema distorage complesso
CE-SE BindCE-SE Bind
• Descrive le relazioni tra Computing Service e Storage Service
Introduzione alle griglie computazionali - a.a. 2005-06 19
StorageService
UniqueID : stringName : stringPort : int
State
CurrentIOLoad : string
AccessProtocol
Type : stringPort : intVersion : stringSupportedSecurity[*] : stringAccessTime : int
Policy
MinFileSize : intMaxFileSize : intMaxData : intMaxNumFiles : intMaxPinDuration : intQuota : intFileLifeTime : string
State
AvailableSpace : intUsedSpace : int
AccessControlBase
Rule[*] : string
StorageLibrary
UniqueID : stringName : string
HostedService*
StorageSpace
Architecture
Type : string
Performance
MaxIOCapacity : int
LocalFileSystem
Directory
RemoteFileSystem
*
File
Name : stringSize : intCreationDate : datetimeLastModified : datetimeLastAccessed : datetimeLatency : intLifeTime : datetimeOwner : string
FileSystem
Name : stringRoot : stringSize : intAvailableSpace : intReadOnly : booleanType : string
1
Export0..1
0..1
DirectoryContainsFile
0..1
FileStorage
*
Mount
*
*
*
0..1
*
Glue Schema 1.1 (UML Class Diagram)Storage Resources::Storage ServiceStorage Resources::Storage SpaceStorage Resources::Storage Library
RealizedOn
Introduzione alle griglie computazionali - a.a. 2005-06 20
RiferimentiRiferimenti
“GLUE Schema Official documents” http://www.cnaf.infn.it/~sergio/datatag/glue
“Sharing a conceptual model of grid resources and services”S. Andreozzi, M. Sgaravatto, C. VistoliIn Proceedings of CHEP 2003
http://www.cnaf.infn.it/~sergio/publications/CHEP2003.pdf
“GLUE Schema implementation for the LDAP model”S. AndreozziTechnical report, first draft, 29/05/03
http://www.cnaf.infn.it/~sergio/publications/Glue4LDAP.pdf
Introduzione alle griglie computazionali - a.a. 2005-06 21
Servizi informativi: MDS Servizi informativi: MDS (1/4)(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. 2005-06 22
Servizi informativi: MDS Servizi informativi: MDS (2/4)(2/4)
requirement
performancerapidita’ di accesso alle informazioni usate frequentemente
scalabilita’qualita’ di servizio costante all’aumentare dei componenti
costocosti 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. 2005-06 23
Servizi informativi: MDS Servizi informativi: MDS (3/4)(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 disponibiliflessibilita’ di accesso
capacita’ di lettura, aggiornamento e ricerca sui datisicurezza
restrizioni di accesso e/o aggiornamento delle informazioni
Introduzione alle griglie computazionali - a.a. 2005-06 24
Servizi informativi: MDS Servizi informativi: MDS (4/4)(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 effettuail caching delle informazioni fornite dai GRISe interroga i GRIS solo quando riceve una querye 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. 2005-06 25
Architettura MDSArchitettura MDS
Introduzione alle griglie computazionali - a.a. 2005-06 26
Glue Schema e LDAPGlue 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. 2005-06 27
Lightweight Directory Access Protocol
It is the internal protocol used by the services to share informationIt is the internal protocol used by the services to share information
What is a protocol Made for?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?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)
LDAPLDAP
Introduzione alle griglie computazionali - a.a. 2005-06 28
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
This is an entry; collection of attributes. It’s 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)
LDAPLDAPFormato entryFormato entry
Introduzione alle griglie computazionali - a.a. 2005-06 29
LDAPLDAPStruttura gerarchicaStruttura gerarchica
(root)
entryAattr1: value1attr2: value2...attrn: valuen
entryBattr1: value1attr2: value2...attrn: valuen
entry
entryCattr1: value1attr2: value2...attrn: valuen
entryDattr1: value1attr2: value2...attrn: valuen
objectclass
livello “L1”
livello “L2”
dn: L1=entryA dn: L1=entryB
distinguished name
dn: L2=entryC, L1=entryA dn: L2=entryD, L1=entryA
Introduzione alle griglie computazionali - a.a. 2005-06 31
RiferimentiRiferimenti
“Grid Information Services for Distributed Resource Sharing”K. Czajkowskiy, S. Fitzgeraldz, I. Foster, C. KesselmanProc. 10th IEEE (HPDC-10), IEEE Press, 2001
http://www.globus.org/research/papers.html
“Grid information services (MDS)” Globus Toolkit Developer TutorialThe Globus Project, Argonne National LaboratoryUSC Information Sciences Institute
http://www-fp.mcs.anl.gov/~gregor/grid-iit/talks/globus/Dev-08-Information1.ppt