1 / 34

Relatori: Chiar.mo Prof. Giacomo Piscitelli Chiar.mo Dott. Marcello Castellano Laureando:

POLITECNICO DI BARI Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea in Sistemi Operativi. Determinazione mediante Reti Neurali del profilo dell’Utente di una Computing Grid. Relatori: Chiar.mo Prof. Giacomo Piscitelli Chiar.mo Dott. Marcello Castellano

ona
Download Presentation

Relatori: Chiar.mo Prof. Giacomo Piscitelli Chiar.mo Dott. Marcello Castellano Laureando:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. POLITECNICO DI BARI Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea in Sistemi Operativi Determinazione mediante Reti Neurali del profilo dell’Utente di una Computing Grid Relatori: Chiar.mo Prof. Giacomo Piscitelli Chiar.mo Dott. Marcello Castellano Laureando: Livio Murianni A.A. 2002/2003

  2. Obiettivo del lavoro di Tesi Definire il modello comportamentale dell’utente di una griglia computazionale. Griglia 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. Rete Elettrica: Griglia: Griglia: Infrastruttura fatta di servizi e protocolli capaci di fornire accesso condiviso e trasparente a risorse distribuite. Computing Grid vs Electrical Power Grid fornitura di servizi computazionali e/o di memorizzazione senza interruzione attraverso l’uso di risorse fisiche (CPU, memoria ). fornitura di energia senza interruzione. 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

  4. Computing Grid vs Electrical Power Grid • 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. La rete elettrica fornisce energia per soddisfare esigenze di tipo domestico, industriale e pubblico 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. 2 di 2

  5. Resource Management System (RMS) Information Server(s) (IS) Utenti RISORSE Il Resource Management System ha il compito di gestire le risorse al fine di eseguire le applicazioni in modo efficiente. 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 : 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’ 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: L’RMS di DataGrid è composto da diversi moduli, il più importante è il Resource Broker (R.B.). 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. Resource Broker DataGrid.

  8. 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. Utente • 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: DataGrid.

  9. CEn CE1 CEj CE2 L’assegnazione delle Risorse in DataGrid avviene in due fasi: 1)Il Resource Broker, utilizzando i Requirements, individua le risorse che sono in grado di eseguire il job. R.B JOB Risorsa Rank CEn cn 2)Per ogni CE il R.B. misura i parametri di selezione, applica la funzione di Ranking e ottiene l’elenco ordinato dei CE CE1 c1 Il job è assegnato al CE che massimizza il Rank CE2 c2 DataGrid.

  10. 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. Mediante 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 : Problematiche individuate Una conoscenza non approfondita di questi elementi causa una non efficiente selezione delle risorse  caso limite: totale inesperienza, scelta casuale del CE.

  11. Un esempio di utilizzo “non esperto” della Grid. 50 utenti di una V.O utilizzano la seguente funzione di Ranking: Problematiche individuate. 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.

  12. Un esempio di utilizzo “esperto” della Grid. 50 utenti di una V.O utilizzano la seguente funzione di Ranking: Consideriamo le stesse risorse dell’esempio precedente 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. Problematiche individuate.

  13. Caratteristiche del Job; • Stato delle Risorse; • Metriche opportune. La valutazione della strategia di selezione deve essere fatta in base a: 1 di 2 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: • 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. Quali metriche utilizzare ? È necessario, pertanto, verificare se è possibile realizzare il modello dell’utente di Grid allo scopo di apprendere la strategia che ha utilizzato. Obiettivo della Tesi Come metriche è possibile utilizzare le strategie di selezione, di utenti esperti, che hanno dimostrato di essere vantaggiose. 2 di 2

  15. Utente 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. Il modello dell’utente • Ipotizziamo di conoscere: • Le caratteristiche del job da sottomettere; • Lo stato delle risorse disponibili; • Il risultato della scelta. CEx Job (J),CE1,.....,CEN 1 di 7

  16. Il modello dell’utente In queste condizioni risulta particolarmente difficile risolvere il problema in termini teorici Per ogni esempio disponiamo unicamente dell’ input e dell’output del sistema-utente. Conoscendo, per ogni esempio, l’input e l’output possiamo ricorrere all’apprendimento supervisionato Dobbiamo utilizzare modelli di elaborazione che possono imparare a svolgere dei compiti senza bisogno di essere programmati esplicitamente: Le Reti Neurali Artificiali. È possibile utilizzare una Rete Neurali Feed Forward (NN_FF) 2 di 7

  17. Esempio di modellazione Rb Vo Vi Vo Ra Vi Vi Vo Vogliamo realizzare il modello di una rete elettrica. Ipotesisappiamo che è costituita da 2 resistenze (rete lineare). Ipotizziamo ora di non disporre di alcuna informazione L’unica cosa che possiamo fare è osservarne il comportamento. In questo modo disponiamo di esempi con cui addestrare la NN_FF Retta di carico 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 Esempi NN_FF Vi

  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 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. • 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. a parità di input, modificando il valore del bias, è possibile modificare l’output 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 d’attivazione è f(x)=x (funzione identità). I0 w0 I1 w1 • se la NN_FF esegue la somma degli input. • se e la NN_FF fa la differenza degli input. Per modificare il comportamento della NN_FF si utilizza l’algoritmo d’addestramento di Back propagation.

  21. Il modello dell’utente problema della determinazione del modello dell’utente di Griglia problema della determinazione della struttura degli esempi Output L’esempio d’addestramento è dato dal vettore di input e il corrispondente vettore di output. • Per i vettori di Input e Output bisogna stabilire: • il numero di componenti; • il “significato” di ogni componente. 3 di 7

  22. Il modello dell’utente Ipotesi Fondamentale l’utente seleziona il CE che minimizza la funzione La Rete Neurale deve stimare la funzione Problema : non conosciamo i valori di Input Output Se gli elementi di S sonon possiamo creare n-1 coppie con cui addestrare la NN_FF: ((J, CEU),(J,CEi)) 0.1 ((J,CEi),(J,CEU)) 0.9 È 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. Sia S l’insieme delle risorse disponibili e CEU il CE selezionato. 4 di 7

  23. Il modello dell’utente Schema del funzionamento della NN_FF: CEi fc() J fc() CEJ (rete neurale) 5 di 7 y=fc(J,CEi)-fc(J,CEj) La funzione che la NN_FF stima è: g=0.1se y<0 g=0.9sey>0 In pratica la Rete Neurale deve comportarsi come un comparatore

  24. Il modello dell’utente La NN_FF è in grado di confrontare 2 CE: il caso generico prevede il confronto di N CE. Start J,CE1,CE2,….,CEN for (i=1;i£N;i++) arCE[i]=CEi i=1 Input=(J,arCE[i],J,arCE[i+1]) Output=NN_FF(Input) i++ D1=|Output-0.1| D2=|Output-0.9| NO D1<D2 SI Temp=arCE[i] arCE[i]=arCE[i+1] arCE[i+1]=Temp SI i<N-1 NO CEsel=arCE[N] End 6 di 7 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.

  25. Il modello dell’utente Modello Proposto Rappresentazione sub-simbolica della metrica fc(J,CE) (adattabilità) Rete Neurale Bubble Sort arrestato al primo passo + Effettua la selezione indipendentemente dal numero di CE (scalabilità) 7 di 7

  26. Per simulare il comportamento dell’utente esperto sono stati utilizzati 3 algoritmi di schedulazione: • 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. Metrica per la misura delle prestazioni del modello: Dove: Misure e risultati sperimentali • Valutare le prestazioni della Rete Neurale addestrata. • Valutare le prestazioni complessive del modello dell’utente. • CE’: CE selezionato dal modello proposto; • CE* :CE selezionato dall’utente simulato; • CEMax : CE che massimizza fc(J,CEx). 1 di 6

  27. Modello CE e Modello Job: Modello CE Average SpecInt95 [SpecInt95] Total Jobs [] Queuing mean time [s] Parametro Job Computational weight [SpecInt95*s] La Griglia è stata simulata con 9 CE. Misure e risultati sperimentali 2 di 6

  28. Output non interpretabile della NN_FF 0.5 Errore critico (assoluto) 0.4 Errore medio max(2.68E-3)<<0.4 L’output della NN_FF è sempre interpretabile Misure e risultati sperimentali 3 di 6

  29. Misure e risultati sperimentali Utente simulato con MCT. Utente simulato con MET. 4 di 6

  30. Misure e risultati sperimentali • L’errore del modello è dovuto a: • Una non perfetta stima della metrica fc() ; • Allo stato dei CE disponibili; valutazione complessiva del modello dell’utente . 5 di 6

  31. Misure e risultati sperimentali Valutazione complessiva del modello dell’utente.La griglia è stata simulata con 20 CE Utente simulato con l’algoritmo MCT. Utente simulato con l’algoritmo MET. 6 di 6

  32. Architettura del Simulatore • CL. Griglia; • CL. Utente_Griglia ; • CL. Rete_Neurale; • CL. Simula_NeuralSlSr; • CL. Gestore_Simulazioni; • CL. clInsiemeEsempi. 1 di 2

  33. Architettura del Simulatore 2 di 2

  34. È 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. Conclusioni Lo studio condotto ha dimostrato che: Sviluppi futuri

More Related