Simone ha scritto:
La possibile soluzione a questo 'problema ram' sarebbe quella di usare l'applicazione multi thread, ma ci sono diversi problemi:
1 - le wu sono già cortissime, se le parallelizziamo durano una manciata di secondi e probabilmente non parallelizzerebbero neanche chissà quanto... a 2 core/wu nei precedenti test sembrava andar bene, non saprei con più core
2 - come testato su SimOne@home quando parte l'app mt questa blocca l'elaborazione GPU. La soluzione sarebbe nel far decidere all'utente quanti thread lasciare all'app, ma questo non è implementato in boinc. Altrimenti bisogna ricorrere a soluzioni sporche tipo lanciare due istante del client: una che faccia lavorare la gpu e l'altra l'app mt
Forse la soluzione più facile è crearsi a mano un app_info specificando lì il numero di core da usare, ma non ho ancora avuto tempo di provare.... (se qualcuno ha tempo/voglia basta mettere nella riga di comando dell'eseguibile l'opzione --cpu n)
Se avete altri commenti/pareri sono sicuramente ben accetti
Per ora sull'atom il mio problema sono i 2Gb di RAM.
Da pigro, per ora ho risolto stoppando gli altri progetti e limitando al 25% "dei processori" in modo che usi un solo core senza HT. Tanto ho notato che quelle poche volte che riesce a mandare in HT 2 WU sembra impiegare il doppio quindi ...
Se qualcuno mi manda un app_info per usare anche l'altro core (con altri progetti ovviamente) ... non ho voglia per un atom di mettere su 2 istanze di boinc come ho fatto sullo xeon per sfruttare con POEM le 2 GPU diverse (ati+nvidia).
Riguardo i suggerimenti data l'ora tarda vediamo ... prendetelo con le molle ...
se l'utilizzo della RAM resterà invariato per tutto il progetto potreste provare a utilizzare lo stato "wait for memory" che usava ECM (yoyo), anche lui aveva dei picchi a 1.8Gb eppure riuscivo ad elaborare con macchine con 1Gb per core ... quindi (se ECM usa il wrapper, sono abbastanza sicuro perchè la dir del progetto contiene ancora un file
ecmwrapper_0.04_windows_x86_64.exe) suggerirei di contattare gli admin di yoyo per farvi dire come si fa a mettere in "wait for memory" un client wrappato.
EDIT
Cmq prima di lavorare sul "wait for memory" proverei a profilare l'uso della RAM nel tempo: se non è un semplice picco di utilizzo, quella la soluzione non serve a molto. Ad occhio mi sembra che su WU da 7 minuti i primi 3 lavori con soli 22Mb ma bisognerebbe avere una statistica migliore