Introduzione alle griglie computazionalipeople.na.infn.it/~merola/Lezione n 5.pdf · a,a. 2003-04 1...

38
Introduzione alle griglie computazionali - a,a. 2003-04 1 Introduzione alle griglie computazionali - a.a. 2003-04 1 LEZIONE N. 5 Sistemi distribuiti Architettura di Grid. Generalità su livelli, protocolli e servizi di Grid. Introduzione alle griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea in Informatica – III Anno Introduzione alle griglie computazionali - a.a. 2003-04 2 Che cosa è un sistema distribuito ? Che cosa è un sistema distribuito ? E’ un sistema di molti processori distribuiti su rete locale o geografica, interconnessi tra loro, accessibili agli utenti nel modo più trasparente possibile e capaci di cooperare tra loro alla soluzione di un problema (ad es. un’applicazione dell’utente). Mass storage condiviso Cluster di PC Utenti Esempio R e t e

Transcript of Introduzione alle griglie computazionalipeople.na.infn.it/~merola/Lezione n 5.pdf · a,a. 2003-04 1...

Introduzione alle griglie computazionali -a,a. 2003-04 1

Introduzione alle griglie computazionali - a.a. 2003-04 1

LEZIONE N. 5

• Sistemi distribuiti• Architettura di Grid.• Generalità su livelli, protocolli e servizi di Grid.

Introduzione alle griglie computazionali

Università degli Studi di Napoli Federico IICorso di Laurea in Informatica – III Anno

Introduzione alle griglie computazionali - a.a. 2003-04 2

Che cosa è un sistema distribuito ?Che cosa è un sistema distribuito ?

E’ un sistema di molti processori distribuiti su rete locale o geografica, interconnessi tra loro, accessibili agli utenti nelmodo più trasparente possibile e capaci di cooperare tra loro alla soluzione di un problema (ad es. un’applicazione dell’utente).

Mass storagecondiviso

Cluster di PC

Utenti

Esempio

R e t e

Introduzione alle griglie computazionali -a,a. 2003-04 2

Introduzione alle griglie computazionali - a.a. 2003-04 3

“Pro” e “Contro” di un sistema distribuito“Pro” e “Contro” di un sistema distribuitorispetto a rispetto a Mainframes Mainframes o a PC indipendentio a PC indipendenti

Vantaggi:• Basso costo in rapporto alle prestazioni.• Potenza integrata scalabile.• Reti a banda larga e affidabili (100 Mb/s – 10 Gb/s).• Distribuzione delle risorse di calcolo su più sedi (es. banche,

aziende, industrie, istituzioni scientifiche, università).• Affidabilità dell’intero sistema (riduzione dei single points of

failure).• Condivisione di dati su più sedi (es. database comuni).• Lavoro collaborativo (es. video e audio conferenza, e-mail, web).Problemi:• Gestione “globale” e “controllata”.• Riservatezza e Sicurezza delle informazioni.• Disaster Recoverysu scala geografica.

Introduzione alle griglie computazionali - a.a. 2003-04 4

Classificazione di un computer (Classificazione di un computer (FlynnFlynn, 1972), 1972)

SISD: Single Instruction Single Data(es. monoprocessori tradizionali).

SIMD: Single Instruction Multiple Data(es.array processors dove una singola instruzione attiva il processamento parallelo di molti dati).

MISD: Multiple Instruction Single Data(nessun sistema attuale).

MIMD : Multiple Instruction Multiple Data(es. sistemi distribuiti e sistemi paralleli).

Introduzione alle griglie computazionali -a,a. 2003-04 3

Introduzione alle griglie computazionali - a.a. 2003-04 5

Struttura di un computer SISDStruttura di un computer SISD

MemoriaPrincipale(RAM)

ControlArithmeticand Logic

R0R1…Rn

General purposeregisters

ProgramCounter

CPUstatus

CPUUnità di Input e di Output

Memory bus

CacheMemory

Input e Output bus

Introduzione alle griglie computazionali - a.a. 2003-04 6

Esecuzione di una istruzione

Prende l’istruzione dalla memoria all’indirizzo del PC e incrementa il PC (Program Counter)

Decodifica l’istruzione (determina il tipo di istruzione)

Carica sui registri gli operandi specificati dall’istruzione

Esegue l’operazione specificata dall’istruzione

Memorizza i risultati

Introduzione alle griglie computazionali -a,a. 2003-04 4

Introduzione alle griglie computazionali - a.a. 2003-04 7

P C I

Bus Adapter

Periferiche di I/O

ControlArithmeticand Logic

R0R1…Rn

General purposeregisters

ProgramCounter

CPUstatus

I/O bus Bus Adapter

Periferiche di I/O

I/O bus

Memoria RAM

Struttura a multi-bus

Introduzione alle griglie computazionali - a.a. 2003-04 8

Multi-processors(shared memory)

