Newsgroup: it.scienza.informatica
Titolo: Valutazione algoritmo parallelo...

Salve a tutti,
   sto realizzando una valutazione di una libreria Java che sto utilizzando
in maniera distribuita. Il problema è che non riesco a valutare le
prestazioni. Cerco di spiegarmi. Allora, io dovrei confrontare (per trovare
sppedup efficienza e i compagni di briscolone) il tempo di esecuzione su
dell'algoritmo su un processore con quello su N processori. Il problema è
che le dimensioni delle matrici (perchè di queste mi interesso) sono
dell'ordine di 6000-10000. 
Ora su di una macchina tali oggetti non sono gestibili.... come faccio a
calcolare speedup ed efficienza? forse essendo interessato alla
parallelizzazione dei dati serve vedere altri indicatori (nel qual caso se
qualcuno mi sapesse dare una dritta su dove sbattere la testa.... ;-))?
Buona giornata e grazie a tutti,
   Andrea
-- 
dott. Pollini Andrea
Nelson Enterprise di Pollini Andrea
Via Molino vecchio, 183
25010 - Borgosatollo (BS) - Italy

 writes:
nelson> Salve a tutti,
nelson> sto realizzando una valutazione di una libreria Java
nelson> che sto utilizzando in maniera distribuita.
nelson> Il problema č che non riesco a valutare le prestazioni.
nelson> Cerco di spiegarmi. Allora, io dovrei
nelson> confrontare (per trovare sppedup efficienza [...])
nelson> il tempo di esecuzione su dell'algoritmo su un processore
nelson> con quello su N processori.
Sei un po' generico, quant'e` N?
nelson> Il problema č che le dimensioni delle matrici (perchč di
nelson> queste mi interesso) sono dell'ordine di 6000-10000.
Non e` un problema, e` solo la sua possibile premessa.
Chiamiamo n l'ordine delle matrici, le operazioni che fai hanno
complessita` O(f(n)).
distribuendole su N processori la complessita` media a carico di
ciascun processore non e` inferiore a O(f(n))/N
Se non arrivi al risultato con un solo processore e ci arrivi con N
processori, scegli un n "piu` opportuno", d'altra parte f(n), che
credo non sia lineare, non ti permette di esprimere lo "speedup" come
una percentuale fissa, ma rimane in funzione di n.
nelson> Ora su di una macchina tali oggetti non sono gestibili....
Dipende dalle operazioni che fai, in un altro post ho notato un tuo
intervento in cui dicevi di occuparti di cluster non centralizzato,
quindi per quanto posso ricostruire, intendi effettuare con
clustering (forse non centralizzato) operazioni su matrici che dovrebbero
dare un aumeto di complessita` indifferente su ordini diversi da
6000 a 10000 ...
Forse sei ancora ad una fase che non ottiene i risultati
nelson> come faccio a calcolare speedup ed efficienza?
scegli n pari a 100, esegui la misteriosa libreria su un processore
(impieghera` T1(100)) e poi su due o N processori (TN(100)), [poi
ancora su un processore(per verifica assenza fenomeni cache), e
dovresti ottenere ancora T1(100)]
misura i tempi con precise funzioni cronologiche di sistema nel
calcolatore che porta a conoscenza del risultato. Poi cambia n
finche` non riesci a misurare T1(n) perche` impiega troppo.
Credo che l'efficienza sia quanto TN(n) si avvicina all'oltremassimo
teorico T1(n)/N, quindi immagino sia stata definita come
efficienza(n)=log_2(T1(n)/(N*TN(n)))
che e` sempre negativa e vale
0 se si e` all'oltremassimo teorico (nessun ritardo introdotto
                                     nella scomposizione su piu` processori)
-1 se il tempo di sincronia e` addirittura pari al tempo di calcolo
nelson> forse essendo interessato alla parallelizzazione dei dati
nelson> serve vedere altri indicatori (nel qual caso se qualcuno mi
nelson> sapesse dare una dritta su dove sbattere la testa.... ;-))?
Visto che e` estate, fortunatamente non trovarai una piscina vuota con un
trampolino olimpionico. Non si sa mai che tu non conosca 
http://www.google.com
e cerca di specificare in ordine di importanza quante piu` parole
ritieni attinenti alla questione.
Es. in google: efficienza calcolo parallelo OR distribuito
se cio` che ho scritto non bastasse.
nelson> Buona giornata e grazie a tutti,    Andrea
nelson> -- 
nelson> dott. Pollini Andrea
nelson> Nelson Enterprise di Pollini Andrea
nelson> Via Molino vecchio, 183  25010 - Borgosatollo (BS) - Italy
Saluti,
MARco
-- 
xref: 
http://mar.i.am/~u16647.29071/it.scienza.informatica/parallalla,it
x(t),y(t) = th(3t-34.5)*e^[-(3t-34.5)^2]/2-4.3+e^(-1.8/t^2)/(.8*atg(t-
3)+2)(t-1.8)-.3th(5t-42.5),(1.4e^[-(3t-34.5)^2]+1-sgn[|t-8.5|-.5]*1.5*
|sin(pi*t)|^[2e^(-(t-11.5)^2)+.5+e^(-(.6t-3.3)^2)])/(.5+t)+1  ; 0<t<14