PRESENTAZIONE | SPECIFICHE | BILANCIAMENTO DEL CARICO | TOLLERANZA AI GUASTI | ANALISI DELLE PRESTAZIONI| METODO DI CALCOLO | CONCLUSIONI


DFG - Test 3

Questo test permette di valutare il costo determinato dall'aver inserito nel sistema una forma di fault-tolerance che pemette di ottenere sempre un risultato anche in presenza di guasti agli host DFGSlave. In particolare, lo scopo di questo test è fornire una misura dell'overhead dovuto ad una ridistribuzione di carico seguita alla caduta di uno o più slaves.

Osservazione: se uno slave cade durante il calcolo, il lavoro che aveva svolto fino al momento del guasto viene perso e deve essere ripetuto dagli altri slaves. Visto che ciò che interessa è misurare l'overhead introdotto da una ridistribuzione di carico, è necessario mantenere distinto questo valore dal tempo "perso" dallo slave guasto a calcolare una porzione di immagine che alla fine non viene utilizzata e deve essere ricalcolata.

Si è quindi pensato di eseguire il test come segue: si è inserito nella Tabella mantenuta da DFGServer un numero di slaves superiore a quello realmente disponibile. In questo modo, all'atto di una nuova richiesta, DFGServer è stato costretto ad effettuare immediatamente una o più ridistribuzioni di carico. La descrizione dei passi eseguiti per effettuare il test è riportata di seguito:

Come valori di riferimento si sono ovviamente utilizzati i tempi di completamento ottenuti con un pari numero di slaves a disposizione in una situazione senza guasti (vedere test 1): due slaves per VALORE A e uno slave per VALORE B.
 
 
 
Tabella 1

L'overhead introdotto è abbastanza modesto. Si consideri però il fatto che il test è stato effettuato senza che fossero in corso altri calcoli, vale a dire nelle condizioni più favorevoli possibili.

Osservazione: In una situazione senza guasti, ogni slave utilizza un solo thread per svolgere il calcolo che gli è stato assegnato e al termine del calcolo spedisce il risultato corrispondente a DFGServer. Il tempo di servizio di uno slave è quindi dato dalla somma tra il tempo di calcolo e il tempo di trasmissione del risultatato (che nei nostri test non è mai stato preso in considerazione perchè è molto piccolo rispetto al tempo di calcolo). Nel caso di una ridistribuzione di carico, invece, ogni slave rimasto attivo si trova a calcolare più di una porzione dell'immagine richiesta, e lo fa utilizzando thread distinti. Al termine del calcolo di ciascuna porzione, la spedisce a DFGServer. Durante questa spedizione, però, il calcolo relativo alle altre porzioni dell'immagine continuano e quindi il tempo di trasmissione del risultato è in definitiva limitato all'ultima porzione di immagine trasmessa a DFGServer. In questo senso, si può dire che l'overhead di una ridistribuzione sia parzialmente compensato da una maggiore efficienza nella restituzione del risultato.

Il test è stato eseguito in LAB2 sulle macchine lia (si sono utilizzate quattro sparcstation5, tutte inizializzate ad uno stesso valore di carico e sulle quali era attivo solamente il programma DFG) , cercando di eliminare possibili fattori esterni che potessero influenzare i risultati del test. Il test è stato ripetuto varie volte e i valori riportati nella tabella sono valori medi.


PRESENTAZIONE | SPECIFICHE | BILANCIAMENTO DEL CARICO | TOLLERANZA AI GUASTI | ANALISI DELLE PRESTAZIONI| METODO DI CALCOLO | CONCLUSIONI