Multi-computers(private memory)

Bus Switched

(es.UltracomputerRP3, APE)

Loosely coupled

Tightlycoupled

Livello di condivisionedelle risorse

Classificazione dei sistemi MIMDClassificazione dei sistemi MIMD

(es.PC su una LAN) (es.Hypercube, Transputer)

Bus Switched

Introduzione alle griglie computazionali -a,a. 2003-04 5

Introduzione alle griglie computazionali - a.a. 2003-04 9

Bus-basedMulti-processors

Memoriacondivisacache

CPU

cache

CPU

cache

CPU

bus

• High speed backplane (motherboard):basso delay e alta velocità, basato su un bus che normalmente ha 32 linee per i dati, 32 per l’indirizzo e 20 o 30 per ilcontrollo; tutte queste linee operano in parallelo.

• Memoria Coerente:tutte le CPU vedono gli stessi dati.

• Memoria Cache:per aumentare l’efficienza delle cpu, contiene i dati piu’ recenti e ha un accesso piu’ rapido del bus. (problema dell’aggiornamento della cache).

Introduzione alle griglie computazionali - a.a. 2003-04 10

SwitchedMulti-processors

• Crossbar switch:elemento a matrice al posto del bus per metterein comunicazione contemporaneamente le CPU con elementi di memoria diversi.

• Vantaggio:sistemi con molte centinaia di processori.

• Problema:ridurre i tempi di accesso CPU-Memoria.

CPU

CPU

CPU

M M M

Introduzione alle griglie computazionali -a,a. 2003-04 6

Introduzione alle griglie computazionali - a.a. 2003-04 11

Bus-basedMulti-computers

PC o workstations su Local Area Nnetwork

• No shared memory.

• cpu-to-cpu communications:il volume dei dati da scambiarediminuisce e comunque e’ meno critico per l’efficienza delle cpu.

• LAN su bus o anello o matrice di switch.

cache

CPU

M cache

CPU

M cache

CPU

M cache

CPU

M

Introduzione alle griglie computazionali - a.a. 2003-04 12

Dal punto di vista dei Sistemi OperativiDal punto di vista dei Sistemi Operativi

cpu tightly coupled: occorre gestire la memoria condivisa.

cpu loosely coupled:occorre disporre di network operatingsystemsin grado di eseguire:

• operazioni distribuite a bassa condivisione di risorse (es.loginremoto, file transfer).

• operazioni distribuite ad alta condivisione di risorse (es. file server e job manager).

Introduzione alle griglie computazionali -a,a. 2003-04 7

Introduzione alle griglie computazionali - a.a. 2003-04 13

Shared Memory

cache

CPU 1

cache

CPU 2

cache

CPU 3

bus

Esempio di tightly coupled SW su tightly coupled HW: Multiprocessor Operating System Multiprocessor Operating System (memoria condivisa)

Processo A Processo B Processo C

A runningB runningC runningD, E ready

Run Queue D,EOp. Syst.

• Una sola coda di run nella memoria condivisa.• Quando una CPU e’ libera carica un processo ready.

• Potenza di calcolo = 3* potenza di una cpu.

Introduzione alle griglie computazionali - a.a. 2003-04 14

L A N

cache

CPU

M cache

CPU

M cache

CPU

M

File Server

export/dati/grafici/source(File server condiviso)

mount /etc/fileserver/dati/grafici/source /usr/pippo/grafici

Esempio di loosely coupled SW su loosely coupled HW: Network Operating System Network Operating System (file condivisi)

Introduzione alle griglie computazionali -a,a. 2003-04 8

Introduzione alle griglie computazionali - a.a. 2003-04 15

L A N

cache

CPU

M cache

CPU

M cache

CPU

M

File Server

Submit job LSF, PBS, …Job Manager

Run job

Introduzione alle griglie computazionali - a.a. 2003-04 16

Problema:

Controllo centralizzato, mancanza di coordinameno per l’esecuzione dei processi e scarsa interazione tra i sistemi componenti.

Soluzione:

SistemaSistemaoperativooperativo distribuitodistribuito :: tightly-coupled SW su loosely-coupled HW come se fosse un singolo sistema invece che una collezione di singoli sistemi.

Introduzione alle griglie computazionali -a,a. 2003-04 9

Introduzione alle griglie computazionali - a.a. 2003-04 17

sinonoC’e’ una sola coda di run?

nosisiDevono concordare i protocolli di rete?

shared memory

messagesshared files

Come comunicano?

1nnQuante copie di OS?

sisi-nonoDeve avere lo stesso sistema

operativo?

sisinoAppare come un unicouniprocessore virtuale?

NetworkOperatingsystem

Distributed Operatingsystem

Multiprocessor Operatingsystem

Confronto tra vari sistemi distribuitiConfronto tra vari sistemi distribuiti

Introduzione alle griglie computazionali - a.a. 2003-04 18

