Dico ipotetica perché la risposta sul campo non credo l'avremo.
E' una pura curiosità sui sistemi multi-core. Se invece di fare X WU alla volta, gli X core si concentrassero su una sola WU, si guadagnerebbe un po' di tempo?
Dico ipotetica perché la risposta sul campo non credo l'avremo.
E' una pura curiosità sui sistemi multi-core. Se invece di fare X WU alla volta, gli X core si concentrassero su una sola WU, si guadagnerebbe un po' di tempo?
è ovvio che lavorando su X WUs diverse, gli X core lavorano in modo indipendente al 100%, quindi si elabora X volte più velocemente.
è ovvio e noto invece che per quanto un'applicazione sia multiprogrammata (si pensi ai programmi di rendering, o di codifica/decodifica audio/video) c'è sempre un overhead di informazioni che fa sì che lo speed up non sia mai quello teorico. per dire, facendo un benchmark con cinebench il mio quad, utilizzando tutti e quattro i core, risulta essere 3-3.3 volte più veloce rispetto ad utilizzarne uno solo.
a parte questo c'è poi da vedere se il tipo di applicazioni che girano nei progetti, sono adatte alla multiprogrammazione, o sono sequenziali. rosetta per esempio mi pare adatto alla multiprogrommazione, posto che permette di scegliere la durata delle WUs, in quanto le approssimazioni che non fa un pc, le può fare un altro.
però appunto, alla luce di quanto detto sopra, della maggiore difficoltà della programmazioni di software multiprogrammati, e della topologia della rete boinc, è meglio che ogni core si concentri su WUs diverse.
Dipende
Rosetta teoricamente andrebbe bene, 1 core fa un modello, l'altro fa l'altro.
Ma non tutti sono così...certo, con un pò di programmazione il problema si risolve, però..
Ok