Upload
vanhanh
View
221
Download
5
Embed Size (px)
Citation preview
Incontro Borsisti Progetto Lauree ScientifichePerugia, 26 agosto – 1 settembre 2007
Cos'é una (Computing) GRID ?
Leonello Servoli
Istituto Nazionale Fisica Nucleare – Sezione di Perugia
Università Studi di Perugia
Perugia, 26/08 - 01/09 2007 Leonello Servoli 2
Esempi di uso quotidiano di “computing”:
E-mail Web condivisione di documenti e dati via rete accesso a risorse di calcolo uso di database
uso di programmi cooperativi via rete creazione di documenti
etc. etc……
Perché il “Computing”?
Perugia, 26/08 - 01/09 2007 Leonello Servoli 3
Esempio di GRID: la GRID Elettrica:
Ovunque ci si interfacci ad essa (spina) si ottiene l'erogazione di un servizio di qualità prestabilita (potenza elettrica a 220 Volt).
Elementi chiave:
1) affidabilità del servizio (24/24 ore 7/7 giorni)2) semplicità ed omogeneità di accesso : 1 spina (interfaccia) = 2 poli (+ 1 messa a terra)
Che cos'é una GRID?
Tuttavia anche in un caso così semplice l'implementazione delle interfacce è molto diversa ( > 14 tipi).....
Perugia, 26/08 - 01/09 2007 Leonello Servoli 4
Cos'é una Computing GRID ?Definita da Ian Foster e Carl Kesselman nel 1998 nel libro “The GRID: A blueprint for a new computing infrastructure”
“ the Grid is a service for sharing computer power and data storage capacity over the Internet”.
Ossia:
“é un sistema pensato per permettere ad una comunità di utenti di usare risorse di calcolo distribuite in Internet come se fossero di fronte ad un unico sistema di calcolo”.
Perugia, 26/08 - 01/09 2007 Leonello Servoli 5
Che cos'é una Computing GRID?
Una GRID completa dovrebbe soddisfare i seguenti criteri:
1) nessun controllo amministrativo centrale delle risorse di calcolo coinvolte nella GRID;
2) Uso di protocolli general-purpose, ossia la GRID serve per una pluralità di usi; ( SETI @ home non è considerato una GRID)
3) Alta qualità di servizio assicurata dai vari partecipanti alla GRID (niente peer-to-peer);
4) Utenti organizzati in gruppi di lavoro chiamati Virtual Organization;
Perugia, 26/08 - 01/09 2007 Leonello Servoli 6
INTERFACCIA(tastiera,schermo)
Sistema di calcolo
(PC)
Struttura della Computing GRID
Dal punto di vista dell'utente, per accedere alle risorse di calcolo si usa il seguente schema funzionalepraticamente da sempre....
Utente
Perugia, 26/08 - 01/09 2007 Leonello Servoli 7
User Interface GRID(middleware)
Struttura della Computing GRID Nel caso di una computing GRID lo schema è praticamente lo stesso con la differenza che si inserisce uno strato intermedio (middleware) che è l'essenza stessa della GRID:
UtenteRisorse Hardware e Software
Perugia, 26/08 - 01/09 2007 Leonello Servoli 8
Architettura di una Computing GRIDDal punto di vista software una Computing GRID è organizzata a strati:
Gli strati intermedi sono chiamati il middleware della GRID e sono la sua parte caratterizzante
Perugia, 26/08 - 01/09 2007 Leonello Servoli 9
Perché serve una Computing GRID ?
Nel corso dei decenni la potenza dei sistemi di calcolo è sempre aumentata, ma le richieste per le applicazioni sono aumentate ad una velocità superiore.
Il motivo è che più i sistemi diventano potenti e più diventano accessibili alla risoluzione problemi altrimenti non affrontabili.
Esempio:
Trasformazione di un file video in un altro formato;
Oggi qualunque PC riesce a trasformare un film (circa 2 ore di durata) da DVD a Divx in una manciata di minuti.
Solo 6-7 anni fa ci sarebbero voluti giorni o settimane, rendendo tale applicazione virtualmente impensabile.
Perugia, 26/08 - 01/09 2007 Leonello Servoli 10
Perché serve una Computing GRID ?
In ambito scientifico si sono sempre cercate soluzioni alla frontiera della tecnologia per poter affrontare problemi sempre più complessi.
Spesso i ricercatori stessi hanno sviluppato soluzioni innovative perchè quelle disponibili commercialmente non erano sufficienti.
Esempio:
1) Sviluppo di processori speciali dedicati alla soluzione di particolari problemi scientifici (hardware);
2) Sviluppo di programmi e/o sistemi operativi e/o compilatoriottimizzati al caso specifico (software).
Perugia, 26/08 - 01/09 2007 Leonello Servoli 11
Perché serve una Computing GRID ?Se il problema che si vuole affrontare richiede troppe risorse di calcolo (cioè usando solo un processore si impiegherebbero anni...)
Se non si possono aumentare le prestazioni del singolo processore, per velocizzare la risoluzione del problema si può “parallelizzarlo”
Cioè: si suddivide il problema in pezzetti per poterlo assegnare a diversi processori che funzionano in parallelo (cluster).
Due possibilità per la parallelizzazione:
1) i processori sono indipendenti l'uno dall'altro durante l'esecuzione;
2) i processori devo comunicarsi informazioni durante l'esecuzione.
Perugia, 26/08 - 01/09 2007 Leonello Servoli 12
Un po' di storia .....Anni 80: compaiono i primi “cluster” di processori; comunicano con software proprietari (DIGITAL, IBM, etc.)
Anni 90: con l'avvento del protocollo TCP/IP per collegare i computer, e con l'aumentare del rapporto prezzo/prestazioni dei PC, arrivano le prime “PC Farm” o “cluster” di PC connessi presenti nello stesso edificio.
Il sistema operativo non è più proprietario (Unix, Linux)diventa importante il software di gestione delle risorse(Batch system)
Anni 2000: cominciano ad emergere le prime architetture di “GRID” che collegano cluster di PC situati in sedi distanti geograficamente anche grazie all'aumento della velocità
di trasmissione delle reti (10 Gbit/sec attualmente).
Anni 2010: ?????
Perugia, 26/08 - 01/09 2007 Leonello Servoli 13
Sembra semplice ma .....
Il problema fondamentale quando si cerca di costruire un insieme di risorse è il fatto che:
- sono acquistate da attori diversi- sono acquisite in tempi diversi- hanno sistemi operativi diversi- hanno compilatori diversi- hanno politiche di uso diverse
...................
E cosi' via....
Quindi occorre omogeneizzare almeno alcune cose
Perugia, 26/08 - 01/09 2007 Leonello Servoli 14
Genesi di una Computing GRID
Alla fine degli anni 90 la comunità dei Fisici delle Particelle Elementari (High Energy Physiscs = HEP) cominciò a porsi il problema di come analizzare la enorme mole di dati che sarebbe stata raccolta all'entrata in funzione del collisionatore protone-protone LHC, dai 4 esperimenti che lo avrebbero utilizzato.
I dati del problema:
esempio: per l'esperimento CMS (Compact Muon Solenoid) ● 120 istituzioni di ricerca● 3500 fisici● 1 milione di Gigabyte di dati in un anno
Perugia, 26/08 - 01/09 2007 Leonello Servoli 15
Genesi di una Computing GRID
Nel 2000 si raggiunse il consenso sul fatto che occorreva l'uso di una Computing GRID per risolvere il problema.
Per sviluppare questa GRID occorrevano risorse e competenze straordinarie rispetto a quelle disponibili tradizionalmente nell'ambito dei gruppi di ricerca della Fisica Particellare.
Si è cercata allora una collaborazione più ampia anche con altri settori disciplinari aventi problematiche simili per poter sottomettere un progetto comune di ricerca alla Unione Europea coinvolgente anche aziende: DATAGRID.
I settori di ricerca coinvolti sono stati: Metereologia, Astronomia, Biologia Molecolare, Chimica, ....
Perugia, 26/08 - 01/09 2007 Leonello Servoli 16
Genesi di una Computing GRID
In seguito ci sono stati altri progetti, anche delle comunità di ricerca degli USA o di altre nazioni non UE, tesi a sviluppare e raccordare tra di loro diverse Computing GRID.
Attualmente questi sforzi hanno portato ad avere la seguente situazione:● Esistenza di una Computing GRID di produzione comune, usata dalle varie comunità scientifiche (Virtual Organization):
Worlwide LHC Computing GRID (WLCG) in Europa + Open Science GRID (OSG) negli USA
● Sviluppo delle caratteristiche della GRID a cura di vari progettisia finanziati dalla UE (EGEE, EGEE-2, EGEE-3) che dai vari Enti di ricerca (INFNGRID, OSG).
Perugia, 26/08 - 01/09 2007 Leonello Servoli 17
Architettura di WLCGDal punto di vista infrastrutturale abbiamo il seguente schema:User
Interface
Resource Broker
Sito GRID Sito GRID Sito GRID
Sistema Informativo GRID
Sistema diMonitoraggio
Perugia, 26/08 - 01/09 2007 Leonello Servoli 18
Architettura di WLCGUn singolo sito GRID è organizzato nel seguente modo:
Resource Broker
Computing Element
Worker Node
Storage Element
Sistema Informativo
Locale
SITO GRID
Worker NodeWorker
Node
File System
File System
Sistema diMonitoraggio
Perugia, 26/08 - 01/09 2007 Leonello Servoli 19
Funzionalità di WLCGQuali funzionalità deve fornire WLCG?
• Un meccanismo di autenticazione per autorizzare l'accesso (authentication). • Un meccanismo di sottomissione di richieste di uso di risorse di calcolo (job submission).• Un meccanismo di controllo dello stato delle richieste di uso (job monitoring).• La capacità di riavere indietro i risultati della elaborazione richiesta (job retrieval).• Un sistema per tenere conto della quantità di risorse utilizzate dal singolo utente e dalla sua VO (accounting).
Perugia, 26/08 - 01/09 2007 Leonello Servoli 20
Autenticazione e Sicurezza
Il meccanismo deve soddisfare ai seguenti requisiti:
- Comunicazione sicura e confidenziale tra elementi della
GRID;
- Necessità di gestione multidominio che implica l’assenza di
un sistema gestito centralmente.
- Necessità di supportare una unica firma per richieste multiple
di uso delle risorse, definendo quindi il meccanismo di delega
delle credenziali.
Perugia, 26/08 - 01/09 2007 Leonello Servoli 21
Autenticazione e Sicurezza
Il meccanismo di autenticazione e di sicurezza di LCG GRID si chiama GRID Security Infrastructure (GSI) e si basa su: - chiavi criptate pubbliche- certificati X.509- protocollo Secure Socket Layer (SSL) che consente
di scambiare le chiavi e autenticare le due parti diuna comunicazione.
Perugia, 26/08 - 01/09 2007 Leonello Servoli 22
Problema: come assicurarsi che il certificato ottenutonon venga usato in maniera non consentita?Il certificato utente, che ha una parte privata protetta da una password, è usato per generare e firmare un certificato temporaneo chiamato proxy che non contiene la password dell’utente e che ha una scadenza (24 ore di default).
Autenticazione e Sicurezza
Perugia, 26/08 - 01/09 2007 Leonello Servoli 23
Autenticazione e Sicurezza
Un proxy è firmato dallo user invece che dalla CA.Si crea quindi una catena di autenticazioni che permetteuna minore necessità di sicurezza sulle password deiproxy, perché comunque hanno durata limitata.
Perugia, 26/08 - 01/09 2007 Leonello Servoli 24
Autenticazione e SicurezzaUn nuovo elemento della GRIDé il VOMS (Virtual Organization
Manager Server) che gestisce i certificati di una VO permettendoanche di aggiungere
informazioni al singolo certificato creando uno pseudo-certificato che viene poi letto dall’elemento della GRID.Le informazioni aggiuntive sono quelle relative al ruolo ricoperto dall’utente nella VO per allocare le risorse di conseguenza.
Perugia, 26/08 - 01/09 2007 Leonello Servoli 25
WLCG: Fasi della job submission (1)
User Interface
Resource Broker
Computing Element StorageElement
Job Status
Network Server
Workload Manager
Job Control
Match Maker / Broker
Information
Service
RBStorage (1)
Login sulla UIe creazione del certificatoproxy.
Perugia, 26/08 - 01/09 2007 Leonello Servoli 26
WLCG: Fasi della job submission (2)
User Interface
Resource Broker
Computing Element StorageElement
Job Status
Network Server
Workload Manager
Job Control
Match Maker / Broker
Information
Service
RBStorage
(2)
Il job vienesottomesso dalla UI al RBassieme allaInput SandBox
Status = Submitted
Submitted
Perugia, 26/08 - 01/09 2007 Leonello Servoli 27
WLCG: Fasi della job submission (3)
User Interface
Resource Broker
Computing Element StorageElement
Job Status
Network Server
Workload Manager
Job Control
Match Maker / Broker
Information
Service
RBStorage
(3)
Il WM interrogal'InformationService per fareil match-making
Status = Waiting
Submitted
Waiting
Perugia, 26/08 - 01/09 2007 Leonello Servoli 28
WLCG: Fasi della job submission (4)
User Interface
Resource Broker
Computing Element StorageElement
Job Status
Network Server
Workload Manager
Job Control
Match Maker / Broker
Information
Service
RBStorage
(4)
Il WM preparail job per lasottomissione elo passa al JobControl.
Status = Ready
Submitted
Waiting
Ready
Perugia, 26/08 - 01/09 2007 Leonello Servoli 29
WLCG: Fasi della job submission (5)
User Interface
Resource Broker
Computing Element StorageElement
Job Status
Network Server
Workload Manager
Job Control
Match Maker / Broker
Information
Service
RBStorage
(5)
Il Job Controlpassa il job alCE prescelto eanche la InputSandBox è inviata.
Status = Scheduled
Submitted
Waiting
Ready
Scheduled
Perugia, 26/08 - 01/09 2007 Leonello Servoli 30
WLCG: Fasi della job submission (6)
User Interface
Resource Broker
Computing Element StorageElement
Job Status
Network Server
Workload Manager
Job Control
Match Maker / Broker
Information
Service
RBStorage
(6)
Il CE passa iljob al Worker Node prescelto per l'esecuzionee sullo StorageElement viene scritta la Input SandBox.
Status = Running
Submitted
Waiting
Ready
Scheduled
Running
WorkerNode
Perugia, 26/08 - 01/09 2007 Leonello Servoli 31
WLCG: Fasi della job submission (7)
User Interface
Resource Broker
Computing Element StorageElement
Job Status
Network Server
Workload Manager
Job Control
Match Maker / Broker
Information
Service
RBStorage
(7)
Durante l'esecuzionepossono essereacceduti file remoti o creati nuovi file sullo Storage Element.
Status = Running
Submitted
Waiting
Ready
Scheduled
Running
WorkerNode
Perugia, 26/08 - 01/09 2007 Leonello Servoli 32
WLCG: Fasi della job submission (8)
User Interface
Resource Broker
Computing Element StorageElement
Job Status
Network Server
Workload Manager
Job Control
Match Maker / Broker
Information
Service
RBStorage
(8)
Il job termina el'output (Output SandBox) vieneinviato al RB.
Status = Done
Submitted
Waiting
Ready
Scheduled
Running
WorkerNode
Done
Perugia, 26/08 - 01/09 2007 Leonello Servoli 33
WLCG: Fasi della job submission (9)
User Interface
Resource Broker
Computing Element StorageElement
Job Status
Network Server
Workload Manager
Job Control
Match Maker / Broker
Information
Service
RBStorage
(9)
L'utente puòrtirare l'Output SandBox dal RB.
Status = Cleared
Submitted
Waiting
Ready
Scheduled
Running
WorkerNode
Done
Cleared
Perugia, 26/08 - 01/09 2007 Leonello Servoli 34
WLCG: Fasi della job submission In ogni momento l’utente può, dalla User
Interface, inviare richieste al servizio di logging e bookkeping per avere informazioni sullo stato del job e ai vari BDII per avere informazioni sullo stato delle risorse.
Se il sito dove è stato destinato il job risulta impossibilitato ad accettarlo, il job viene automaticamente risottomesso ad un altro Computing Element che soddisfi le stesse richieste. Dopo un numero massimo di risottomissioni viene etichettato come aborted.
Perugia, 26/08 - 01/09 2007 Leonello Servoli 35
WLCG GRID: Organizzazione
Ci sono diverse sovrastrutture organizzative che si mappano sulla WLCG GRID:
1) Strutture di gestione (CIC, ROC, Site Manager);
2) Strutture di sviluppo (EGEE, OSG, LCG);
3) Strutture di utenti (Virtual Organizations);
4) Strutture funzionali degli esperimenti a LHC (Tier0, Tier1, Tier2, Tier3);
Perugia, 26/08 - 01/09 2007 Leonello Servoli 36
Le strutture di gestione hanno il compito di gestire giorno per giorno la GRID e di controllarne il funzionamento risolvendo i vari problemi. Sono organizzate in maniera mista, cioèsia gerarchicache a rete.- Site manager- Regional Operation Centre- Core Infrastructure Centre
WLCG GRID: Organizzazione
Perugia, 26/08 - 01/09 2007 Leonello Servoli 37
Site Manager: Sono i responsabili locali di un sito GRID. Spettano a loro:
- le manutenzioni hardware;- l’installazione e la rimozione di nodi;- la risoluzione dei problemi di rete;- la cooperazione con i CIC-on-duty per la risoluzione dei problemi legati al loro sito;- la definizione delle politiche di accesso alle risorse locali assieme agli utenti locali;
WLCG GRID: Organizzazione
Regola fondamentale della GRID:
le risorse sono controllate da chi le ha pagate.
Perugia, 26/08 - 01/09 2007 Leonello Servoli 38
WLCG GRID: Organizzazione Costruire una Computing GRID significa
- sviluppare i tool necessari per costruire il middleware,
e altrettanto importante:
- costruire l’infrastruttura organizzativa (persone!!) di supporto sia per il servizio che per il monitoring.
e non bisogna dimenticare gli aspetti legali!!!(nei vari paesi ci sono legislazioni diverse, es. leggi su privacy e antiterrorismo)
Perugia, 26/08 - 01/09 2007 Leonello Servoli 39
Monitoring di WLCG
Perugia, 26/08 - 01/09 2007 Leonello Servoli 40
Monitoring di WLCG
Perugia, 26/08 - 01/09 2007 Leonello Servoli 41
Stato attuale di WLCG
Numero di Nazioni = 53
Numero di Siti GRID = 311
Numero di Resource Brokers = 87
Numero di Computing Elements (CE) = 390
Numero di CPU stimate ~ 35000
Valore stimato dell'hardware installato = decine di M€
Perugia, 26/08 - 01/09 2007 Leonello Servoli 42
Stato attuale di WLCG
Alta attività:> 1 anno CPU per settimana
Media attività:> 1 mese CPU per settimana
Bassa attività:> 1 giorno CPU per settimana
Ci sono 40 Virtual Organizations attualmente supportate.
Perugia, 26/08 - 01/09 2007 Leonello Servoli 43
A cosa servirà la GRID tra 5 anni?
Permettere agli esperimenti di LHC di analizzare i dati.
Permettere alle altre aree scientifiche di disporre di capacità di calcolo altrimenti non facilmente accessibili.
Costituire un laboratorio per comprendere i problemi connessi alla gestione e allo sviluppo di una Computing GRID veramente multinazionale, multiorganizzazione, multiuso, di scala difficilmente eguagliabile a breve termine.
Diffondere le competenze e l'abitudine all'uso di strumentidi Computing GRID anche in ambito extra-accademico.
Perugia, 26/08 - 01/09 2007 Leonello Servoli 44
A cosa servirà la GRID tra 10 anni?Difficile ad immaginarsi.....
Pensate alla nascita del WEB ............
O alla diffusione e uso dei cellulari ............
Perugia, 26/08 - 01/09 2007 Leonello Servoli 45
A cosa servirà la GRID tra 10 anni?Difficile ad immaginarsi.....
Pensate alla nascita del WEB ............
O alla diffusione e uso dei cellulari ............
Pensate infine a quello che disse Faraday ad un ministro che gli chiedeva a cosa servissero le correnti elettriche:
“Non so a cosa serviranno, ma voi di sicuro ne tasserete l'uso......”