Obiettivi da raggiungere:

• Meccanismo unico di comunicazione fra i processi.

• Schema unico di protezione globale (Security).

• Unica gestione dei processi (Process management).

• Unico meccanismo di accesso ai dati (Data management).

• Sistema informativo globale (Information system).

• Autonomia di utilizzo delle risorse locali.

Introduzione alle griglie computazionali -a,a. 2003-04 10

Introduzione alle griglie computazionali - a.a. 2003-04 19

Requisiti di un sistema distribuitoRequisiti di un sistema distribuito

Trasparenza: Il sistema deve apparire come un sistema singolo. Si puo’ ottenere a due livelli:

• Trasparente all’utente, comandi invariati (shell)

• Trasparente al programma, system call interfaceindipendente dal numero di processori.

Activities can happen in parallel without users knowing

Parallelism transparency

Multiple users can share resources automatically

Concurrency transparency

The users cannot tell how many copies exist

Replication transparency

Resources can move at will without changing their names

Migration transparency

The user can not tell where resources are located

Location transparency

Introduzione alle griglie computazionali - a.a. 2003-04 20

Flessibilità:Adattabilità a nuove esigenze.

Due tendenze:

• Macchina con kernel tradizionale (monolithic kernel) che esegue molti

servizi (a).

• Macchina con microkernel, che esegue un ridotto numero di servizi (Interprocess communication mechanism, Memory management, Low-level process management and scheduling, Low-level input/output) e il grosso dei servizi di un OS viene fornito da user-level server (b).

user

monolithickernel

File server

microkernel

Process server user

(a) (b)

microkernel microkernel

Introduzione alle griglie computazionali -a,a. 2003-04 11

Introduzione alle griglie computazionali - a.a. 2003-04 21

Affidabilità ( reliability):Caratteristica intrinseca del sistema distribuito: se una macchina ha problemi

il job può andare su altre.

Efficienza (performance):Parametri di efficienza (performance metrics):

• Response time.

• Throughput (numero di job in un’ora, strettamente dipendente dal tipo di job: cpu bound o I/O bound).

• Uso di banda trasmissiva sulla rete.

Granularita’ del calcolo (grain size):

• Fine-grain parallelism(difficile per un SD).

• Coarse-grain parallelism (si adatta meglio a un SD).

Scalabilità:

L’espandibilità è un requisito fondamentale di un sistema distribuito.

Introduzione alle griglie computazionali - a.a. 2003-04 22

CHE COSA E’ UNA GRID ?CHE COSA E’ UNA GRID ?

Si parla di molti tipi di griglie computazionali: Science Grid, Bio Grid, Campus Grid, Data Grid, Sensor Grid,Cluster Grid, ecc.

(In passato, analoga confusione di termini: SNA, DECNET erano parte di Internet o no ? Chiarimento: architettura basata su IP (Internet Protocol).

� Necessità di una definizione di GRID non ambigua !

1969 (Len Kleinrock) –Analogia con le reti elettriche e telefoniche.“We will probably see the spread of ‘computer utilities’, which, like present electric and telephone utilities, will service individual homes and offices across the country”.

Introduzione alle griglie computazionali -a,a. 2003-04 12

Introduzione alle griglie computazionali - a.a. 2003-04 23

1998 (Ian Foster e Carl Kesselman) –“A computational grid is a hardware and software infrastructure that providesdependable, consistent, pervasive and inexpensive access to high-end computational capabilities”.

2000 (Ian Foster, Carl Kesselman e Steve Tuecke) –Grid computing is concerned with “coordinated resourcesharing and problemsolving in dynamic, multi-istitutional virtual organizations”.

Punti chiave:

• Capacità di negoziare secondo regole stabilite la condivisione di risorse (computers, software, dati, ecc.) da parte di organizzazioni o istituzioni (scientifiche, industriali, governative, ecc.) cheagiscono da Virtual OrganizationsVirtual Organizations.

• Importanza di definire protocolli standard per consentire la interoperabilità e realizzare una infrastruttura comune .

Introduzione alle griglie computazionali - a.a. 2003-04 24

DEFINIZIONE DI GRID IN 3 PUNTIDEFINIZIONE DI GRID IN 3 PUNTI

GRID è un sistema che:

1) Coordina risorse che non devono essere soggette ad alcun controllo centralizzato.

(es. PC desktop personali, nodi di calcolo e database di istituzioni sparse su territorio nazionale e nel mondo, senza lanecessità del controllo tipico di un sistema a gestione locale, pur garantendo la sicurezza e la realizzazione delle politiche di utilizzo all’interno di un’organizzazione virtuale).

Introduzione alle griglie computazionali -a,a. 2003-04 13

Introduzione alle griglie computazionali - a.a. 2003-04 25

2) Usa protocolli e interfacce standard, open, general-purpose.

(essenziali per assicurare in modo trasparente funzionalità di base quali autenticazione, autorizzazione, ricerca e accesso alle risorse).

