1 Relatori: Chiar.mo Prof. Giacomo Piscitelli Chiar.mo Dott. Marcello Castellano Laureando: Livio Murianni A.A. 2002/2003 Determinazione mediante Reti Neurali del profilo dellUtente di una Computing Grid POLITECNICO DI BARI Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea in Sistemi Operativi
2 Obiettivo del lavoro di Tesi Definire il modello comportamentale dellutente di una griglia computazionale. Griglia Computazionale Infrastruttura su larga scala il cui scopo è quello di coordinare luso di Risorse di calcolo affinché possibili utenti ne sfruttino le capacità aggregate.
3 Computing Grid vs Electrical Power Grid Rete Elettrica:Griglia: fornitura di energia senza interruzione. fornitura di servizi computazionali e/o di memorizzazione senza interruzione attraverso luso di risorse fisiche (CPU, memoria ). lutente paga lutilizzo dellenergia, senza interessarsi della sua provenienza. lutente paga per luso del servizio senza conoscere le modalità di erogazione del servizio. 1 di 2 Griglia: Infrastruttura fatta di servizi e protocolli capaci di fornire accesso condiviso e trasparente a 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 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 unelevata 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) Information Server(s) (IS) Utenti RISORSE Affinché la Griglia sia multi-purpose è necessario che lRMS si adatti alle esigenze degli utenti appartenenti ad una stessa Virtual Organization (V.O).
6 Esempio di Griglia : Progetto che vede il CERN partner principale. Sono in programma diversi esprimenti che utilizzeranno lacceleratore LHC. È stimata una produzione di 10 9 eventi/anno Modello dellanalisi 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 Resource Broker LRMS di DataGrid è composto da diversi moduli, il più importante è il Resource Broker (R.B.). ResourceBroker assegna le risorse (Computing Element o CE) ai job. Per garantire ladattabilità dellRMS lutente 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 desecuzione del job. Lutente 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.
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 dattesa in coda (Queuing Time QT); Accessibilità ai Dati (Closeness CL). In questo modo è possibile definire una funzione costo o di Ranking es: DataGrid.
9 Lassegnazione delle Risorse in DataGrid avviene in due fasi:DataGrid. 1)Il Resource Broker, utilizzando i Requirements, individua le risorse che sono in grado di eseguire il job. c2c2 CE 2 c1c1 CE 1 cncn CE n RankRisorsa 2)Per ogni CE il R.B. misura i parametri di selezione, applica la funzione di Ranking e ottiene lelenco ordinato dei CE Il job è assegnato al CE che massimizza il Rank CE 2 CE j CE 1 CE n JOB R.B
10 Problematiche individuate Mediante la definizione dei Requirements e Rank: Lutente, 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 lutente 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 lutilizzo della memoria. Lutente, pertanto, deve essere esperto del dominio applicativo. 2)Conoscere i modelli delle risorse di griglia per sapere quali e quante informazioni dispone. Lutente, pertanto, deve essere esperto di Grid.
11 50 utenti di una V.O utilizzano la seguente funzione di Ranking: Il R.B seleziona sempre CE 1 Effetti dannosi: CE 1 raggiunge il max numero di Job in coda; CE 1 inizia a rifiutare i job (30 job non verranno eseguiti); CE 2 rimane inutilizzato. Problematiche individuate. Un esempio di utilizzo non esperto della Grid. Risorse disponibili Parametri CE 1 CE 2 Freq. Clock CPU [MHz] N° Job in attesa200 Max N° job in attesa4050
12 Problematiche individuate. Effetti positivi: CE 1 non raggiunge il max numero di Job; Dopo 15 assegnazioni il R.B. inizia ad inviare i job a CE 2 ; i job non vengono rifiutati e CE 2 non rimane inutilizzato. Un esempio di utilizzo esperto della Grid. 50 utenti di una V.O utilizzano la seguente funzione di Ranking: Risorse disponibili Parametri CE 1 CE 2 Freq. Clock CPU [MHz] N° Job in attesa200 Max N° job in attesa4050 Consideriamo le stesse risorse dellesempio precedente
13 Obiettivo 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 dallutente non esperto; Proporre una strategia alternativa; Sostituire lutente non esperto durante la selezione delle risorse.
14 Obiettivo 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 dellutente di Grid allo scopo di apprendere la strategia che ha utilizzato. 2 di 2 Quali metriche utilizzare ?
15 Il modello dellutente Job (J),CE 1,.....,CE N CE x 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 dellutente indipendentemente dal numero di CE disponibili.
16 2 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 dellutente Conoscendo, per ogni esempio, linput e loutput possiamo ricorrere allapprendimento supervisionato È possibile utilizzare una Rete Neurali Feed Forward (NN_FF) Per ogni esempio disponiamo unicamente dell input e delloutput del sistema-utente. In queste condizioni risulta particolarmente difficile risolvere il problema in termini teorici
17 Esempio di modellazione RaRa RbRb VoVo ViVi Vogliamo realizzare il modello di una rete elettrica. Ipotesi sappiamo che è costituita da 2 resistenze (rete lineare). VoVo ViVi Ipotizziamo ora di non disporre di alcuna informazione VoVo ViVi Lunica cosa che possiamo fare è osservarne il comportamento. In questo modo disponiamo di esempi con cui addestrare la NN_FF ViVi VoVo V i1 V o1 --- V iN V oN 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). VoVo V i Retta di carico Esempi NN_FF
18 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 linput dellintero sistema di elaborazione; I neuroni del livello N (layer N) costituiscono loutput dellintero 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. p i : output del neurone i-esimo del livello precedente ingresso i-esimo del neurone; w i :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. Loutput del modello è il valore restituito dalla funzione. a parità di input, modificando il valore del bias, è possibile modificare loutput del neurone. 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 dattivazione è f(x)=x (funzione identità). I0I0 I1I1 w0w0 w1w1 Per modificare il comportamento della NN_FF si utilizza lalgoritmo daddestramento di Back propagation. sela NN_FF esegue la somma degli input. se e la NN_FF fa la differenza degli input.
21 problema della determinazione del modello dellutente 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 dellutente Output Lesempio daddestramento è dato dal vettore di input e il corrispondente vettore di output.
22 Sia S linsieme delle risorse disponibili e CE U il CE selezionato. Se gli elementi di S sono n possiamo creare n-1 coppie con cui addestrare la NN_FF: 0.9 ((J,CE i ),(J,CE U )) 0.1 ((J, CE U ),(J,CE i )) OutputInput È necessario che nel vettore di Input compaia CE U infatti: siano CE l e CE m CE generici, non sappiamo se f c (J,CE l )< f c (J,CE m ) non possiamo associare a ((J,CE l ),(J,CE m )) 0.1 o di 7 Problema : non conosciamo i valori di Ipotesi Fondamentale lutente seleziona il CE che minimizza la funzione La Rete Neurale deve stimare la funzione Il modello dellutente Con i valori di output 0.1 e 0.9 eliminiamo il problema degli asintoti.
23 La funzione che la NN_FF stima è: y= f c (J,CE i )-f c (J,CE j ) g=0.9 se y>0 g=0.1 se y<0 5 di 7 Il modello dellutente In pratica la Rete Neurale deve comportarsi come un comparatore (rete neurale) f c () CE i J CE J Schema del funzionamento della NN_FF:
24 Start CE sel =arCE[N] J,CE 1,CE 2,….,CE N for (i=1;iN;i++) arCE[i]=CE i i=1 Input=(J,arCE[i],J,arCE[i+1]) Output=NN_FF(Input) D 1 =|Output-0.1| D 2 =|Output-0.9| Temp=arCE[i] arCE[i]=arCE[i+1] arCE[i+1]=Temp i++ D 1 <D 2 End i<N-1 SI 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 lalgoritmo di Bubble Sort arrestato al 1° passo. si memorizzano i CE in una struttura dati (array arCE); si confronta il generico arCE[i] con lelemento 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 loutput (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|, loutput della NN_FF non è interpretabile. Il modello dellutente
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 f c (J,CE) (adattabilità) 7 di 7 Il modello dellutente
26 Misure e risultati sperimentali Valutare le prestazioni della Rete Neurale addestrata. Valutare le prestazioni complessive del modello dellutente. 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 dellutente esperto sono stati utilizzati 3 algoritmi di schedulazione: CE : CE selezionato dal modello proposto; CE * :CE selezionato dallutente simulato; CE Max : CE che massimizza f c (J,CE x ). Metrica per la misura delle prestazioni del modello: Dove: 1 di 6
27 [SpecInt95*s] Computational weight Parametro Job [s]Queuing mean time []Total Jobs [SpecInt95]Average SpecInt95 Modello CE Modello CE e Modello Job: Misure e risultati sperimentali 2 di 6 Calcoliamo la potenza disponibile per il Job MCT (minimum completion time) MET (minimum execution time) OLB (opportunistic load balance)
Test Validation Training Numero CoppieNumero EsempiInsieme Parametri Addestramento Rete: La Griglia è stata simulata con 9 CE. Misure e risultati sperimentali
29 Addestramento e Validazione NN_FF: Utente esperto simulato con: ciclo fine Addestramento Errore Quadratico medio TrainingValidation MCT185.96E-31.30E-2 MET223.26E-37.83E-3 OLB445.79E-58.51E-4 Verifica addestramento NN_FF: Utente esperto simulato con: Errore Testing Valore medio (assoluto) Standard deviation MCT1.83E-31.81E-1 MET2.68E-31.05E-1 OLB3.93E-43.86E-2 Errore medio max(2.68E-3)<<0.4 Output non interpretabile della NN_FF 0.5 Errore critico (assoluto) 0.4 Loutput della NN_FF è sempre interpretabile Misure e risultati sperimentali 3 di 6
30 Utente simulato con MCT. Utente simulato con MET. Misure e risultati sperimentali 4 di 6
31 valutazione complessiva del modello dellutente. Utente esperto simulato con: Parametri simulazioni Errore medio (valore assoluto) Numero CE Numero esempi MCT E-3 MCT152.08E-3 MCT203.56E-3 MET103.42E-3 MET151.95E-3 MET201.69E-3 Lerrore del modello è dovuto a: 1.Una non perfetta stima della metrica f c () ; 2.Allo stato dei CE disponibili; Misure e risultati sperimentali 5 di 6
32 Valutazione complessiva del modello dellutente. La griglia è stata simulata con 20 CE Utente simulato con lalgoritmo MCT. Misure e risultati sperimentali 6 di 6 Utente simulato con lalgoritmo MET.
33 Architettura del Simulatore CL. Griglia; CL. Utente_Griglia ; CL. Rete_Neurale; CL. Simula_NeuralSlSr; CL. Gestore_Simulazioni; CL. clInsiemeEsempi. 1 di 2
34 Architettura del Simulatore 2 di 2
35Conclusioni Lo studio condotto ha dimostrato che: Sviluppi futuri È possibile realizzare il modello dellutente di Grid. mediante losservazione di esempi di selezione delle risorse; Le informazioni riguardano unicamente la stato delle risorse (CE) disponibili; Il modello è realizzato mediante luso combinato di una NN_FF e dellalgoritmo Bubble Sort arrestato al primo passo; Ladattabilità è garantita dalla rete neurale; La scalabilità è garantita dallalgoritmo 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.
36 Algoritmo di Back Propagation Lalgoritmo Back-propagation, per modificare i pesi associati alle connessioni, utilizza una tecnica di ricerca basata sul gradiente che minimizza la funzione: P :numero di esempi; t p :output desiderato; o p :output misurato; Il valore del singolo peso viene modificato secondo la seguente formula: Regola del gradiente:
37 E A Il valore di W ij corrispondente al minimo di questa curva (punto A) é il valore ottimale che cerchiamo la forma della funzione d'errore del peso dipende da tutti gli altri pesi della rete e dato che tale forma cambia da un ciclo di apprendimento all'altro, ad ogni ciclo si avrà a che fare con funzioni di errore sempre diverse. B Partendo da B (pendenza positiva) C Partendo da C (pendenza negativa) In A la pendenza è nulla Utilizzando la tecnica del gradiente, però, è possibile cadere in qualsiasi punto a pendenza nulla (max relativo o assoluto, min relativo) in queste situazioni è utile, ad esempio, modificare la costante di apprendimento o utilizzare, se possibile, altri esempi La velocità con cui la rete apprende dipende dalla costante