La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

POLITECNICO DI BARI Facoltà di Ingegneria

Presentazioni simili


Presentazione sul tema: "POLITECNICO DI BARI Facoltà di Ingegneria"— Transcript della presentazione:

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 Computing Grid vs Electrical Power Grid
Rete Elettrica: Griglia: 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. Griglia: Infrastruttura fatta di servizi e protocolli capaci di fornire accesso condiviso e trasparente a risorse distribuite. 1 di 2

4 La Griglia deve essere multi-purpose.
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
Il Resource Management System ha il compito di gestire le risorse al fine di eseguire le applicazioni in modo efficiente. Utenti RISORSE Resource Management System (RMS) Information Server(s) (IS) 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 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 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.

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 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. JOB R.B 2)Per ogni CE il R.B. misura i parametri di selezione, applica la funzione di Ranking e ottiene l’elenco ordinato dei CE CE2 CEj CEn CE1 c2 CE2 c1 CE1 cn CEn Rank Risorsa Il job è assegnato al CE che massimizza il Rank DataGrid.

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

11 Problematiche individuate.
Un esempio di utilizzo “non esperto” della Grid. Risorse disponibili Parametri CE1 CE2 Freq. Clock CPU [MHz] 1000 100 N° Job in attesa 20 Max N° job in attesa 40 50 50 utenti di una V.O utilizzano la seguente funzione di Ranking: 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.

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 Risorse disponibili Parametri CE1 CE2 Freq. Clock CPU [MHz] 1000 100 N° Job in attesa 20 Max N° job in attesa 40 50 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 Valutare la strategia di selezione proposta dall’utente non esperto;
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. Caratteristiche del Job; Stato delle Risorse; Metriche opportune. La valutazione della strategia di selezione deve essere fatta in base a: 1 di 2

14 Quali metriche utilizzare ?
Obiettivo della Tesi Quali metriche utilizzare ? 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

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

16 È possibile utilizzare una Rete Neurali Feed Forward (NN_FF)
Il modello dell’utente 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 Conoscendo, per ogni esempio, l’input e l’output possiamo ricorrere all’apprendimento supervisionato È possibile utilizzare una Rete Neurali Feed Forward (NN_FF) Dobbiamo utilizzare modelli di elaborazione che possono imparare a svolgere dei compiti senza bisogno di essere programmati esplicitamente: Le Reti Neurali Artificiali. 2 di 7

17 Esempio di modellazione
Vogliamo realizzare il modello di una rete elettrica Ipotesisappiamo che è costituita da 2 resistenze (rete lineare). Vo Vi Ra Rb Vo Vi Ipotizziamo ora di non disporre di alcuna informazione Vi Vo Vi1 Vo1 --- ViN VoN Vo Vi 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
Problema : non conosciamo i valori di Ipotesi Fondamentale l’utente seleziona il CE che minimizza la funzione La Rete Neurale deve stimare la funzione Sia S l’insieme delle risorse disponibili e CEU il CE selezionato. 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)) Output Input È 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

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

24 Il modello dell’utente
Start CEsel=arCE[N] 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) 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 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. 6 di 7

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

26 Misure 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: Metrica per la misura delle prestazioni del modello: Dove: CE’: CE selezionato dal modello proposto; CE* :CE selezionato dall’utente simulato; CEMax : CE che massimizza fc(J,CEx). 1 di 6

27 Misure e risultati sperimentali
[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. Parametri Addestramento Rete: Insieme Numero Esempi Numero Coppie Training 250 2000 Validation Test 1000 8000 2 di 6

28 Misure e risultati sperimentali
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 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 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 3 di 6

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

30 valutazione complessiva del modello dell’utente .
Misure e risultati sperimentali valutazione complessiva del modello dell’utente . Utente esperto simulato con: Parametri simulazioni Errore medio (valore assoluto) Numero CE Numero esempi MCT 10 1000 8.22E-3 15 2.08E-3 20 3.56E-3 MET 3.42E-3 1.95E-3 1.69E-3 L’errore del modello è dovuto a: Una non perfetta stima della metrica fc() ; Allo stato dei CE disponibili; 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 Conclusioni Sviluppi futuri Lo studio condotto ha dimostrato che:
È 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; Sviluppi futuri È necessario condurre ulteriori sperimentazioni utilizzando modelli dei CE e dei Job più complessi; È necessario verificare la disponibilità di esempi di selezione di utenti reali.


Scaricare ppt "POLITECNICO DI BARI Facoltà di Ingegneria"

Presentazioni simili


Annunci Google