3) Assicura un’elevata qualità di servizio (QoS -Quality of Service).

(es. tempi di risposta, throughput, disponibilità, sicurezza, co-allocazione di risorse).

Introduzione alle griglie computazionali - a.a. 2003-04 26

Non sono GRID (ad esempio):

a) Un sistema di gestione di code batch che utilizzano le CPU di un computer multi-processore o di computer inseriti in un cluster o su una LAN: c’è controllo centralizzato delle risorse e conoscenza completa dello stato del sistema.

b) Il Web: benché usi protocolli standard, aperti e general-purpose, manca l’uso coordinato delle risorse per assicurare la migliore QoS.

Sono approssimativamente GRID (ad esempio):

c) I sistemi di schedulers multi-site(es. Condor, Entropia) o di database federati (es. Storage Resource Broker) che distribuiscono risorse in modo non centralizzato e assicurano seppur limitate QoS, pur non basandosi completamente su standards.

Introduzione alle griglie computazionali -a,a. 2003-04 14

Introduzione alle griglie computazionali - a.a. 2003-04 27

Sono GRID (ad esempio):

I progetti di “Data Grid” per il calcolo intensivo e distribuito in ambito accademico e scientifico in EU (EDG, CrossGRID, Data Tag, LCG, EGEE), in USA (GriPhyN, PPDG, iVDGL) e in Asia (ApGrid) e molti altri ancora.

Essi si propongono di:

• Integrare risorse anche non omogenee appartenenti a molte istituzioni che conservano in ogni caso le loro politiche di utilizzo. Accesso on-demandalle risorse.

• Usare protocolli aperti, standard e general-purpose per la gestione delle risorse (ad es. il Globus Toolkit, l’EDG Toolkit, l’Open GridService Architecture- OGSA).

• Garantire qualità di servizio in vari settori (sicurezza, affidabilità, prestazioni, ecc.).

Introduzione alle griglie computazionali - a.a. 2003-04 28

IL PROBLEMA GRIDIL PROBLEMA GRID

Realizzare la condivisione coordinata di risorse su larga scalaRealizzare la condivisione coordinata di risorse su larga scalain un contesto di organizzazione virtuale, multiin un contesto di organizzazione virtuale, multi--instituzionaleinstituzionalee dinamicae dinamica..

Occorre una nuova architettura che:

• identifichi le componentiprincipali del sistema.• specifichi lo scopoe la funzionedi queste componenti.• indichi come queste componenti interagiscono fra di loro.

• definisca servizi e protocolli comuni per garantire l’ interoperabilità attraverso la rete (flessibilità di aggiungere nuovi utenti, servizi e piattaforme hw/sw in modo dinamico) e costituire così un sistema aperto.

Per rendere usabile la Grid, occorre anche sviluppare Application Programming Interfaces - API (insieme di routines per facilitare lo sviluppo di applicazioni) e Software Development Kits- SDK (particolare istanza di un API).

Introduzione alle griglie computazionali -a,a. 2003-04 15

Introduzione alle griglie computazionali - a.a. 2003-04 29

PROTOCOLLO:PROTOCOLLO:Insieme di regole e formati per lo scambio di informazioni.Insieme di regole e formati per lo scambio di informazioni.

Protocolli standard sono fondamentali per assicurare l’interoperabilità.Esempi:

• Internet Protocol (IP): trasferimento di pacchetti senza garanzia di affidabilità.

• Transmission Control Protocol (TCP):costruito su IP per definire un protocollo affidabile.

• Transport Layer Security Protocol (TLS): costruito su TCP, garantisce sicurezza e integrità dei dati.

• Lightweight Direct Access Protocol (LDAP):costruito su TCP, èun protocollo per l’accesso a directories (anche database).

DEFINIZIONIDEFINIZIONI

Introduzione alle griglie computazionali - a.a. 2003-04 30

SERVIZIO: protocollo + funzione.SERVIZIO: protocollo + funzione.CapacitCapacitàà di svolgere una funzionalitdi svolgere una funzionalitàà sulla retesulla rete(ad es. muovere files, creare processi, verificare diritti di accesso). Un servizio è definito in base alla funzione che svolge ed al protocollo che “parla”.

Esempi:• FTP server: parla il File Transfer Protocol e gestisce l’accesso in

lettura e scrittura di files remoti. Opera il trasferimento di pacchetti senza garanzia di affidabilità.

• LDAP server: parla il protocollo LDAP e supporta le risposte alle interrogazioni (ad es. usando informazioni presenti in un database).

Più servizi possono parlare lo stesso protocollo: ad es. nel Globus Toolkit il Replica Catalog(RC) e l’Information Service (IS) usano entrambi LDAP.

Introduzione alle griglie computazionali -a,a. 2003-04 16

Introduzione alle griglie computazionali - a.a. 2003-04 31

