“Problemi di schedulazione distribuita su
GRID”
Sistemi operativi 3
Andrea Clematis
IMATI –CNR
Genova
Email: [email protected]
Cos’è Grid
• Un ambiente persistente in cui le applicazioni possono
integrare ed utilizzare risorse computazionali, dati,
device, e reti appartenenti a diverse organizzazioni ed
in diverse locazioni
• La condivisione di risorse è ottenuta attraverso accessi
diretti da parte degli utenti e gli accessi alle risorse
vengono strettamente controllati
• Un gruppo di utenti o organizzazioni regolati da una
politica di condivisione formano una virtual
organization
Virtual Organization
• Una Virtual Organization (VO) è costituita da:
– un insieme di individui o istituzioni
– un insieme di risorse da condividere
– un insieme di regole per la condivisione
• Una VO è una collezione di utenti che
condividono regole per l’accesso a risorse di
calcolo e a dati distribuiti e perseguono obiettivi
comuni
• Concetto chiave : l’abilità di negoziare le modalità di
condivisione delle risorse tra i componenti di una VO
(providers and consumers) ed il successivo utilizzo per i
propri scopi
Virtual Organization
• Le regole per la condivisione delle risorse
specificano quando, dove e cosa può essere fatto.
• Vengono quindi richieste:
– Politiche e meccanismi per formalizzare tali regole
– Autenticazione: stabilire l’identità degli utenti
– Autorizzazione: determinare se una operazione è
coerente con le regole di condivisione definite
Accesso on-line di strumenti
scientifici
Advanced Photon Source
wide-area
dissemination
real-time
collection
tomographic reconstruction
archival
storage
desktop & VR clients
with shared controls
I problemi che il Grid vuole risolvere
Il Grid ha una valenza molto pragmatica
– Nasce dall’informatica applicata
– Si focalizza sul permettere un nuovo tipo di
applicazioni
– Investire nel Grid trova motivazioni nella
promessa di nuove capacità, non solo
nell’informatica ma in altri settori e aree di lavoro
• Contesto Applicativo
– Finanza
– Industria
– Servizi
Qual’è il tipo di applicazioni?
• Compute intensive
– Simulazioni interattive (climate modeling)
– Simulazioni e analisi su larga scala (formazione di galassie,
campi gravitazionali, previsione di terremoti)
– Ingegneria (studi di parametri, linked component models)
• Data intensive
– Analisi di dati sperimentali (high-energy physics)
– Analisi delle immagini (astronomia, climatologia, ecologia)
Qual’è il tipo di applicazioni?
• Collaborazioni distribuite
– Strumenti online (microscopi, x-ray devices, etc.)
– Remote visualization (studi climatologici, biologia)
– Ingegneria (large-scale structural testing, ingegneria
chimica)
• E tutti problemi tali da richiedere la collaborazione
di persone appartenenti a organizzazioni diverse e
la condivisione di risorse di calcolo, dati,
strumenti e conoscenze
Temi richiesti
Le problematiche correlate alle Griglie sono
molteplici:
•
•
•
•
•
•
Security
Monitoring/Discovery
Computing/Processing Power
Moving and Managing Data
Managing Systems
System Packaging/Distribution
Cosa c’è di nuovo…
• Le tecnologie esistenti non risolvono
adeguatamente le esigenze di sharing
– Richieste complesse: “lanciare un programma X su un
elemento Y soggetto alle politiche P, fornendo l’accesso ai dati
Z rispettando le politiche di Q”
– High performance: richieste per sistemi avanzati ed ad alte
prestazioni
– Risorse eterogenee: computer, dati, politiche, conoscenze...
• Problem solving coordinati
– Estensione della visione client-server: analisi ed elaborazione
di dati distribuiti
A Checklist for a GRID to be a GRID
(I.Foster)
• Il Grid coordina risorse che non sono soggette ad
un controllo centralizzato e fornisce meccanismi
per la sicurezza, policy, membership…
• Usa protocolli ed interfacce standard, open e
general-purpose.
• Il Grid permette l’utilizzo delle sue risorse con
differenti Qualities of Service ( tempo di
risposta, throughput, disponibilità, sicurezza,…).
• L’utilità del sistema (middle tier) è molto
maggiore a quella della somma delle sue parti nel
soddisfare le necessità dell’utente.
Computational Grid
• Il fine: sharing di risorse di calcolo flessibile, sicuro,
coordinato attraverso collezioni dinamiche di individui,
istituzioni e risorse
• Permette a “gruppi di utenti VO” di condividere risorse
geograficamente distribuite visto che perseguono fini
comuni - assumendo l’assenza di
–
–
–
–
Una locazione centralizzata
Un controllo centralizzato
Onniscienza
Esistenza di relazioni di fiducia
Risorse
• Un’entità che viene condivisa…
– Computer, dati, software, elementi di storage
• …non necessariamente entità fisica…
– File system distribuito, “persone”
• …definita in termini di interfacce e non di
strumenti
– Uno scheduler come PBS definisce una risorsa
computazionale
– Open/close/read/write definiscono degli accessi a file
system distribuiti, come NFS, DFS
La tecnologia
• Globus toolkit E’ un sistema open-source che si propone
come lo standard de facto per il middleware per lo sviluppo
di Grid
– GT2 (1998) fornisce i protocolli, le API ed i servizi
utilizzati per lo sviluppo di centinaia di Grid
– GT2 fornisce strumenti per autenticazione, resource
discovery, resource access, data movement ed altro
– Lo sviluppo di GT non è comunque lineare, in molti casi
non è formalmente definito e ben documentato
– Una storia analoga accompagna altri sistemi quali ad
esempio Condor
– Attualmente GT è orientato ai servizi (Grid service)
La tecnologia
• Open Grid Services Architecture (OGSA) per mettere
ordine nello sviluppo del middleware per Grid è stato
creato (1998) il Global Grid Forum (GGF)
• Nel 2002 il GGF ha proposto uno standard architetturale
condiviso dalla comunità: OGSA
• OGSA porta ad un allineamento del Grid computing con
progetti di tipo industriale che propongono architetture
service –oriented e Web services
• OGSA prevede uno standard reale e più implementazioni
una delle quali è GT nelle versioni GT3 (2003) e GT4
(2004)
Orientamento ai servizi – Integrazione –
Virtualizzazione
• Esistono tre concetti chiave per la comprensione del Grid e
delle sue tecnologie:
– Orientamento ai servizi – Un servizio è accessibile attraverso uno
scambio di messaggi che provocano l’effettuazione di
un’operazione; la parte visibile e fissa è l’interfaccia,
l’implementazione è isolata sia in termini di “modo” che di
locazione;
– Virtualizzazione – è una conseguenza del punto precedente
– Integrazione – la distinzione tra implementazione ed interfaccia
permette di utilizzare i servizi come building block con i quali
sviluppare nuovi servizi.