PDA

View Full Version : Rosetta: WU deadline?


Scasc
16-09-2006, 11:24
Sono appena tornato dopo essere stato 2 settimane in vacanza.
Mi sono scadute 2 WU di Rosetta, che avevano come al solito una settimana di deadline (mannaggia a chi è rimasto a casa, il mio PC non è praticamente mai stato acceso in queste 2 settimane, manco per guardare un insulso DVD...).
Non le ho abortite, anche se Boinc me lo consigliava (volevo vedere cosa succedeva...), per cui sono state scaccolate e poi uppate a Rosetta normalmente.
Sorpresa, Rosetta mi ha assegnato un numero di "granted credits" uguale a quello dei "claimed credits" (lo potete vedere nelle statistiche del mio account su Rosetta).
Naturalmente, meglio per le mie statistiche, però sorge una domanda: a cosa servono le deadline di Rosetta?
Inoltre, se avessi abortito le 2 WU, avrei perso dei crediti che poi si sono rivelati validi. Perchè Boinc consiglia di abortire?

Il Capitano
16-09-2006, 11:42
Ipotizzo.

La deadline serve per poter assegnare i crediti. Esempio A e B finiscono una WU e chiedono dei crediti. Il validator, prima di darglieli, aspetta il minimo tempo tra la deadline e il tempo che impiega C a consegnare la stessa WU. In questo modo e' assicurato che A e B avranno comunque i crediti assegnati, sia che C consegni sia che non consegni la WU.

Supponiamo ora che C finisca la WU dopo la deadline, risultato: a Boinc non serve perche' ha gia' assegnato i crediti e la WU e' stata validata e i suoi risultati catalogati. Quindi dice a C che non gli serve e fa meglio a cancellarla e a elaborarne una nuova. C invece invia la WU, riceve i crediti per il lavoro fatto, ma a Boinc e alla scienza quella Wu non serve piu' perche' ne hanno gia' una copia validata.

Sono stato spiegato? :stordita:

Scasc
16-09-2006, 12:38
Grazie al Capitano, penso di aver capito il meccanismo che ha spiegato.
A questo punto, se Rosetta dà i crediti lo stesso, io non abortirei le WU fuori deadilne.
In pratica, a me non va di fare anche questo controllo tutte le volte che torno a casa dopo essere stato via per un po', con tutte le altre cose che già devo fare al computer (manutenzioni e aggiornamenti vari, controllo banca on line eccetera).
Ma voi le WU "vecchie" le abortite o le lasciate scaccolare?

Il Capitano
16-09-2006, 13:17
Grazie al Capitano, penso di aver capito il meccanismo che ha spiegato.
A questo punto, se Rosetta dà i crediti lo stesso, io non abortirei le WU fuori deadilne.
In pratica, a me non va di fare anche questo controllo tutte le volte che torno a casa dopo essere stato via per un po', con tutte le altre cose che già devo fare al computer (manutenzioni e aggiornamenti vari, controllo banca on line eccetera).
Ma voi le WU "vecchie" le abortite o le lasciate scaccolare?

Io faccio cosi', le wu finite ma scadute le spedisco, le altre comprese quelle che sto elaborando le abortisco.
L'operazione d'annullamento dura si e no 30 secondi, non ti fa perdere tempo e inoltre ti rendi utile per la ricerca. Che senso ha continuare a elaborare WU scadute? Solo per consumare corrente? Se vuoi crediti, tanto vale farli con WU non scadute.

GHz
16-09-2006, 14:07
Io faccio cosi', le wu finite ma scadute le spedisco, le altre comprese quelle che sto elaborando le abortisco.
L'operazione d'annullamento dura si e no 30 secondi, non ti fa perdere tempo e inoltre ti rendi utile per la ricerca. Che senso ha continuare a elaborare WU scadute? Solo per consumare corrente? Se vuoi crediti, tanto vale farli con WU non scadute.
Quoto, e quando capita di dover lasciare i pc spenti tanto tempo cerco prima di far esaurire la cache, impostando nel client BOINC di non scaricare nuove WU per i progetti (pulsante "No new work").

Una precisazione sul sistema di validazione.
Ogni progetto ha dei valori impostati per gestire l'invio e la validazione delle WU. Questi valori sono:
minimal quorum: valore minimo di wu ritornate per eseguire la validazione ed assegnare i crediti.
initial replication: numero di copie di ogni wu che vengono inviate a diversi pc per essere elaborate
max of error results: numero massimo di risultati errati ritornati
max of total results: numero massimo di risultati ritornati
max of success results: numero massimo di risultati validi ritornati