L’ARCHITETTURA GRIDL’ARCHITETTURA GRIDL’ARCHITETTURA GRIDSi tratta di un modello a strati (layers).Il modello di riferimento è la clessidra(hourglass):

• Il centro (neck) della clessidra definisce un piccolo insieme di astrazioni di base (core) e di protocolli (servizi di base).

• La parte superiore contiene high level services (o behaviors) che si basano sui servizi e protocolli sottostanti.

• La parte inferiore contiene le risorse della grid.

Introduzione alle griglie computazionali - a.a. 2003-04 32

Introduzione alle griglie computazionali -a,a. 2003-04 17

Introduzione alle griglie computazionali - a.a. 2003-04 33

Fabric

Connectivity

Resource

Collective

Application

Introduzione alle griglie computazionali - a.a. 2003-04 34

Fornisce le risorse per l’accesso condiviso da parte della Grid.Ad esempio:

• Risorse computazionali• Sistemi di storage• Cataloghi• Risorse di rete• Sensori

Le risorse devono assicurare un meccanismo di enquiry che consenta di scoprire la loro struttura, lo stato e la loro capacitàed un meccanismo di managementper il controllo della qualità del servizio offerto.

FABRIC Layer: Interfacce per il controllo locale

FABRIC FABRIC LayerLayer: : Interfacce per il controllo localeInterfacce per il controllo locale

Introduzione alle griglie computazionali -a,a. 2003-04 18

Introduzione alle griglie computazionali - a.a. 2003-04 35

Definisce i protocolli base per la comunicazione e l’autenticazione.

I protocolli di comunicazioneabilitano lo scambio deidati fra le risorse del fabric layer e si basano sui protocolli dell’architettura Internet (IP, TCP, UDP, DNS, RSVP).

I protocolli di autenticazionesono costruiti sui servizidi comunicazione per fornire meccanismi crittograficisicuri per verificare l’identità di utenti e risorse.

CONNECTIVITY Layer: Comunicazione facile e sicura

CONNECTIVITY CONNECTIVITY LayerLayer: : Comunicazione facile e sicuraComunicazione facile e sicura

Introduzione alle griglie computazionali - a.a. 2003-04 36

I protocolli di autenticazionedevono avere le seguenti caratteristiche:

• Single sign on: l’utente si deve autenticare una volta sola.• Delegation: propagazione delle credenziali ai programmi• Integration with local security: non sostituiscono ma si mappano nell’environment locale.• User-based trust relationships: il sistema di security nondeve richiedere che i sistemi di security locali interagiscano tradi loro per configurare l’ambiente di sicurezza.

Il Globus Toolkit usa i protocolli GSI (Grid Security Infrastructure)per l’autenticazione (certificati con formato X.509), la protezione della comunicazione (estende i protocolli di TLS - Transport Layer Security) e l’autorizzazione.

Introduzione alle griglie computazionali -a,a. 2003-04 19

Introduzione alle griglie computazionali - a.a. 2003-04 37

Definisce i protocolli per negoziare, iniziare, monitorare, controllare, addebitare l’utilizzo di risorse singole, cioè non distribuite.

Questi protocolli utilizzano funzioni del Fabric peraccedere e controllare risorse locali.Due classi principali di protocolli dello strato Resource:

• Information protocols, per ottenere informazioni sulla configurazione e lo stato di una risorsa.

• Management protocols, per negoziare l’accesso alla risorsa condivisa.

RESOURCE Layer: Condivisione di risorse singole

RESOURCE RESOURCE LayerLayer: : Condivisione di risorse singoleCondivisione di risorse singole

Introduzione alle griglie computazionali - a.a. 2003-04 38

Il Globus Toolkit usa protocolli standard:

• GRIP (Grid Resource Information Protocol), basato su LDAP per definire uno standard resource information protocole il relativo information model.

• GRRP (Grid Resource Registration Protocol), per registrare le risorse.

• GRAM (Grid Resource Access Management), basato su HTTP, per l’allocazione delle risorse di calcolo e per il monitoring e il controllo del calcolo su queste risorse. GRAM utilizza il linguaggio RSL (Resource Specification Language)per la specifica delle richieste.

• GridFTP (Grid File Transfer Protocol), basato su FTP, per l’accesso ai dati; ha funzionalità estese rispetto a FTP (usa i protocolli di sicurezza dello strato Connectivity, gestisce una sorta di parallelismo per i trasferimenti ad alta velocità, ecc.).

• LDAP (Lightweight Directory Access Protocol), per l’accesso a directories.

Introduzione alle griglie computazionali -a,a. 2003-04 20

Introduzione alle griglie computazionali - a.a. 2003-04 39

A ciò si aggiungono client-sideAPI, server-sideAPI e SDK e inoltre servizi quali: GIIS (Grid Index Information Service); GIS (Grid Information Service); GRIS(Grid Resource Information Service). GSS(Generic Security Service).

