big data processing, semantic grid, axcp computing, grid computing, parallel architectures
1. Sistemi Distribuiti
Corso di Laurea in Ingegneria
Prof. Paolo Nesi
Parte 5: Architetture Parallele, Sistemi GRID x Big Data
Department of Systems and Informatics
University of Florence
Via S. Marta 3, 50139, Firenze, Italy
tel: +39-055-4796523, fax: +39-055-4796363
Lab: DISIT, Sistemi Distribuiti e Tecnologie Internet
nesi@dsi.unifi.it, paolo.nesi@unifi.it
http://www.disit.dsi.unifi.it
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 1
2. Il Contesto Tecnologico
Crescita delle risorse
O Il numero di transistor raddoppia ogni 18 mesi
(Legge di Moore)
O La velocità dei computer raddoppia ogni 18 mesi
O La densità di memoria raddoppia ogni 12 mesi
O La velocità della rete raddoppia ogni 9 mesi
Differenza = un ordine di grandezza ogni 5 anni
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 2
3. Beyond Moore’s Law
Estimated CPU Capacity at CERN
Intel CPU (2 GHz) = 0.1K SI95
6,000 CPU
5,000 Requirements
4,000 Moore’s Law
K SI95
3,000 (2000)
2,000
1,000
0
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 3
4. Network Exponentials
O Network vs. computer performance
Computer speed doubles every 18 months
Network speed doubles every 9 months
Difference = one order of magnitude every 5 years
O 1986 to 2000
Computers: x 500
Networks: x 340,000
O 2001 to 2010
Computers: x 60
Networks: x 4000
Q Moore’s Law vs. storage improvements vs.
optical improvements. Graph from Scientific
American (Jan-2001) by Cleo Vilett, source
Vined Khoslan, Kleiner, Caufield and Perkins.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 4
5. Frieda’s Application …
Simulate the behavior of F(x,y,z) for 20 values of
x, 10 values of y and 3 values of z (20*10*3 =
600 combinations)
F takes on the average 6 hours to compute on
a “typical” workstation (total = 3600 hours)
F requires a “moderate” (128MB) amount of
memory
F performs “moderate” I/O - (x,y,z) is 5 MB and
F(x,y,z) is 50 MB
Non posso aspettare 3600 ore
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 5
6. Grid vs Distributed and Parallel
Parallel Distributed
Computing Computing
GRID
Computing
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 6
7. sommario
O Contesto tecnologico
O Architetture Parallele
O The GRID, definizione e motivazioni
O Concetti estesi dei GRID, microgrid
O Applicazioni e problemi dei GRID
O Soluzioni GRID...Globus, Condor
O Soluzioni MicroGRID: AXCP grid
O Confronto fra GRID
O Applicazioni per microGRID
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 7
8. Architetture Parallele
O La definizione di un’architettura ottima in termini di
processi paralleli per il calcolo scientifico dipende dal
problema
O Vi sono problemi
intrinsecamente sequenziali
Lineari vettoriali
Multidimensionali vettoriali
Paralleli nei dati di ingresso
Paralleli nei dai di uscita
Paralleli nei servizi
Paralleli nella procedura
Etc..
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 8
9. Esempio di caso Lineare
O VettC = VettA + VettB
O In modo sequenziale il Costo e’ o(N), in
parallelo il costo e’ 1
O Soluzione parallela:
N nodi
Un concentratore per raccolta dati
Comunicazione fra nodi: assente
Comunicazione con il nodo concentratore 1. Passa A e B
1 2. Passa Ai, Bi
5
6 3. Calcola Ai+Bi
4. Passa Ci
2 4
4 4
2 4 5. Metti insieme C
2 2
……………. 6. Passa C
3 3 3 3
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 9
10. Esempio di caso 2D, (..nD)
O MatC = MatA + MatB
O In modo sequenziale il Costo e’ o(NM), in
parallelo il costo e’ 1
O Soluzione parallela:
N*M nodi
Un concentratore per raccolta dati
Comunicazione fra nodi: assente
Comunicazione con il nodo concentratore 1. Passa A e B
1 2. Passa Aij, Bij
5
6 3. Calcola Aij+Bij
4. Passa Cij
2 4
4 4
2 4 5. Metti insieme C
2 2
……………. 6. Passa C
3 3 3 3
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 10
11. Comunicazione fra processi
O In alcuni casi vi e’ la necessita’ di effettuare
connessioni/comunicazioni dirette fra modi
dell’architettura parallela
O Se queste comunicazioni sono in parallelo si risparmia
tempo rispetto a farle convergere e gestire tutte da un
nodo centrale come in molti GRID
O In un GRID
Il GRID deve permettere di mappare in modo logico una
architettura qualsiasi sul’architettura fisica del GRID
I nodi devono comunicare chiamandosi in modo logico e
non fisico
Identificazione dei nodi.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 11
14. Piramide detta anche grid
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 14
15. 3 P in forma ciclica o consecutiva
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 15
16. 8 P in forma ciclica o consecutiva
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 16
17. Comunicazioni fra processi
O Comunicazione fra processi per congiungere dati parziali
Spesso necessarie per processi iterativi
Soluzioni di equazioni alle derivate parziali
Soluzioni agli elementi finiti
Inversioni di matrici a blocchi
O Condizioni al contorno
Soluzioni di equazioni alle derivate parziali
Soluzioni agli elementi finiti
O Integrazione del calcolo
Equazioni differenziali alle derivate parziali
Calcolo di Flussi
Calcolo per antenne
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 17
20. An example
quicksort
merge
quicksort
merge
quicksort
merge
quicksort
File
merge
ordinato
quicksort
merge
quicksort
merge
quicksort
merge
quicksort
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 20
21. Un Esperimento CONDOR at DISIT
Risultati finali
2680
2800
Tempo esecuzione (secondi)
2400
1800
2000
1600
1200 Esecuzione Locale
Condor
667
800 535
400 140
15
0
4000 32000 64000
N° stringhe input file
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 21
22. Scelte che hanno condizionato il risultato
O Non si e’ utilizzato un merge sort dall’inizio perche’ non
e’ efficiente visto che inviare due valori ad un nodo per
sapere quale dei due e’ maggiore costa di piu’ che farlo
in locale
Andamento del costo locale e distribuito del merge, per
decidere
O Si poteva utilizzare:
Algoritmi di ordinamento diversi
Una partizione diversa dei dati, non 8 processi ma per
esempio 4, con due livelli e non 3
Questo poteva permettere di avere maggiori vantaggi in
certe condizioni
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 22
23. Allocazione dei processi
O Caso 1:
Ho 8+4+2+1 processori e un processo per processore.
Ogni processo sa da dove prendere I dati e dove mandare I
risultati
O Caso 2:
Ho 8 processore, questi computano la prima fase, poi quelli
pari comunicano il risultato ai dispari, che
divengono pertanto I 4 processore fase 2
Quelli che hanno id divisibile per 4 passano I risultati a
quelli modulo 4 + 1, questi divengono quelli della fase 3
Etc. etc.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 23
24. Problemi
O Parallelizzazione degli algoritmi
Progettazione parallela
Non tutti gli algoritmi si possono parallelizzare in modo facile e poco
costoso..
Bilanciamento fra vantaggi e costi di comunicazione
Massimizzazione dello Speed Up:
Efficienza della soluzione parallela
O Allocazione ottima dei processi sui peer:
Capacità dei peer, che cambiano nel tempo
Costi di comunicazione che cambiano nel tempo
Problema di allocazione:
Genetic Algorithms, Taboo Search, etc.
O Tolleranza ai fallimenti
Ridondanza dei processi
Migrazione dei processi, salvataggio del contesto
O Limitato controllo delle capacità dei peer
O Limitato controllo delle prestazioni rete… QoS….
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 24
25. sommario
O Contesto tecnologico
O Architetture Parallele
O The GRID, definizione e motivazioni
O Concetti estesi dei GRID, microgrid
O Applicazioni e problemi dei GRID
O Soluzioni GRID...Globus, Condor
O Soluzioni MicroGRID: AXCP grid
O Confronto fra GRID
O Applicazioni per microGRID
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 25
26. The GRID
O “the Grid” term coined in the mid 1990s to denote a distributed
computing infrastructure for advanced science and engineering
O “Resource sharing & coordinated problem solving in dynamic, multi-
institutional virtual organizations” (Ian Foster, Karl Kesselman)
O Un insieme di risorse computazionali, di dati e reti appartenenti a
diversi domini amministrativi
O Fornisce informazioni circa lo stato delle sue componenti tramite
Information Services attivi e distribuiti.
O Permette agli utenti certificati di accedere alle risorse tramite un’unica
procedura di autenticazione
O Gestisce gli accessi concorrenti alle risorse (compresi i fault)
No single point of failure
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 26
27. Per essere un GRID
• coordina risorse e fornisce meccanismi di sicurezza,
policy, membership…
• Usa protocolli ed interfacce standard, open e general-
purpose.
• permette l’utilizzo delle sue risorse con diversi livelli di
Qualities of Service ( tempo di risposta, throughput,
availability, sicurezza…).
• L’utilità del sistema (middle tier) e molto maggiore a
quella della somma delle sue parti nel supporto alle
necessità dell’utente.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 27
28. Scienze Data Intensive
O Fisica nucleare e delle alte energie
Nuovi esperimenti del CERN
O Ricerca onde gravitazionali
LIGO, GEO, VIRGO
O Analisi di serie temporali di dati 3D
(simulazione, osservazione)
Earth Observation, Studio del clima
Geofisica, Previsione dei terremoti
Fluido, Aerodinamica
Diffusione inquinanti
O Astronomia: Digital sky surveys
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 28
29. BigData Science
O How to: compute, process, simulate, extract meaning, of
vaste/huge amount of data to create knowledge
O Exploit efficiently the hugh amount of data/knowledge
O Issues:
Data representation: indexing, search, execute, etc..
Data computing: sparse, uncertain, fast, etc.
Data understanding: mining, analize, etc.
Data view: fast, navigate,
O Applications:
Recommendations, suggestions, semantic computing
Business intelligence: health, trends, genomic, HBP,
Distributed database
Social networking
Event detection,
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 29
30. Supercomputer-Enhanced Instrumentation
Source: Globus 2002 Tutorial
Virtual Reality
Cave
Advanced Photon
Source
Avatar Scientis
t
Supercomput
er
Electronic Computing
Library Portal Clients
and
Databases
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 30
31. Distribution of Servers in Enterprise Computing
Source: IBM, Global Grid Forum 4, 2002
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 31
32. Home Computers
Evaluate AIDS Drugs
O Community =
1000s of home
computer users
Philanthropic
computing vendor
(Entropia)
Research group
(Scripps)
O Common goal=
advance AIDS
research
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 32
33. Mathematicians Solve NUG30
O Looking for the solution to the
NUG30 quadratic assignment
problem
O An informal collaboration of
mathematicians and computer
scientists
O Condor-G delivered 3.46E8 CPU
seconds in 7 days (peak 1009
processors) in U.S. and Italy (8
sites) Q 14,5,28,24,1,3,16,15,
Q 10,9,21,2,4,29,25,22,
Q MetaNEOS: Argonne, Iowa, Q 13,26,17,30,6,20,19,
Northwestern, Wisconsin
Q 8,18,7,27,12,11,23
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 33
34. Earth Observation
ESA missions:
• about 100 Gbytes of data per day
(ERS 1/2)
• 500 Gbytes, for the next
ENVISAT mission (2002).
DataGrid contribute to EO:
• enhance the ability to access high level
products
• allow reprocessing of large historical
archives
• improve Earth science complex
applications (data fusion, data mining,
modelling …) Source: L. Fusco, June 2001
Federico.Carminati , EU review presentation, 1 March 2002
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 34
35. sommario
O Contesto tecnologico
O Architetture Parallele
O The GRID, definizione e motivazioni
O Concetti estesi dei GRID, microgrid
O Applicazioni e problemi dei GRID
O Soluzioni GRID...Globus, Condor
O Soluzioni MicroGRID: AXCP grid
O Confronto fra GRID
O Applicazioni per microGRID
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 35
36. Concetti Estesi del GRID
O Virtual Organization (VO) è costituita da:
un insieme di individui o istituzioni
un insieme di risorse da condividere
un insieme di regole per la condivisione
O VO: utenti che condividono necessità e requisiti
simili per l’accesso a risorse di calcolo e a dati
distribuiti e perseguono obiettivi comuni.
O abilità di negoziare le modalità di condivisione
delle risorse tra i componenti una VO (providers
and consumers) ed il successivo utilizzo per i propri
scopi. [I.Foster]
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 36
37. iVDGL:
International Virtual Data Grid Laboratory
Tier0/1 facility
Tier2 facility
Tier3 facility
10 Gbps link
2.5 Gbps link
622 Mbps link
U.S. PIs: Avery, Foster, Gardner, Newman, Szalay Other link
www.ivdgl.org Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 37
38. To Russia/Japan
To USA
Cern
Milano Padova/LNL
Torino Bologna
Pisa
Cagliari
Catania
Prototipo di interconnessione tra INFN DataGrid,
l’EDG e progetti in US ed ASIA
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 38
39. Coordinamento Programma Nazionale FIRB
TORINO
MILANO CNR e Università
PADOVA
PAVIA HPC, Programmazione parallela, Grid computing,
BOLOGNA Librerie scientifiche, Data base e knowledge discovery,
GENOVA
Osservazione della terra, Chimica computazionale,
Elaborazione di immagini, …
PISA
INFN e Università
PERUGIA
Grid (INFN-Grid, DataGrid, DataTag) ,
Applicazioni di e-science: Astrofisica,
ROMA Biomedicina, Geofisica, …
BARI
NAPOLI
MATERA
ASI
LECCE
Applicazioni di
CAGLIARI osservazione della Terra
COSENZA
CNIT
PALERMO Tecnologie e infrastrutture
hardware-software
di comunicazione
ad alte prestazioni,
Tecnologia ottica, …
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 39
40. Grid of Cluster computing
O GRID
collezione di risorse distribuite, possibilmente
eterogenee, ed una infrastruttura hardware e software
per calcolo distribuito su scala geografica.
mette assieme un insieme distribuito ed eterogeneo di
risorse da utilizzare come piattaforma per High
Performance Computing.
O Cluster, a micro-grid
Usualmente utilizza piattaforme composte da nodi
omogenei sotto uno stesso dominio amministrativo
spesso utilizzano interconnessioni veloci (Gigabit,
Myrinet).
Le componenti possono essere condivise o dedicate.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 40
41. Applicazioni dei GRID
O Calcolo parallelo: sfruttamento di risorse distribuite a basso
costo al posto di supercalcolatori
O Applicazioni di calcolo massivo:
Medicali
E.g.: From TAC to 3D real models
Profiling and personalization
Visione artificiale
E.g.: Composition/mosaicing of GIS images
Risoluzione delle license per DRM
Adattamento di risorse digitali, coversione di formato
Stima di fingerprint di risorse digitali
Generazione di descrittori di risorse digitali
Simulazione strutturali, fluidodinamica, deformazioni, finanziarie,
servizi, etc.
Predizioni del tempo
Predizioni finaziarie
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 41
42. Alcuni dettagli
Profiling and personalization
Profilo del cellulare, capabilities, preferenze utenti
Richiesta di contenuti, formati, img, doc, etc.
Milioni di utenti al secondo
Visione artificiale
E.g.: Composition/mosaicing of GIS images
Risoluzione delle license per DRM
Richieste di risoluzione delle license
Adattamento di risorse digitali, coversione di formato
Stima di fingerprint di risorse digitali
Riconoscimento delle tracce audio
Generazione di descrittori di risorse digitali
Produzione di descrittori per inserirle in metadata, quando
viene riprodotto un catalogo
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 42
43. Types of Grid Computing
Compute share access
to computing Utility grids
grids resources
share share access to
access application software
Data to and services
grids databases
and files
systems
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 43
44. Types of Grid Computing
O GRID Compute
Per esempio ricerca dello spazio delle soluzioni
Predizione finanziaria, del tempo
Problema del Commesso viaggiatore
Analisi del genoma
Produzione delle possibili tracce, evoluzioni dello stato in
una macchina a stati
Model checking, history checking
O GRID Data
Database frazionato: da1M record in 10 da 100000 che in
parallelo danno un risposta alla query
Query replicate
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 44
45. Types of Grid Computing
O GRID Service
Database replicato per dare un servizio a molte persone, il
parallelismo e’ sulle persone, sugli accessi al servizio.
Query diverse sullo stesso database
O I probemi reali in effetti integrano I vari aspetti
producendo la necessita’ di gestire GRID che hanno vari
aspetti
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 45
46. One View of Requirements
O Identity & authentication O Security: intrusion detection
O Authorization & policy O Accounting: Grid cost
O Resource discovery
O Fault management
O Resource characterization
O Fault tolerance
O Resource allocation, management
O (Co-)reservation, workflow O Recovery from failure
O Distributed algorithms O Grid System evolution
O Remote data access O Etc.
O High-speed data transfer O …
O Performance guarantees
O Monitoring, se non misuri non
controlli
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 46
47. The Systems Problem:
Resource Sharing Mechanisms That …
O Address security and policy concerns of resource
owners and users
O Are flexible enough to deal with many resource
types and sharing modalities
O Scale to
large number of resources,
many participant/users
many program components/process
On different nodes and configurations
O Operate efficiently when dealing with large
amounts of data & computation
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 47
48. Aspects of the Systems Problem
1) interoperability when different groups want to share
resources
Diverse components, policies, mechanisms
E.g., standard notions of identity, means of
communication, resource descriptions
2) shared infrastructure services to avoid repeated
development, installation
E.g., one port/service/protocol for remote access to
computing, not one per tool/application
E.g., Certificate Authorities: expensive to run
O A common need for protocols & services
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 48
49. Programming & Systems Problems
O The programming problem
Facilitate development of sophisticated applications
Facilitate code sharing among nodes
Requires programming environments
APIs, SDKs, tools, distributed debug
O The systems problem
Facilitate coordinated use of diverse resources
Smart allocation, profiling, capabilities
Facilitate infrastructure sharing
e.g., certificate authorities, information services
Requires systems
protocols, services
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 49
50. Problemi dei GRID
O condivisione delle risorse flessibile e sicura su scala
geografica
O L’ottimizzazione dello sfruttamento delle risorse, il cui
stato non è direttamente sotto controllo e le
informazioni relative sottostanno ad un certo grado di
incertezza
O Formazione dinamica di organizzazioni virtuali, VO
O Negoziazione online per l’accesso ai servizi: chi, cosa,
perché, quando, come, QOS
sistemi in grado di fornire diversi livelli di “Quality of Service”
O Gestione automatica della infrastruttura
O Problemi a licello di risorse e connettivita’ che sono il
collo di bottiglia di molte applicazioni GRID
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 50
51. Layered Grid Architecture
(By Analogy to Internet Architecture)
Application
Internet Protocol Architecture
“Coordinating multiple resources”:
ubiquitous infrastructure services, Collective
app-specific distributed services Application
“Sharing single resources”:
negotiating access, controlling use Resource
“Talking to things”: communication
(Internet protocols) & security Connectivity Transport
Internet
“Controlling things locally”: Access
to, & control of, resources Fabric, OS Link
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 51
52. Layers del GRID
O 1) Livello applicativo: e’ l'interfaccia con la quale l'utente
può interagire con il sistema e contiene le applicazioni
rivolte all'utente ed il meccanismo della gestione delle
organizzazioni virtuali.
O 2) Livello servizi collettivi: contiene i servizi API utilizzati
per la gestione e la condivisione delle risorse che rendono
nota all'utente l'allocazione delle risorse di cui ha bisogno.
O 3) Livello protocolli (resource and connectivity):
O 4) Livello fabric: e composto dalle risorse distribuite
tramite la rete, che possono essere entità logiche o siche.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 52
53. 2) Livello servizi collettivi:
Definisce protocolli, SDK ed API per l’interazione con le risorse.
Fornisce ai membri di una VO meccanismi per:
O Directory services: scoprire l’esistenza di risorse.
O Co-allocation, scheduling, brokering services:allocare una o più
risorse e schedulare task
O Monitoring services: scoprire e gestire failure, intrusioni,
overload…
O Data Replication services: scoprire la copia dei dati che permette
di massimizzare le performance, in termini di tempi di accesso,
reliability, costo…
O Software Discovery services: scoprire la miglior piattaforma di
esecuzione (anche per il SW) in base ai parametri del problema
(NetSolve)
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 53
54. 3) Resource and Connectivity
O Resource:
Definisce, sulla base dei protocolli sottostanti, protocolli, SDK ed
API per l’inizializzazione, il monitoraggio ed il controllo di operazioni
su di una risorsa.
Information Protocol: informazioni sullo stato della struttura
(configurazione, carico…)
Management Protocol: negoziazione per l’accesso alla risorsa,
tramite la specifica di requirement e operazioni da effettuare
O Connectivity:
Definisce i protocolli base per la comunicazione e l’autenticazione.
I protocolli di Comunicazione permettono lo scambio di dati tra le
risorse del livello inferiore.
I protocolli di Autenticazione forniscono meccanismi sicuri
(crittografia) per verificare l’identità di utenti e risorse.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 54
55. GRID Standards
O Non esiste uno standard per GRID completo
O Vi sono degli standard per le comunicazioni, per la
negoziazione dei servizi, e altre cose di questo genere.
O GLOBUS puo’ essere considerato una sorta di standard
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 55
56. sommario
O Contesto tecnologico
O Architetture Parallele
O The GRID, definizione e motivazioni
O Concetti estesi dei GRID, microgrid
O Applicazioni e problemi dei GRID
O Soluzioni GRID...Globus, Condor
O Soluzioni MicroGRID: AXCP grid
O Confronto fra GRID
O Applicazioni per microGRID
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 56
57. GRID projects
O LEGION
Middleware per la connessione di reti
Distribuzione di processi ed allocation
Trasparente per l’utente che chiede il servizio
O UNICORE-UNiform Interface to COmputing REsources
Ministero tedesco
Combina le risorse di centri di computer e le rende
disponibili in modo sicuro e senza cuciture attraverso
intranet o internet.
Peer certificati per garantire l’uso e la sicurezza dei dati
O GLOBUS
Open source (era)
Ora sta diventando commerciale
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 57
58. Some GRID Solutions !!
O Condor
Unix and windows
Small scale GRID, non parallelism
O Globus
Parallel
Unix like
C and java
O Legion
Parallel, C++
Unix like
Too much space needed, 300Mbyte
O Unicore
Java
Unix like
Open source
O AXMEDIS, AXCP
C++ and JavaScript
Windows
Accessible Code, Free Software
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 58
59. GLOBUS and its toolkit
O Open Source, Middleware
O http://www-unix.globus.org/toolkit/license.html
O Library for:
monitoraggio, scoperta e gestione delle risorse e delle
informazioni
sicurezza dei nodi (certificati, autenticazione)
sicurezza delle comunicazioni
tolleranza dei guasti
portabilità
O Globus Toolkit è cresciuto attraverso una strategia open-
source simile a quella di Linux: questo ha incoraggiato una
vasta comunità di programmatori e sviluppatori a introdurre
continue migliorie al prodotto
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 59
60. Open Grid Services Architecture
O Al Global Grid Forum (GGF4),
Globus Project e IBM hanno definito le linee dell’Open Grid
Services Architecture (OGSA),
matrimonio e l’evoluzione di due tecnologie: Grid Computing e
Web Services.
O OGSA introduce il concetto fondamentale di Grid Service,
ovvero un GRID che dispone di interfacce che lo rendono
manipolabile per mezzo di protocolli web service.
O Open Grid Services Infrastructure (OGSI) definisce
le interfacce di base/standard e i comportamenti per servizi
gestibili dal sistema.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 60
62. Globus GRID Tool Kit
O Sicurezza (GSI)
O Gestione delle risorse (GRAM,
Access and Management)
O Gestione dei dati (GASS,
GridFTP, GRM)
O Servizi di informazione (GIS,
security)
O Comunicazione (I/O, Nexus,
MPICH)
O Supervisione dei processi e
gestione guasti (MDS, HBM)
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 62
63. Componenti di GLOBUS toolkit 1/2
O Grid Security Infrastructure, GSI
meccanismo di autenticazione che si occupa della sicurezza
nell'ambiente Grid, garantendo l'accesso solamente agli utenti
autorizzati. Si basa sullo standard di certificati
GSI delega, ossia effettua una creazione remota di un proxy delle
credenziali e permette a un processo remoto di autenticarsi per
conto dell'utente.
O Globus Resource Allocation Manager, GRAM
abilitare un accesso sicuro e controllato alle risorse computazionali
gestendo l'esecuzione remota di operazioni sulle risorse stesse.
Il gatekeeper e un processo del GRAM che gestisce la richiesta di
un nodo cliente inviandola al job manager, il quale dopo aver creato
un processo per la richiesta ne controlla l'esecuzione
comunicandone lo stato all'utente remoto.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 63
64. Componenti di GLOBUS toolkit 2/2
O Data Management
GRIDFTP e’ un protocollo utilizzato per realizzare lo scambio di
file tra le varie risorse all'interno della griglia. Estende il
protocollo FTP, aumentando la capacita e la sicurezza del
trasferimento dati
O GRID Information Services, GIS
raggruppa le informazioni di stato delle varie risorse e viene
suddiviso in tre principali servizi:
MDS, Monitoring and Discovering Service.
GIIS, Grid Index Information Service, organizzato in processi
in relazione gerarchica, la root e’ TOP MDS
GRIS, Grid Resource Information Service, che colleziona
info e le invia al GIIS. Il GRIS e’ installato su ogni risorsa.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 64
65. Resource Management Services
Tre componenti principali
1. RSL (Resource Specification Language) per
comunicare i requisiti delle risorse
2. Resource Broker: gestisce il mapping tra le
richieste ad alto livello delle applicazioni e le
risorse disponibili.
3. GRAM (Grid Resource Allocation Management) è
responsabile di un set di risorse ed agisce da
interfaccia verso vari Resource Management Tools
(Condor,LSF,PBS, NQE, EASY-LL ma anche,
semplicemente, un demone per la fork)
Q 65
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 65
66. Resource Management
Architecture
planner
negotiation
Broker
Resource Specification Language Queries
& Info
Monitor and discover Information
Application
Service
Co-allocator
Local GRAM GRAM GRAM
resource
managers LSF Condor PBS
Q Load Sharing Facility Q Portable Batch System”
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 66
67. How to deploy a
Grid, hierarchy of
components
http://www.dartmo
uth.edu/~rc/classes/i
ntro_grid/Grid_Sof
tware_View.html#t
op
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 67
68. Combinazione Globus e Condor
Q
Q Globus
Q Protocolli per comunicazioni sicure tra domini
Q Accesso standard a sistemi batch remoti
Q Condor
Q Job submission e allocation
Q Error recovery
Q Creazione di un ambiente di esecuzione
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 68
70. CONDOR
O Nasce nel 1988, University of Madison
O Creazione di cluster di workstation PC
O Sfruttamento di momenti di scarsa attivita’ della CPU;
Condor lascia la CPU se l’utente lavora sul PC
Salva il punto e poi riparte
Sposta/migra se necessario l’esecuzione del processo
su un’altra CPU
O Il codice non viene cambiato ma viene semplicemente
linkato con lib speciali
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 70
71. Salvataggio del contesto
O Per poter migrare il processo devo salvare il contesto.
O Il contesto lo salvo ad intervali regolari, per esempio ogni
decimo del tempo di esecuzione.
O in questo caso ho uno spreco massimo di 1/10 del tempo di
esecuzione, che deve essere vantaggioso rispetto al costo di
spostamento del processo sull’altro nodo
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 71
72. CONDOR
O A basso livello si basa su procolli di comunicazione
diversi per gestire i processi (interoperabilita’):
Vanilla: permette di eseguire tutti i programmi che non
possono essere re-linkati ed è utilizzato per shell scripts.
Non sono implementate migrazione e chiamate di sistema.
PVM: per far girare sopra Condor programmi scritti per
l’interfaccia PVM (Parallel Virtual Machine).
MPI: Questo ambiente risulta utile per eseguire i programmi
scritti secondo il paradigma di Message Passing Interface
(MPICH).
Globus Permette di eseguire i processi scritti …..
Java: Permette di eseguire i processi scritti per la Java
Virtual Machine
….
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 72
73. Sicurezza in CONDOR
O L’autenticazione di una comunicazione sotto Condor è
realizzata grazie all’implementazione di alcuni protocolli:
tra questi citiamo
GSI (basato su certificati X.509),
Kerberos,
e un meccanismo basato su file-system (Windows prevede
un meccanismo di autenticazione proprietario).
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 73
74. CONDOR architecture
Central Manager
Condor_Collector
Condor_Negotiator
Execution Machine
Submit Machine
Controlling Daemons
Controlling Daemons
Control via Unix signals to alert job when
to checkpoint
Condor_Shadow Process
User’s job
User’s code
All System Calls
Performed As Remote Condor_Syscall_Library
Procedure Calls back to
Checkpoint File is the Submit Machine
Saved to Disk
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 74
75. CONDOR ruoli e servizi
O Central Manager, solo un Central Manager.
Raccoglie tutte le informazioni e negoziare tra le richieste e le
offerte di risorse.
Affidabile e potente
O Submit
Altre macchine del pool (incluso il Central Manager) possono
invece essere configurate per sottomettere jobs a Condor.
queste macchine necessitano di molto spazio libero su disco
per salvare tutti i punti di checkpoint dei vari job sottomessi.
O Execute (i nodi del GRID)
Alcune macchine nel pool (incluso il Central Manager)
possono essere configurate per eseguire processi Condor.
Essere una macchina di esecuzione non implica la richiesta di
molte risorse.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 75
76. CONDOR: Pregi e difetti
O Pregi:
non necessita di modificare i vostri programmi
Differentemente da seti@home
set-up semplice
facilità di gestione della coda dei job
breve tempo necessario ad implementare una “griglia” funzionante.
estrema versatilità nel gestire svariati tipi di applicazioni (.exe).
trasparenza agli occhi degli utenti durante l’esecuzione.
O Difetti:
I meccanismi di sicurezza implementati non garantiscono ancora il
medesimo livello di protezione offerto da una vera soluzione middleware.
Limitato controllo sull’intera grid.
Bassa “tolleranza” ai guasti: se nessuna macchina del pool soddisfa i
requisiti di un job, questo rimane in attesa senza andar mai in esecuzione
e l’utente è costretto a rimuoverlo manualmente.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 76
77. sommario
O Contesto tecnologico
O Architetture Parallele
O The GRID, definizione e motivazioni
O Concetti estesi dei GRID, microgrid
O Applicazioni e problemi dei GRID
O Soluzioni GRID...Globus, Condor
O Soluzioni MicroGRID: AXCP grid
O Confronto fra GRID
O Applicazioni per microGRID
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 77
78. AXMEDIS Content Processing GRID
O accesso dai dati
O trasformazione contenuti
produzione di contenuti on deman
Adattamento in tempo reale, riduzione costi, etc
O manipolazione di license in tempo reale
O protezione dei cotenuti digitali
O Comunicazione con altri processi
O Monitoraggio
O Controllo reti P2P
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 78
79. AXMEDIS Content Processing, GRID
AXMEDIS Factory AXMEDIS Workflow
Management tools
AXEPTool Area
AXMEDIS Editors
AXEPTools
AXMEDIS Content
Processing Engines and AXEPTools
Scheduler GRIDs
AXMEDIS AXMEDIS
databases
Crawlers database
Area
CMSs
Programme and
Publication
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 79
80. AXMEDIS Content Processing GRID
Workflow AXCP
Front end
Front end manager Visual Designer
servers,
servers,
VOD, prod
VOD, prod
on demand
on demand AXMEDIS
Visual Elements
Rule Editor
and Rules
AXCP
Quick Scheduler
Starter
AXCP GRID
Rules
AXCP nodes
Plug-in for content
processing
WS, FTP, DistributionC
Q AXMEDIS hannels and
etc. Your CMSs Database servers
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 80
81. AXMEDIS Content Processing Area
O GRID infrastructure for
automatic production and processing content on the basis of rules
AXCP Rules which are
written as scripts by the AXCP Rule Editor
executed in parallel and rationally using the computational
resources accessible in the content factory
AXCP Rule Engine.
O AXCP area receives commands coming from the Workflow of the
factory.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 81
82. Factory and integration
AXCP Quick Start, Monitoring &
Your tools commands, Reporting AXMEDIS
Workflow systems,…
DRM
DB
CMS
AXMEDIS WEB Server
Internet, WEB,
VOD, POD..
Automated
and Manual Playout Server
Factory Tools
Web+Strm Server
Broadcast, IPTV,
i-TV, VOD, POD,…
P2P distrib & monitor
AXMEDIS
Automated
and Manual Social Networks Mobiles, PDA, etc.
Factory Tools
AXMEDIS
Automated
AXMEDIS and Manual
Automated Factory Tools
and Manual
Factory Tools
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 82
83. AXMEDIS Content Processing GRID
O GRID per il Content Processing
Discovery di risorse, nodi
Valutazione dello stato e delle pontenzialita dei nodi
Creazione di regole, processi
Un solo processo per nodo
Esecuzione di regole/processi, attivano anche processi locali
scritti non in forma di regole
On demand, periodiche, collegate, asincrone
Allocazione ed ottimizzazione dei processi
Comunicazione con il gestore ma anche fra nodi
N to N
N to S, per monitor e/o invocazione di regole/processi
Tracciamento e controllo dei processi
Workflow, gestione di alto livello, integratione macchina Users
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 83
84. Snapshots of the GRID at work
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 84
85. AXCP processing capabilities
O Automating access to databases and comm. channels
O Automating Content Profiling:
device and user profile processing
O Automating Content Protection:
MPEG-21 IPMP, OMA, etc.
O Automating Content license production and processing:
MPEG-21 REL, OMA ODRL, etc.
O Automating Content Production/Processing
Metadata, integration and extraction
Content Processing: adaptation, transcoding, filtering, analysis,
recognition, etc..
Content Composition and Formatting (SMIL, XSLT)
Packaging: MPEG-21, OMA, ZIP, MXF
Using protected content and DRM support, content processing is
performed in secure manner even on the GRID nodes according
to the DRM rules/licenses
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 85
86. AXCP processing capabilities
O Processing functionalities:
Gathering content
Production of new objects: composition, etc.
Formatting: SMIL, XSLT, etc.
Synchronization of media, etc.
Content adaptation, transcoding, …..….
Reasoning on device capabilities and user preferences, (user, device, network, context)
Production of licenses, MPEG-21 REL, OMA
Verification of Licenses against them and PAR
Metadata and metadata mapping: Dublin Core, XML
Extraction of descriptors and fingerprints …MPEG-7
Protocols: IMAP, POP, Z39.50, WebDav, HTTP, FTP, WS, etc.
Controlling P2P networks
....
O Any type of resource in any format
Multimedia: MPEG21, IMS, SCORM, etc.
DB: ODBC, JDBC, DB2, Oracle, MS-SQL, MySQL, XML databases, etc.
Licensing systems: MPEG-21, OMA
File Formats: any video, audio, image, xml, smil, html, ccs, xslt, etc.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 86
87. AXMEDIS Content Processing GRID
AXMEDIS
Rule Editor
AXMEDIS
Scheduler
Workflow
manager
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 87
88. AXMEDIS Content Processing Area:
AXCP Rule Editor
O It is an IDE tool for:
O Creating and editing AXCP Rules
O Defining parameters and required
AXMEDIS Plugins
O Editing, checking and debugging
JS code
O Activating AXCP Rules into the
AXCP Rule Engine
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 88
89. Rule Editor
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 89
91. Rule Editor
O The Rule Editor allows
Writing AXCP Scripts in Java Script with the above
capabilities
Calling libraries in javascripts
Calling plug in functions in C++, and other languages
Defining AXCP scripts metadata:
Manifesto components
Scheduling details
Capabilites
Information, etc.
Debug scripts:
defining break points,
run/stop/execute step by step,
Monitoring variables, etc.
Putting in execution java scripts
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 91
92. AXMEDIS Content Processing Area: AXCP Rule
O AXCP Rules include metadata for heading information (Header)
and firing (Schedule)
O AXCP Rules contain algorithms for composition, formatting,
adaptation, transcoding, extraction of fingerprint and descriptors,
protection, license manipulation, potential available rights
manipulation, resource manipulation, load and save from
databases and file system, content migration etc. (Definition)
O Algorithms are written by using JavaScript programming
language
O JS was extended
with data types derived from AXMEDIS Framework, MPEG21, and general
resource definition such as: images, documents, video, licenses, etc.
to use different functionalities for content processing by means the
AXMEDIS Plugin technology (adaptation, fingerprint, etc…)
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 92
94. AXCP visual designer
O Fast and simple Visual
Programming of AXCP
GRID processes
O Composing Blocks as JS
modules to create AXCP
rules
O Composing AXCP Rules
to create sequences of
actions to be scheduled
according to their
dependencies
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 94
95. Visual Designer
O Visual language for GRID
programming
RuleBlock::= {JSBlock} |
<defined in JS as JS rule>
JSBlock::=
<defined in JS as JSBlock>
O ManRuleBlock as specific
manager for its child processing
rules.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 95
96. Rule Scheduler
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 96
97. Rule Scheduler
O AXCP Rule Scheduler performs:
executors discovering, monitoring (rule analysis)
Rules transfering and installation, allocation of Scripts on
Nodes on the basis of capabilties and rule needs
Recover from the nodes the node information about their
capabilities:
CPU clock, cpu exploitation profile
Space on the disk
Communication throughput with databases
Libraries accessible with their version
Monitoring GRID nodes, via messages of errors
Controlling (stop, pause, kill, etc.) GRID nodes
Logs generation and collecting data
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 97
98. GRID Node
Profile
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 98
99. Log Properties
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 99
100. Esempio di esecuzione
var sb = new AXSearchbox();
sb.Host = "liuto.dsi.unifi.it";
sb.Port = "2200";
sb.Username = "admin";
sb.Password = "password";
var qs = new QuerySpec();
var a = new Array(1);
a[0] = 1;
qs.Archives = a;
qs.Parser = QueryParser.ALGPARSER;
qs.Info = QueryInfo.INFO_CONTEXT;
qs.View = QueryView.VIEW_PUBLISHED;
qs.Sort = QuerySort.SORT_STANDARD;
qs.QueryString = key;
qs.FirstDoc = 0;
qs.LastDoc = 10;
var qr = new Array();
var maxres = sb.Query(qs, qr);
var i, j;
for(i = 0; i < qr.length; ++i)
{
var doc = sb.GetDocument(qr[i].ID);
var meta = sb.GetDocumentMetadata(qr[i].ID);
print("-> "+doc.MimeType+" ["+doc.Size+"]"+"n")
for(j = 0; j < meta.length; ++j)
{
var m = meta[j];
print("--> "+meta[j].Key+
"["+meta[j].Slice+"]="+meta[j].Value+"n");
}
}
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 100
101. AXMEDIS CP GRID, technical view
WS for
Control and
Reporting
(Workflow)
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 101
102. Realizzazione: Rule Engine
• Eng. Cmd & Rep.: interfaccia remota
verso il workflow manager
• Scheduler Cmd Manager: interfaccia
dello scheduler
• Internal Scheduler: schedulazione dei
Scheduler
job, supervisione del dispatcher
• Dispatcher: gestore delle risorse
remote, della comunicazione e
dell’associazione job-esecutore
• Grid Peer Interface: modulo per
la gestione della comunicazione
Esecutore remoto
remota
• Rule Executor: modulo per
l’esecuzione dello script
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 102
103. Internal Scheduler
O permette la scelta dei job da mandare in esecuzione e
l’aggiornamento della periodicità, il controllo sulla
scadenza, il controllo e l’aggiornamento delle liste dei
job e degli esecutori
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 103
104. Dispatcher
•riunisce le funzionalità di associazione, lancio
e controllo:
Resource Controller: controllo dello stato degli
esecutori e la richiesta del loro profilo
Optimizer: associazione degli esecutori con i job
da mandare in esecuzione in funzione del profilo e
politica FCFS
Rule Launcher: invio di comandi e del file del
job agli esecutori remoti
Rule Monitor: controllo sulle notifiche inviate
dagli esecutori e dai job in esecuzione
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 104
105. Evolution of Rule’s State
FAILUR SUSPE
If deadline OR time
E NDED
Rule Scheduler::Failure
If error
Editor::Disable
Scheduler::Failure
AXWF::Disable Rule Editor::Enable Scheduler::Resume
AXWF:: Enable Scheduler::Suspend
If executor!=NULL
Rule Editor::Enable Scheduler::Failure
AXWF:: Enable
Scheduler::Launch Scheduler::Run
INACT ACTI LAUNC RUNNI
IVE VE HING NG
Rule Editor::Disable
AXWF::Disable Scheduler::Resume
If executor!=’Available’
Scheduler::Delay
If executor==’Available’
DELAY Scheduler::Run Scheduler::Pause
ED
If Periodic
If Not Periodic
Scheduler::Refresh
Scheduler:: Disable PAUSE
COMPLE
TE Scheduler::End
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 105
106. Scheduler GUI
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 106
107. Scheduler
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 107
108. Ottimizzazione della Pianificazione
Allocazione dei processi sui nodi
O Valutazione del profilo dei Nodi
Capabilities dei nodi
Potenza computazionale
Network Capabilities
O Valutazione delle necessità delle regole/processi
Componenti necessari, funzioni necessarie
Scadenza temporale, deadline
Architettura per la sua esecuzione se multi nodo
O Scelta della soluzione ottima:
Bilanciamento del carico
Soddisfazione dei vincoli
O Algoritmi di allocazione
Deadline monotonic
Taboo Search
Genetic Algorithms
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 108
110. Gantt Diagrams (OPTAMS, TS)
Schedule cumulative for phase before the optimization
Schedule cumulative for phase after the optimization
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 110
111. Condor
JobMonitor
Screenshot
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 111
112. Esempio di
ottimizzazione
125 task, 2CAD, 2CAM,
4ADP, 6MM, 2MEMA
Ottimizzazione: 24.6%
5/18/2012 (C) Paolo Nesi-1995-2000 112
113. Sfruttamento della CPU nei nodi
Q In Nero la % di CPU sfruttata da processi utente
Q In Rosso la % di CPU sfruttata dal processo del GRID
Q Politiche
Q Stare strettamente sotto/allo X%
Q Accettare che si possa andare sotto, ma stare all’X% come valore
medio
Q Sfruttare al massimo la CPU quando l’utente non e’ presente
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 113
114. Planning and Exploiting Node capabilities
CPU exploitation controll with an adaptive threshold
120
100
80
60
40
20
0
1 12 23 34 45 56 67 78 89 100 111 122 133 144 155 166 177 188 199 210
Average on 10 values of CPU workload Threshold
Global CPU Workload GRID node CPU usage
O GRID node has a profile describing its capabilities: time
profile, memory, HD, communication, tools and plug ins, etc.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 114
115. AXMEDIS CP GRID, technical view
WS for
Control and
Reporting
(Workflow)
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 115
116. Realizzazione: Grid Peer Interface e Grid Peer
O La Grid Peer Interface rende il sistema indipendente
dal tipo di strato di comunicazione utilizzato
O Permette l’invio e la ricezione di messaggi di testo
O Permette l’invio e la ricezione di file
O Permette la scoperta degli esecutori e connessione
O E’ configurabile file configurazione
Messaggi
di testo
scoperta
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 116
119. Scheduler Command Manager
e Graphic User Interface
O Lo Scheduler Command
Manager è un’interfaccia User Workflow
Manager
che rende indipendente lo
scheduler dal tipo di
interfaccia utente (grafica o Engine Commands
Scheduler GUI
di comunicazione remota) and Reporting
usata
O L’interfaccia grafica
Scheduler Command Manager
permette un accesso rapido
alle funzionalità
dell’applicazione
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 119
120. Gestione Gerarchica di microGRID
O Ogni Scheduler identifica un microGRID
O Da ogni nodo del GRID e’ possibile inviare richieste ad
altri Scheduler e pertanto ad altri microGRID
Le richieste vengono inviate tramite chiamate a Web
Services
O Si viene a greare una gerarchia di grid e di nodi in tali
grid
O I singoli MicroGRID possono essere distirbuiti anche
geograficamente, si veine a creare un vero e proprio
GRID geografico
O I nodi foglia possono inviare richieste allo scheduler
radice, etc.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 120
122. Dipendenze
Q Punti di sync ?
Q Per la comunicazione ?
Q Consumo di risultati ?
Q Attese ?
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 122
123. Pianificazione e Ripianificazione
Nell’ottica del controllo della QoS
O Sul microGRID come sul GRID viene effettuata una
pianificazione dei processi allocandoli sulle risorse (CPU)
(righe blu nella prossima slide)
Nella pianificazione si devono tenere conto di vari vincoli
come: deadline, dipendenze, requisiti computaizone, requisiti
in termini di librerie e programmi, memoria, CPU, etc.
O Questa allocazione non e’detto che si verifichi
Alcuni processi possono essere eseguiti piu’ velocemente, altri
piu’ lentamente, riespetto ai tempi previsti, etc. (processi rossi
nella prossima slide)
O Ogni tanto e’necessario fare una ripianificazione e
correzione della situazione (processi verdi nella prossima
slide).
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 123
125. sommario
O Contesto tecnologico
O Architetture Parallele
O The GRID, definizione e motivazioni
O Concetti estesi dei GRID, microgrid
O Applicazioni e problemi dei GRID
O Soluzioni GRID...Globus, Condor
O Soluzioni MicroGRID: AXCP grid
O Confronto fra GRID
O Applicazioni per microGRID
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 125
126. Aspetti e caratteristiche di alto livello
O Portabilita’:
Su diversi OS e piattaforme
Come java script
O modularita’:
Si possono aggiungere facilmente nuove funzionalita’
O Riusabilita’:
Si possono aggiungere facilmente nuove funzionalita’
Gli script sono parametrizzati
O Expandibilita’:
Si possono aggiungere facilmente nuove funzionalita’
O Flessibilita’:
Si possono aggiungere facilmente nuove funzionalita’
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 126
127. GRID comparison 1
axmedis Condor Globus Legion Unicore
Description Content Network batch and Bag of Grid MetaSystem object Vertical Grid
processing resource manager Technologie based system
GRID for media s
Category Small Scale Small Scale Grid MiddleWare MiddleWare MiddleWare
Resource Manager Central machine Central machine GRAM Collector, Scheduler, Incarnation
Manager Manager Enactor DataBase on Vsite
Resouce Discovery manifesto ClassAds MDS (handles limited Target System
resource Interface (TSI)
informations)
Communication WS Remote System Call Nexus, Globus Asynchronous message- Asynchronous
I/O passing system, LOIDs Transaction
Fault Tolerance none Checkpoint & Heart Beat Checkpoint via libraries Failure Flag
Migration Monitor (HBM)
Security DRM GSI (X.509) GSI (X.509) Public-key cryptography SSL
Kerberos SSL (Secure based on RSAREF 2.0 X.509
(User/Ip based) Sockets Three message-layer
UIDs Layer) security modes
MayI (classes security)
Architecture hierarchical Universes structured “Hourglass” Everything is an object… “Three-tier
architecture model”
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 127
128. GRID comparison 2
AXMEDIS Condor Globus Legion Unicore
OGSA NO No yes no yes
Compliant
Parallelism Yes, not internal No yes yes -
Parameters Yes No yes yes -
Studies
Necessary No, + Extended JS Re-link with Condor Re-link with Directive embedded in -
changes to libraries Globus Fortran Code; use of
libraries, MPL to parallelize C++
user’s source
changes to application; interface for
code support PVM and MPI application
parallelism
Platform Windows XP, and MacOS Server: Solaris 5.x Server:
server Linux RedHat 7.x, 8.0, Linux IRIX 5.x, 6.5 Unix
9 Client: Linux RedHat 5.x Linux
Solaris 2.6, 2.7, 8, 9 Linux AIX 4.2.1, 4.3 Client:
IRIX 6.5 Any platform Hp-Unix 11.x Any platform that
Hp-Unix. that supports Cray Unicos (as a virtual support Java
Windows NT4, 2000, JDK host only) (J2RE) 1.4 o
Xp superiori
(con funzionalità
ridotte)
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 128
129. GRID comparison 3
AXMEDIS Condor Globus Legion Unicore
Languag Any language is viable, JS Application: Application Application: Application:
is the glue to put in C : C++ Java
es execution C++ C MPL (an extension of C++) Middleware:
Java Java Fortran Java 2.0
Require Windows On Windows: - 250-300 MB of free disk space -
at least 50 MBytes of at least 256 MB virtual memory
ments free disk space /bin/ksh installed
NTFS or FAT
Licence Source code available Source code available on (Open Binaries packages only Open source
mail request source)
Links www.axmedis.org www.cs.wisc.edu/condor www.globu www.legion.virginia.edu www.unicorepro.
(necessary state name, s.org (Legion RSA libraries are com
e-mail and organization) available separately; from
1/1/03 contact Avaki.com for
all inquiries about Legion)
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 129
130. Micro GRID for scalable media comput.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 130
131. Multimedia GRIDs for the future applications
Comparison (IEEE Multimedia March 2009)
Content Content Media Interactive Parallel
management analysis streaming controls processing
Access Grid Y Y Y
GridCast Y Y Y
mmGrid Y Y Y
gMOD Y Y Y
MediaGrid Y Y Y Y
AE@SG Y
Parallel-Horus Y Y Y
Context Aware Y Y Y Y
MM Middleware
AXMEDIS Y Y Y Y Y
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 131
132. Comparison: Micro GRID for media
IEEE Multimedia 2012
MediaGrid.or
MediaGrid
MediaGrid
AXMEDIS
MMGRID
Omneon
GridCast
g
Content Management: storage, UGC, .. X (x) (x) X X
Content computing/processing: adaptation, X (x) (x) (x) X
processing conversion, cross media content
packaging, ..
Content Delivery Network Management X X X X X
Metadata enrichment and reasoning X
Content Protection Management (CAS/DRM) X
Content Indexing and Querying, knowledge base X X X
Semantic Computing Reasoning on user profiling, X
content descriptors, recommendations
User Interaction Support, rendering, collaboration X X X
Client player as grid nodes for intelligent content X
Global and/or Local grid L/(G) G G G G/L L
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 132
134. Grid Project References
O Open Science Grid O AXMEDIS
www.axmedis.org
www.opensciencegrid.org
O CHEPREO
O Grid3 www.chepreo.org
www.ivdgl.org/grid3 O UltraLight
O Virtual Data Toolkit www.ultralight.org
www.griphyn.org/vdt O Globus
www.globus.org
O GriPhyN
O Condor
www.griphyn.org www.cs.wisc.edu/condor
O iVDGL O WLCG
www.ivdgl.org www.cern.ch/lcg
O EGEE
O PPDG www.eu-egee.org
www.ppdg.net
Q From AXMEDIS you can download the installable tool
to set up your GRID
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 134
135. sommario
O Contesto tecnologico
O Architetture Parallele
O The GRID, definizione e motivazioni
O Concetti estesi dei GRID, microgrid
O Applicazioni e problemi dei GRID
O Soluzioni GRID...Globus, Condor
O Soluzioni MicroGRID: AXCP grid
O Confronto fra GRID
O Applicazioni per microGRID
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 135
136. Key Issue: dynamic and real time
O Devices and content formats are not static
Emerging devices and formats
Dynamic market in terms of possibilities and content types and
formats
Players with support for numerous content types and formats
Players accessible on different devices..
Interoperability
O Back office computing for
Content Management Systems, Media Management Systems and Social
Networks, Content Delivering Network, etc...
reccomendations, suggestion, indexing, etc.
Similarity distance, ....
Crawling di dati e contenuti
Content processing
Content composition and formatting
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 136
137. Applicazioni AXMEDIS GRID, AXCP
O On-demand distribution:
Production on the basis of requests and profiling (user device,
network, etc.), etc.
Request depending adaptation and processing
O Multi-channel distribution
Differing receiving devices, Differing distribution modalities
Multiple interoperable DRMs, license chain processing
O Profile management and processing
user profile, network capabilites, device capability
deciding about content production and adapation
activites have to be done in real time for VOD,
production on demand, etc.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 137
138. Applicazioni AXCP GRID come piattaforma
O Monitoring:
Broadcast channels and networks,
Peer-To-Peer networks, Websites, etc.
streams of audio and/or video signals
Real time estimation of Fingerprint/watermark
Canali internet gateway, P2P, Broadcast
O query and indexing on distributed databases
decomposizione dello spazio di ricerca
O Definition of fault tolerant architectures for data and/or
processing GRID
Distributed computing and database
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 138
139. Distribution
Production & Front end
Distribution
back-office AXMEDIS
P
License
Server
Mobile AX_RuleG(..) L
Dir=ProfileProcessing(UID,DP,NP) AX Dist.
distribution, A=GetContent(db);
B.MP21_Package(A);
Service Content
Pinfo=MP21_RandDefinePinfo(); Acquisition
OMA and B.MP21_Protection(Pinfo);
C.ObjPublishing(Portal1);
& usage
OMA
MPEG-21 B.Adaptation(A, Dir);
OPinfo=OMA_RandDefinePinfo();
Content
E.OMA_DRMPackager(B, OPinfo);
Issuer
E.OMA_ObjPublishing(Portal2); Rights server
L
P
AXCP GRID
Scheduler Promotion Content
Portal Selection
AX_RuleL(..)
[UID,OID,
D=ProfileProcessing(UID,DP) DID, Const]
L.LicenseSet(UID,OID, DID, Const);
L.RelProduction();
L.RelPosting(ls1);
Selling
Portal
M.Rel_to_OMAdrmConversion(L, D);
M.ODRLPosting(ls2); Regist. Rights
Portal acquisition x
exploitation
Collection of Actions Logs Records
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 139
140. Controlled P2P Network
AXMEDIS Content
Processing Engines and
Scheduler GRIDs
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2011-2012 140