Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione...

30
Introduzione alle griglie computazionali - a.a. 2005-06 1 LEZIONE LEZIONE N. 6 Introduzione all’information modeling GLUE schema Grid Information Service: MDS ntroduzione alle griglie computazionali ntroduzione alle griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea in Informatica – III Anno

Transcript of Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione...

Page 1: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 2: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 3: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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)

Page 4: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 5: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 6: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 7: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 8: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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, ...)

Page 9: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 10: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 11: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 12: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 13: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 14: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 15: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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, ...)

Page 16: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 17: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 18: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 19: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information 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

Page 20: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 21: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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)

Page 22: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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)

Page 23: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 24: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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)

Page 25: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

Introduzione alle griglie computazionali - a.a. 2005-06 25

Architettura MDSArchitettura MDS

Page 26: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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.

Page 27: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 28: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 29: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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

Page 30: Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 6 Introduzione allinformation modeling GLUE schema Grid Information Service:

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