L’ Information Service ha un ruolo fondamentale nella grid perché sta alla base del resource discoverye del decision making.

Introduzione alle griglie computazionali - a.a. 2003-04 40

Introduzione alle griglie computazionali -a,a. 2003-04 21

Introduzione alle griglie computazionali - a.a. 2003-04 41

Definisce protocolli e servizi (e API e SDK) che non sono associati a una singola risorsa ma a una collezione di risorse. Essi si basano sui protocolli definiti nel Resourcee nel Connectivity layer. Quindi possono implementare una vasta gamma di servizi senza porre nuovi requisiti sulle risorse condivise.

Esempi di servizi:

� Directory services: consentono ai membri di una VO di identificare le risorse a disposizione della VO. Utilizzano i protocolli GRRP e GRIP.� Co-allocation, scheduling and brokering services: consentono ai membri di una VO di richiedere e schedulare l’allocazione di una o più risorse (es. Condor-G).� Monitoring and diagnostics services: consentono il monitoraggio delle risorse di una VO, inclusi gli attacchi (intrusion detection).� Data replication services: consentono la gestione ottimizzata delle risorse distorage di una VO per massimizzarne le prestazioni (tempi di risposta, affidabilità, ecc.).

COLLECTIVE Layer: Coordinamento di collezioni di risorse

COLLECTIVE COLLECTIVE LayerLayer: : Coordinamento di collezioni di risorseCoordinamento di collezioni di risorse

Introduzione alle griglie computazionali - a.a. 2003-04 42

� Grid-enabled programming systems: consentono l’utilizzo di modelli di programmazione utili in ambienti Grid per l’implementazione dei vari servizi Grid (es. Message Passing Interface).� Workload management systems and collaboration frameworks: chiamati anche PSE (Problem Solving Environments) per l’utilizzo e la gestione dei carichi di lavoro in ambienti collaborativi.� Software discovery services: consentono di scegliere software e piattaforme adatte per il problema specifico da risolvere (es. NetSolve).� Community authorization servers: consentono di gestire le politiche di accesso alle risorse di una comunità in modo da renderle fruibili all’utente.� Community accounting and payment services: consentono di raccogliere informazioni sull’utilizzo delle risorse ai fini di resoconti, pagamenti, limitazioni di uso.� Collaboratory services: consentono lo scambio di informazioni all’interno di vaste comunità di utenti (es. CavernSoft).

Il Globus Toolkit utilizza i servizi di cui sopra e altri, fra cui MDS (Meta Directory Service)per la gestione informativa delle risorse.

Introduzione alle griglie computazionali -a,a. 2003-04 22

Introduzione alle griglie computazionali - a.a. 2003-04 43

APPLICATIONS Layer APPLICATIONS APPLICATIONS Layer Layer

Comprende le applicazioni degli utenti appartenenti ad una Virtual Organization.Le applicazioni sono costruite sulla base dei servizi definiti in ciascuno strato.

Introduzione alle griglie computazionali - a.a. 2003-04 44

Introduzione alle griglie computazionali -a,a. 2003-04 23

Introduzione alle griglie computazionali - a.a. 2003-04 45

Introduzione alle griglie computazionali - a.a. 2003-04 46

Introduzione alle griglie computazionali -a,a. 2003-04 24

Introduzione alle griglie computazionali - a.a. 2003-04 47

COME FUNZIONA UNA GRID ?COME FUNZIONA UNA GRID ?

� L’identità dell’utente deve essere certificata dalle CA (Certification Authorities) nazionali.

� Le risorse devono essere certificate dalle CA e sono rese accessibili solo agli utenti certificati ed identificati (X.509 Public Key Infrastructure).

� L’utente passa ai propri processi temporaneamente il diritto di essere eseguiti.

� Ciascuna organizzazione virtuale si dota di politiche per l’accesso dei propri utenti alle risorse appartenenti a domini differenti (diverse sedi).

Introduzione alle griglie computazionali - a.a. 2003-04 48

Collective ServicesCollective Services

Information&

Monitoring

Information&

Monitoring

Replica ManagerReplica

ManagerGrid

SchedulerGrid

Scheduler

Local ApplicationLocal Application Local DatabaseLocal Database

Underlying Grid ServicesUnderlying Grid Services

ComputingElement Services

ComputingElement Services

Authorization Authenticationand Accounting

Authorization Authenticationand Accounting

Replica CatalogReplica Catalog

Storage Element Services

Storage Element Services

SQL DatabaseServices

SQL DatabaseServices

Fabric servicesFabric services

ConfigurationManagement

ConfigurationManagement

Node Installation &Management

Node Installation &Management

Monitoringand

Fault Tolerance

Monitoringand

Fault Tolerance

ResourceManagement

ResourceManagement

Fabric StorageManagement

Fabric StorageManagement

Grid

Fabric

Local Computing

