1 relatori: chiar.mo prof. giacomo piscitelli chiar.mo dott. marcello castellano laureando: livio...
TRANSCRIPT
1
Relatori:Chiar.mo Prof. Giacomo PiscitelliChiar.mo Dott. Marcello Castellano
Laureando:Livio Murianni
A.A. 2002/2003
Determinazione mediante Reti Neurali del profilo dell’Utente di una Computing Grid
POLITECNICO DI BARIFacoltà di Ingegneria
Corso di Laurea in Ingegneria Informatica
Tesi di Laurea in Sistemi Operativi
2
Obiettivo del lavoro di TesiObiettivo del lavoro di Tesi
Definire il modello comportamentale dell’utente di una Definire il modello comportamentale dell’utente di una griglia computazionale.griglia computazionale.
Griglia ComputazionaleGriglia Computazionale
Infrastruttura su larga scala il cui scopo è quello di coordinare l’uso di Risorse di calcolo affinché possibili utenti ne sfruttino le capacità aggregate.
3
Computing Grid vs Electrical Power GridComputing Grid vs Electrical Power Grid
Rete Elettrica: Griglia:
fornitura di energia senza interruzione.
fornitura di servizi computazionali e/o di memorizzazione senza interruzione attraverso l’uso di risorse fisiche (CPU, memoria ).
l’utente paga l’utilizzo dell’energia, senza interessarsi della sua provenienza.
l’utente paga per l’uso del servizio senza conoscere le modalità di erogazione del servizio.
1 di 2
Griglia: Infrastruttura fatta di servizi e protocolli Griglia: Infrastruttura fatta di servizi e protocolli capaci di fornire accesso condiviso e trasparente a capaci di fornire accesso condiviso e trasparente a
risorse distribuite.risorse distribuite.
4
La Griglia deve essere multi-purpose.Deve, pertanto, essere realizzata con moduli che possano essere
sostituiti o integrati con facilità.
Il componente di Griglia che soddisfa questa specifica è il Resource Management System.
Computing Grid vs Electrical Power GridComputing Grid vs Electrical Power Grid
2 di 2
La rete elettrica fornisce energia per soddisfare esigenze di tipo domestico, industriale e pubblico
La griglia deve soddisfare esigenze di:
Applicazioni con un forte grado di parallelismo ( es. simulazioni di fenomeni meteorologici);
Applicazioni Data-Intensive che utilizzano un’elevata mole di dati distribuiti.
5
Il Resource Management System ha il compito di gestire le risorse al fine di eseguire le applicazioni in modo efficiente.
Resource Management
System(RMS)
InformationServer(s)
(IS)Utenti
RISORSE
Affinché la Griglia sia multi-purpose è necessario che l’RMS si adatti alle esigenze degli utenti appartenenti ad
una stessa Virtual Organization (V.O).
6
Esempio di Griglia :Esempio di Griglia :
Progetto che vede il CERN partner principale. Sono in programma diversi esprimenti che utilizzeranno l’acceleratore LHC. È stimata una produzione di 109 eventi/anno
Modello dell’analisi dei Dati:
RAW (output rilevatori)
ESD (Event Summary
Data)
AOD (Analysis Object Data)
DPD (Derived Physics
Data) È conveniente ricorre al modello di analisi distribuito dei dati e ad una
organizzazione gerarchica delle risorse.
7
L’RMS di DataGrid è composto da diversi moduli, il più importante è il Resource Broker Resource Broker (R.B.).
Resource Resource BrokerBroker
assegna le risorse (Computing Element o CE) ai job. Per garantire l’adattabilità dell’RMS l’utente
ha la possibilità di modificare la strategia di selezione adottata dal Resource Broker.
L’ utente ha dei bisogni specifici ad es.
minimizzare il tempo di esecuzione del Job;
minimizzare il costo d’esecuzione del job.
L’utente determina:
requisiti di esecuzione;
Criteri di selezione.
Stato delle Risorse;
requisiti di esecuzione;
Criteri di selezione.
Resource Broker assegna i CE ai job In funzione:
DataGrid.DataGrid.
8
Utente
Mediante i requisiti (Requirements) specifica le caratteristiche che le risorse devono possedere senza le quali il Job non può essere eseguito ad esempio:
Il numero di CPU presenti;
Quantità minima di memoria;
La presenza di un determinata libreria.
Con i Criteri di selezione (Rank) e utilizzando informazioni aggiuntive stabilisce un ordinamento dei CE es.
Tempo d’attesa in coda (Queuing Time QT);
Accessibilità ai Dati (Closeness CL).
In questo modo è possibile definire una funzione costo o di Ranking es:
)min()( CLQTCEfc
DataGrid.DataGrid.
9
L’assegnazione delle Risorse in DataGrid avviene in due fasi:
DataGrid.DataGrid.
1)Il Resource Broker, utilizzando i Requirements, individua le risorse che sono in grado di eseguire il job.
c2CE2
c1CE1
cnCEn
RankRisorsa
2)Per ogni CE il R.B. misura i parametri di selezione, applica la funzione di Ranking e ottiene l’elenco ordinato dei CE
Il job è assegnato al CE che massimizza il Rank
CE2
CEj
CE1
CEn
JOB
R.B
10
Problematiche individuateProblematiche individuateMediante la definizione dei Requirements e Rank:
L’utente, in generale la V.O. di appartenenza, ha la possibilità di definire una strategia di selezione in funzione dei job da eseguire.
Per una corretta selezione delle Risorse l’utente deve :
Una conoscenza non approfondita di questi elementi causa una non efficiente selezione delle risorse caso
limite: totale inesperienza, scelta casuale del CE.
1)Conoscere le caratteristiche del Job per stimare, ad esempio, il tempo di completamento o l’utilizzo della memoria. L’utente, pertanto, deve essere esperto del dominio applicativo.
2)Conoscere i modelli delle risorse di griglia per sapere quali e quante informazioni dispone. L’utente, pertanto, deve essere esperto di Grid.
11
50 utenti di una V.O utilizzano la seguente funzione di Ranking:
).max(()1 ClockCPUFreqfc
Il R.B seleziona sempre CE1
Effetti dannosi: CE1 raggiunge il max numero di Job in coda; CE1 inizia a rifiutare i job (30 job non verranno eseguiti); CE2 rimane inutilizzato.
Problematiche individuate.Problematiche individuate.
Un esempio di utilizzo “non esperto” della Grid.Un esempio di utilizzo “non esperto” della Grid.
Risorse disponibili
Parametri CE1 CE2
Freq. Clock CPU [MHz]
1000 100
N° Job in attesa 20 0
Max N° job in attesa 40 50
12
))(max(()2 JobAttesaNJobAttesaMaxNPUFreqClockCfc
Problematiche individuate.Problematiche individuate.
Effetti positivi: CE1 non raggiunge il max numero di Job; Dopo 15 assegnazioni il R.B. inizia ad inviare i job a CE2; i job non vengono rifiutati e CE2 non rimane inutilizzato.
Un esempio di utilizzo “esperto” della Grid.Un esempio di utilizzo “esperto” della Grid.
50 utenti di una V.O utilizzano la seguente funzione di Ranking:
Risorse disponibili
Parametri CE1 CE2
Freq. Clock CPU [MHz] 1000 100
N° Job in attesa 20 0
Max N° job in attesa 40 50
Consideriamo le stesse risorse dell’esempio precedente
13
Obiettivo della TesiObiettivo della Tesi
Gli esempi precedenti dimostrano che è necessario realizzare un sistema software che, integrandosi con il R.B, conferisca alla Griglia la capacità di:
Caratteristiche del Job;
Stato delle Risorse;
Metriche opportune.
La valutazione della strategia di selezione deve essere fatta in base a:
1 di 2
Valutare la strategia di selezione proposta dall’utente non esperto;
Proporre una strategia alternativa;
Sostituire l’utente non esperto durante la selezione delle risorse.
14
Obiettivo della TesiObiettivo della Tesi
Come metriche è possibile utilizzare le strategie di selezione, di utenti esperti, che hanno dimostrato di
essere vantaggiose.
È necessario, pertanto, verificare se è possibile realizzare il modello dell’utente di Grid allo scopo di apprendere la
strategia che ha utilizzato.
2 di 2
Quali metriche utilizzare ?
15
Il modello dell’utenteIl modello dell’utente
Job (J),CE1,.....,CENCEx
Utente
Ipotizziamo di conoscere:
• Le caratteristiche del job da sottomettere;
• Lo stato delle risorse disponibili;
• Il risultato della scelta.
1 di 7
Caratteristiche del modello:
Adattabile: deve essere in grado di adattarsi ai diversi comportamenti senza che si renda necessaria la sostituzione di componenti software;
Scalabile: deve essere in grado di simulare il comportamento dell’utente indipendentemente dal numero di CE disponibili.
162 di 7
Dobbiamo utilizzare modelli di elaborazione che possono imparare a svolgere dei compiti senza bisogno di
essere programmati esplicitamente: Le Reti Neurali Artificiali.
Il modello dell’utenteIl modello dell’utente
Conoscendo, per ogni esempio, l’input e l’output
possiamo ricorrere all’apprendimento
supervisionato
È possibile utilizzare una Rete Neurali Feed Forward (NN_FF)
Per ogni esempio disponiamo unicamente dell’ input e dell’output del
sistema-utente.
In queste condizioni risulta particolarmente difficile risolvere
il problema in termini teorici
17
Esempio di modellazioneEsempio di modellazione
Ra
Rb
Vo Vi
Vogliamo realizzare il modello di una rete elettrica. Ipotesisappiamo che è costituita da 2 resistenze (rete lineare).
iba
a VRR
RV
0
Vo
Vi
Ipotizziamo ora di non disporre di alcuna informazione
Vo Vi L’unica cosa che possiamo fare è osservarne il comportamento. In
questo modo disponiamo di esempi con cui addestrare la NN_FF
ViVo
Vi1 Vo1
--- ---
ViN VoN
la NN_FF, se ben addestrata, fornisce uscite attendibili quando riceve ingressi che non ha mai osservato durante la
fase di addestramento (in questo esempio la NN_FF è in grado di simulare il comportamento della rete elettrica).
Vo
Vi
Retta di carico
Esempi
NN_FF
18
Le Reti Neurali Artificiali.Le Reti Neurali Artificiali.
Sono modelli computazionali costituiti da:
• elementi di elaborazioni elementari (neuroni);
• connessioni (sinapsi) che collegano i vari neuroni.
Caratteristiche delle Reti Neurali Feed Forward:
• I neuroni sono organizzati in livelli;
• I neuroni del primo livello (layer 1) costituiscono l’input dell’intero sistema di elaborazione;
• I neuroni del livello N (layer N) costituiscono l’output dell’intero sistema di elaborazione;
• Il generico neurone del livello i-esimo è connesso esclusivamente con i neuroni del livello precedente (i-1-esimo).
19
Modello del Neurone artificiale.Modello del Neurone artificiale.
•pi : output del neurone i-esimo del livello precedente
ingresso i-esimo del neurone;
•wi :peso (valore numerico) associato alla connessione
con il neurone i-esimo.
•Si considera, inoltre, un ingresso “fittizio” di valore costante 1 (bias) al quale si associa il peso b.
il modello del Neurone artificiale è costituito da due elementi:
• Il nodo sommatore, esegue la media pesata degli input (R numero di input);
•La funzione di attivazione . L’output del modello è il valore restituito dalla funzione.
R
iii pwn
1
)( bnfa
a parità di input, modificando il valore del bias, è possibile modificare l’output del neurone.
xexf
1
1)(
Generalmente, come funzione di attivazione, è utilizzata la funzione sigmoide.
20
Affinché la NN_FF apprenda il comportamento desiderato è necessario modificare i valori dei pesi associati alle connessioni:
Esempio:
Abbiamo a disposizione un solo neurone la cui funzione d’attivazione è f(x)=x (funzione identità).
I0
I1
w0
w1
1100 pwpwy
Per modificare il comportamento della NN_FF si utilizza l’algoritmo d’addestramento di Back propagation.
110 ww• se la NN_FF esegue la somma degli input.
10 w 11 w• se e la NN_FF fa la differenza degli input.
21
problema della determinazione del modello
dell’utente di Griglia
problema della determinazione della struttura
degli esempi
Per i vettori di Input e Output bisogna stabilire:
il numero di componenti;
il “significato” di ogni componente.3 di 7
Il modello dell’utenteIl modello dell’utente
Output
L’esempio d’addestramento è dato dal vettore di input e il
corrispondente vettore di output.
22
Sia S l’insieme delle risorse disponibili e CEU il CE selezionato.
icUcUi CEJfCEJfSCECE ,,:
Se gli elementi di S sono n possiamo creare n-1 coppie con cui addestrare la NN_FF:
0.9((J,CEi),(J,CEU))
0.1((J, CEU),(J,CEi))
OutputInput
È necessario che nel vettore di Input compaia CEU infatti: siano CEl e CEm
CE generici, non sappiamo se fc(J,CEl )< fc (J,CEm) non possiamo associare
a ((J,CEl ),(J,CEm)) 0.1 o 0.9.
4 di 7
Problema : non conosciamo i valori di ic CEJf ,
Ipotesi Fondamentale l’utente seleziona il CE che minimizza la funzione ic CEJf ,La Rete Neurale deve stimare la funzione
Il modello dell’utenteIl modello dell’utente
23
)),(),,(( ji CEJCEJgg La funzione che la NN_FF stima è:
y= fc(J,CEi)-fc(J,CEj)
g=0.9 se y>0
g=0.1 se y<0
5 di 7
Il modello dell’utenteIl modello dell’utente
In pratica la Rete Neurale deve comportarsi come un comparatoreIn pratica la Rete Neurale deve comportarsi come un comparatore
(rete neurale)
fc()
fc()
CEi
J
CEJ
-10 -8 -6 -4 -2 0 2 4 6 8 100
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Schema del funzionamento della NN_FF:
24
Start
CEsel=arCE[N]
J,CE1,CE2,….,CEN
for (i=1;iN;i++) arCE[i]=CEi
i=1
Input=(J,arCE[i],J,arCE[i+1])Output=NN_FF(Input)
D1=|Output-0.1|D2=|Output-0.9|
Temp=arCE[i]arCE[i]=arCE[i+1]arCE[i+1]=Temp
i++
D1<D2
End
i<N-1
SI
NO
NO
SI
6 di 7
La NN_FF è in grado di confrontare 2 CE: il caso generico
prevede il confronto di N CE.Per selezionare il CE è possibile utilizzare
l’algoritmo di Bubble Sort arrestato al 1° passo.
si memorizzano i CE in una struttura dati (array arCE);
si confronta il generico arCE[i] con l’elemento adiacente arCE[i+1] (1<i<N-1);
Si effettua lo scambio se la NN_FF seleziona arCE[i], in questo modo è possibile confrontare arCE[i] con gli elementi successivi;
Per determinare quale CE la NN_FF ha selezionato si confronta l’output (O_NN) con i valori previsti .
Se |O_NN-0.1|<| O_NN-0.9| la NN_FF ha selezionato arCE[i].
Se O_NN=0.5 |O_NN-0.1|=| O_NN-0.9| , l’output della NN_FF non è interpretabile.
Il modello dell’utenteIl modello dell’utente
25
Modello Proposto
Bubble Sort arrestato al primo passo
+
Effettua la selezione indipendentemente dal numero di CE
(scalabilità)
Rete Neurale
Rappresentazione sub-simbolica della
metrica fc(J,CE)
(adattabilità)
7 di 7
Il modello dell’utenteIl modello dell’utente
26
Misure e risultati sperimentaliMisure e risultati sperimentali
Valutare le prestazioni della Rete Neurale addestrata. Valutare le prestazioni complessive del modello dell’utente.
MCT: seleziona il CE che minimizza il tempo di completamento del Job. MET: seleziona il CE che minimizza il tempo di esecuzione del Job. OLB: seleziona il CE che minimizza il tempo di attesa in coda del Job.
Per simulare il comportamento dell’utente esperto sono stati utilizzati 3 algoritmi di schedulazione:
CE’: CE selezionato dal modello proposto;
CE* :CE selezionato dall’utente simulato;
CEMax : CE che massimizza fc(J,CEx).
Metrica per la misura delle prestazioni del modello:
*),(),(
*),(),( '
CEJfCEJf
CEJfCEJfe
cMAXc
cc
Dove:
1 di 6
27
Parametri Addestramento Rete:
Insieme Numero Esempi Numero Coppie
Training 250 2000
Validation 250 2000
Test 1000 8000
[SpecInt95*s]Computational weight
Parametro Job
[s]Queuing mean time
[]Total Jobs
[SpecInt95]Average SpecInt95
Modello CE
Modello CE e Modello Job:
La Griglia è stata simulata con 9 CE.
Misure e risultati sperimentaliMisure e risultati sperimentali
2 di 6
28
Addestramento e Validazione NN_FF:
Utente esperto simulato con:
ciclo
fine Addestramento
Errore Quadratico
medio
Training Validation
MCT 18 5.96E-3 1.30E-2
MET 22 3.26E-3 7.83E-3
OLB 44 5.79E-5 8.51E-4
Verifica addestramento NN_FF:
Utente esperto simulato con:
Errore Testing
Valore medio (assoluto)
Standard deviation
MCT 1.83E-3 1.81E-1
MET 2.68E-3 1.05E-1
OLB 3.93E-4 3.86E-2
Errore medio max(2.68E-3)<<0.4
Output non interpretabile della NN_FF 0.5
Errore critico (assoluto) 0.4
L’output della NN_FF è sempre interpretabile
Misure e risultati sperimentaliMisure e risultati sperimentali
3 di 6
29
Utente simulato con MCT.
Utente simulato con MET.
Misure e risultati sperimentaliMisure e risultati sperimentali
4 di 6
30
valutazione complessiva del modello dell’utente .
Utente esperto simulato con:
Parametri simulazioniErrore medio
(valore assoluto)Numero CE
Numero esempi
MCT 10
1000
8.22E-3
MCT 15 2.08E-3
MCT 20 3.56E-3
MET 10 3.42E-3
MET 15 1.95E-3
MET 20 1.69E-3
L’errore del modello è dovuto a:
1. Una non perfetta stima della metrica fc() ;
2. Allo stato dei CE disponibili;
Misure e risultati sperimentaliMisure e risultati sperimentali
5 di 6
31
Valutazione complessiva del modello dell’utente.La griglia è stata simulata con 20 CE
Utente simulato con l’algoritmo MCT.
Misure e risultati sperimentaliMisure e risultati sperimentali
6 di 6
Utente simulato con l’algoritmo MET.
32
Architettura del SimulatoreArchitettura del Simulatore
Utente_Griglia
TipoComportamento JobCW setComportamentoUtente() SimulaSelezioneCE() MCT() MET() OLB()
Griglia NumeroCE
StatoCEs getStatoGriglia()
Gestore_Simulazioni vlInizializzaGrigliaJobCW NomeSimulazione TipoSimulazione
DeterminaNumeroIngressiNN() IniziaSimulazione() VisualizzaOutput() ApplicaMetrica() CreaFiles()
Simula_NeuralSlSr TipoComportamentoSistema setTipocomportamentoSistema() SimulaSistema() SelezionaCE() OrdinaCE()
Rete_Neurale MatriceSinapticaOutput MatriceSinaptica1Lvl NumeroNeuroni1Lvl NumeroEpoche NumeroIngressi vlInizializzaRete ErroreMinimo Passo
BackPropagation() InizializzaRete()
AddestraValidaRete()
CalcolaUscita() VerificaRete()
Seleziona da 1
Memorizza
1
Valuta prestazioni 1
Valuta apprendimento 1
clInsiemeEsempi NumeroCEesempio NumeroEsempi CreaEsempio() getEsempio()
3..*
Utilizza
1
Apprende da 1
Simula
1 InsiemeEsempi
CL. Griglia; CL. Utente_Griglia ; CL. Rete_Neurale; CL. Simula_NeuralSlSr; CL. Gestore_Simulazioni; CL. clInsiemeEsempi.
1 di 2
33
Architettura del SimulatoreArchitettura del Simulatore
2 di 2
34
ConclusioniConclusioni
Lo studio condotto ha dimostrato che:
Sviluppi futuriSviluppi futuri
È possibile realizzare il modello dell’utente di Grid. mediante l’osservazione di esempi di selezione delle risorse;
Le informazioni riguardano unicamente la stato delle risorse (CE) disponibili;
Il modello è realizzato mediante l’uso combinato di una NN_FF e dell’algoritmo Bubble Sort arrestato al primo passo;
L’adattabilità è garantita dalla rete neurale; La scalabilità è garantita dall’algoritmo Bubble Sort;
È necessario condurre ulteriori sperimentazioni utilizzando modelli dei CE e dei Job più complessi;
È necessario verificare la disponibilità di esempi di selezione di utenti reali.