Questi valori possono essere visti in ogni dettagglio delle wu:
http://setiathome.berkeley.edu/workunit.php?wuid=91269673
per seti sono 3/4/5/10/5
All'inizio vengono inviate 4 copie della wu da elaborare, finchè non ne ritornano 3 elaborate (non in errore quindi) le altre rimangono in pending, e qundo ci sono tutte e 3 il validator parte con la validazione e l'assegnazione dei crediti. La deadline serve quindi per non far rimanere in pending in eterno le wu. Se infatti il quorum non viene raggiunto perchè manca una caccola, il server invia un'altra copia della wu ad un'altro pc, finchè non viene raggiunto il numero massimo di risultati tornati. Il fatto di inviare subito 4 copie della WU all'inizio, serve proprio a velocizzare il processo di validazione, in quanto c'è più probabilità che su 4, almeno 3 ritornino. Il quarto risultato, quando ritorna al server, se è stato ritornato entro la deadline gli vengono assegnati i crediti, altrimenti no perchè la WU è già stata "chiusa". Per questo il client ti dice "per questa wu non ti potrebbero venire assegnati i crediti, si consiglia di abortirla". In genere se la caccola è scaduta da poco c'è molta probabilità di ricevere comunque i crediti, se invece è scaduta da parecchi giorni è molto difficile.

Scasc
16-09-2006, 15:58
I ragionamenti del Capitano e di GHz non fanno ovviamente una piega, però mi sono dimenticato di dire che mantengo una cache molto piccola (impostata a 0,1 days), perchè ho una ADSL flat e sono connesso a internet con un router ethernet "always on".
Quando accendo/accendono tutto l'ambaradan (ciabatta), il router fa la connessione all'ISP in automatico e il PC ha la connessione ad internet disponibile da subito via lan (ethernet), automaticamente e senza fare l'accesso remoto (quando avevo solo il modem, a casa si dimenticavano sempre di fare il login ad internet, confondendolo con il login al PC, poi, quando il browser dava l'errore, mi telefonavano :D ).
Boinc è inoltre installato come servizio; solo io (che ho il login con password, sconosciuta agli altri) posso comandare il Boinc manager.
La cache piccola serve proprio per minimizzare le possibilità di sforare le deadline, visto che con la flat non devo preccuparmi delle connessioni continue di Boinc ad internet.
A conti fatti, mi risulta una cache di circa "0,4 WU", ovvero, quando lo scaccolo della WU numero x arriva al 60% circa, Boinc mi fa il download della WU numero (x+1) e l'upload della WU numero (x-1).
Le WU da abortire sarebbero quindi, in pratica, la numero x (quella che rientra in fase di scaccolo al momento della riaccensione del PC dopo il lungo downtime) ed, eventualmente, la numero (x+1), se è già stata scaricata, oppure la WU numero (x-1), se non è stata ancora uppata.
Abortendo la WU numero x, che magari è già all'80% e con un "CPU time" magari di 4 ore (1 ora "to completion"), perdo in pratica 4 ore di scaccolo. Peggio con la WU numero (x-1), per la quale perdo il 100% del CPU time.
Il discorso è del tutto diverso per la WU numero (x+1), quando c'è, perchè abortendola non perdo alcun "CPU time".
Inoltre, quando mi assento per un po' di giorni, non riesco a entrare nella testa di chi rimane a casa, per sapere se in quei giorni useranno il PC (e se glielo chiedo mi rispondono "e come faccio a dirtelo ora?" :D ). Preferisco quindi non usare il "No new work", per ottimizzare l'eventuale uptime del PC quando non sono a casa.
Ringraziando tutti per le risposte, pensavo di fare così: alla riaccensione dopo un lungo downtime, lascio completare e riportare le WU scadute nunero x e, eventualmente, numero (x-1), in scaccolo o già scaccolate (pazienza se non servono a Rosetta, almeno recupero i crediti per lo scaccolo fatto), mentre faccio abortire, se c'è, l'eventuale WU numero x+1, non ancora in scaccolo, ma solo se anch'essa è già scaduta (deadline rossa) o quasi scaduta. Abortendo la WU numero (x+1), Boinc dovrebbe scaricarmene un'altra.
Se qualcuno ha invece idee diverse, lo ringrazio già da adesso.