Grid Grid Application LayerGrid Application Layer

Data Management

Data Management

Job Management

Job Management

MetadataManagement

MetadataManagement

Service Index

Service Index

APPLICATIONS

GLOBUS

M / W

L’ARCHITETTURA DEL M/W DI EDGL’ARCHITETTURA DEL M/W DI EDG

Introduzione alle griglie computazionali -a,a. 2003-04 25

Introduzione alle griglie computazionali - a.a. 2003-04 49

Collective ServicesCollective Services

Information &Monitoring

Information &Monitoring Replica

ManagerReplica

Manager Grid Scheduler

Grid Scheduler

Local ApplicationLocal Application Local DatabaseLocal Database

Underlying Grid ServicesUnderlying Grid Services

ComputingElement Services

ComputingElement Services

Authorization Authenticationand Accounting

Authorization Authenticationand Accounting

Replica Catalog

Replica CatalogStorage

Element Services

Storage Element Services

SQL DatabaseServices

SQL DatabaseServices

Fabric servicesFabric services

ConfigurationManagement

ConfigurationManagement

Node Installation &Management

Node Installation &Management

Monitoringand

Fault Tolerance

Monitoringand

Fault ToleranceResource

ManagementResource

ManagementFabric StorageManagement

Fabric StorageManagement

Grid Application LayerGrid Application Layer

Data Management

Data ManagementJob

ManagementJob

ManagementMetadata

ManagementMetadata

Management Object to FileMapping

Object to FileMapping

Service IndexService Index

ComputingComputing ElementsElements

SystemSystemManagersManagers

ScientistsScientists

OperatingOperatingSystemsSystems

FileFile SystemsSystems

StorageStorageElementsElementsMassMass Storage SystemsStorage Systems

HPSS, CastorHPSS, Castor

UserUser AccountsAccounts

CertificateCertificate AuthoritiesAuthorities

ApplicationApplicationDevelopersDevelopers

BatchBatch SystemsSystemsPBS, LSF, etc.PBS, LSF, etc.

I COMPONENTI DI EDGI COMPONENTI DI EDG

Introduzione alle griglie computazionali - a.a. 2003-04 50

Computing Element

Storage Element

Site X

Information System

submit

submit

queryretrieve

retrieve

Resource Broker

User Interface

publishstate

R-GMA

Replica LocationService

VOMS

query

updatecredential

ESEMPIO DI JOB SUBMISSIONESEMPIO DI JOB SUBMISSION

Introduzione alle griglie computazionali -a,a. 2003-04 26

Introduzione alle griglie computazionali - a.a. 2003-04 51

� User Interface (UI) : punto di accesso dell’utente al Workload Management System.

� Resource Broker(RB) : gestore delle risorse di GRID, ha il compito di trovare le migliori risorse dove sottomettere i jobs.

� Job Submission Service(JSS) :fornisce un sistemaaffidabile di sottomissione jobs.

� Information Index (II) : servizio specializzato usato dalResource Broker come filtro per l’Information Service per selezionare le risorse.

� Logging and Bookkeeping services (LB) :fornisce le informazioni sui jobs su richiesta degli utenti.

Introduzione alle griglie computazionali - a.a. 2003-04 52

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

ComputingElement

StorageElement

CE characts& status

SE characts& status

RB node

Introduzione alle griglie computazionali -a,a. 2003-04 27

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager Inform.

Service

ComputingElement

StorageElement

RB node

CE characts& status

SE characts& status

submitted

UI: allows users to access the functionalitiesof the WMS

Job

Status

RLS

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

ReplicaCatalog

Inform.Service

ComputingElement

StorageElement

RB node

CE characts& status

SE characts& status

edg-job-submit myjob.jdlMyjob.jdl

JobType = “Normal”;

Executable = "$(CMS)/exe/sum.exe";

InputSandbox = {"/home/user/WP1testC","/home/file*”, "/home/user/DATA/*"};

OutputSandbox = {“sim.err”, “test.out”, “sim.log"};

Requirements = other. GlueHostOperatingSystemName == “linux" &&

other. GlueHostOperatingSystemRelease == "Red Hat 6.2“ && other.GlueCEPolicyMaxWallClockTime > 10000;

Rank = other.GlueCEStateFreeCPUs;

submitted

Job

Status

Job Description Language(JDL) to specify job characteristics and requirements

Introduzione alle griglie computazionali -a,a. 2003-04 28

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

ComputingElement

StorageElement

RB node

CE characts& status

SE characts& status

RBstorage

Input Sandboxfiles

Job

waiting

submitted

NS: network daemon responsible for acceptingincoming requests

Job

Status

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

ComputingElement

StorageElement

RB node

CE characts& status

SE characts& status

RBstorage

waiting

submitted

WM: responsible to takethe appropriate actions to satisfy the request

Job

Job

Status

Introduzione alle griglie computazionali -a,a. 2003-04 29

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

ComputingElement

StorageElement

RB node

CE characts& status

SE characts& status

RBstorage

waiting

submitted

Match-Maker/Broker

Where must thisjob be executed ?

Job

Status

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

ComputingElement

StorageElement

RB node

CE characts& status

SE characts& status

RBstorage

waiting

submitted

Match-Maker/ Broker

Matchmaker: responsible to find the “best” CE where to submit a job

Job

Status

Introduzione alle griglie computazionali -a,a. 2003-04 30

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

ComputingElement

StorageElement

RB node

CE characts& status

SE characts& status

RBstorage

waiting

submitted

Match-Maker/ Broker

Where are (which SEs) the needed data ?

What is thestatus of the

Grid ?

Job

Status

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

ComputingElement

StorageElement

RB node

CE characts& status

SE characts& status

RBstorage

waiting

submitted

Match-Maker/Broker

CE choice

Job

Status

Introduzione alle griglie computazionali -a,a. 2003-04 31

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

ComputingElement

StorageElement

RB node

CE characts& status

SE characts& status

RBstorage

waiting

submitted

JobAdapter

JA: responsible for the final “touches” to the job before performing submission(e.g. creation of wrapper script, etc.)

Job

Status

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

ComputingElement

StorageElement

RB node

CE characts& status

SE characts& status

RBstorage

JC: responsible for theactual job managementoperations (done via CondorG)

Job

submitted

waiting

ready

Job

Status

Introduzione alle griglie computazionali -a,a. 2003-04 32

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

ComputingElement

StorageElement

RB node

CE characts& status

SE characts& status

RBstorage

Job

InputSandboxfiles

submitted

waiting

ready

scheduled

Job

Status

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

StorageElement

RB node

RBstorage

InputSandbox

submitted

waiting

ready

scheduled

running

“Grid enabled”data transfers/

accesses

Job

Job

Status

ComputingElement

Introduzione alle griglie computazionali -a,a. 2003-04 33

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

ComputingElement

StorageElement

RB node

RBstorage

OutputSandboxfiles

submitted

waiting

ready

scheduled

running

done

Job

Status

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

ComputingElement

StorageElement

RB node

RBstorage

OutputSandbox

submitted

waiting

ready

scheduled

running

done

edg-job-get-output <dg-job-id>

Job

Status

Introduzione alle griglie computazionali -a,a. 2003-04 34

UI

NetworkServer

Job Contr.-

CondorG

WorkloadManager

RLS

Inform.Service

ComputingElement

StorageElement

RB node

RBstorage

OutputSandboxfiles

Job

Status

cleared

submitted

waiting

ready

scheduled

running

done

Introduzione alle griglie computazionali - a.a. 2003-04 68

UI

Log Monitor

Logging &Bookkeeping

NetworkServer

Job Contr.-

CondorG

WorkloadManager

ComputingElement

RB node

LM: parses CondorG logfile (where CondorG logsinfo about jobs) and notifies LB

LB: receives and stores job events; processes corresponding job status

Log ofjob events

edg-job-status <dg-job-id>edg-job-get-logging-info <dg-job-id>

Job status

Introduzione alle griglie computazionali -a,a. 2003-04 35

Introduzione alle griglie computazionali - a.a. 2003-04 69

Grid.IT Production Grid: Operations Portal

• User documentation

• site managers documentation

• Software repository

• Monitoring

• Trouble tickets system

• Knowledge base

http://grid-it.cnaf.infn.it

Introduzione alle griglie computazionali - a.a. 2003-04 70

Get your personal certificate

Introduzione alle griglie computazionali -a,a. 2003-04 36

Introduzione alle griglie computazionali - a.a. 2003-04 71

How to register to a VO

Introduzione alle griglie computazionali - a.a. 2003-04 72

Introduzione alle griglie computazionali -a,a. 2003-04 37

Introduzione alle griglie computazionali - a.a. 2003-04 73

Introduzione alle griglie computazionali - a.a. 2003-04 74

Introduzione alle griglie computazionali -a,a. 2003-04 38

Introduzione alle griglie computazionali - a.a. 2003-04 75

Grid Service monitoring

Introduzione alle griglie computazionali - a.a. 2003-04 76

Open Grid Services Architecture (OGSA) è un nuovo paradigma concettuale che vuole mettere insieme le potenzialità dei servizi Web con il Grid computing. Le applicazioni invocheranno i Web services tramite il Web Services Description Language (WSDL).

Molti progetti (es. LCG ,EGEE) già prevedono il passaggio da un’architetturabasata su Globus ad unabasata su OGSA.

EVOLUZIONE EVOLUZIONE DELL’ARCHITETTURA GRIDDELL’ARCHITETTURA GRID

Globus 2 based

OGSA based

EGEE-2EGEE-1LCG-2LCG-1

EDG

VDT

. . .

LCG EGEE

. . .