Visto l’aumento dell’interesse di molti alla partecipazione ai challenge, mi sembra opportuno incominciare a spendere alcune parole in merito alla preparazione ottimale per queste sfide.
La prima cosa importantissima è la creazione della riserva iniziale per i challenges, su cui mi voglio ora dilungare, riassumendo sia varie proposte apparse sul sito, sia anche mie esperienze.
Teniamo presente però che tutto quanto segue è da considerarsi come una linea guida generale e che, a seconda delle caratteristiche dei progetti coinvolti, ci potranno essere delle modifiche.
Sicuramente alcune parti potranno essere un pò ostiche e magari comprensibili solo agli addetti ai lavori, e magari possono contenere qualche inesattezza, ma confido anche sulla collaborazione di tutti voi per migliorare quanto scritto.
Data inizio challenge e deadline del progetto.
Le prime due informazioni importanti sono proprio la data di inizio challenge (attenzione alla data UTC) e la deadline del progetto (intendendo la deadline come l’intervallo di tempo entro cui deve/dovrebbe essere elaborata la WU.
La data inizio progetto è nota, così pure sono facilmente reperibili i dati di deadline anche in funzione del particolare sottoprogetto su cui si bassa il challenge (vds
wuprop.boinc-af.org/results/delai.py).
Andando quindi a ritroso si riesce a sapere quando iniziare a scaricare le WU per il challenge.
Il massimo sfruttamento di questo periodo sta nell’iniziare a scaricare nell’istante (data inizio challenge meno deadline) il massimo numero possibile di WU, elaborarle durante il periodo del challenge e riconsegnarle tutte appena dopo la data di inizio.
Quante WU si possono elaborare nel periodo pre-challenge ??
Questo valore ovviamente varia da progetto a progetto, da PC a PC, da quante ore al giorno si lascia acceso il PC, da quale % di elaborazione è assegnata a BOINC.
Si può provare però a fare qualche prima considerazioni e i ragionamenti che seguono fanno riferimento a elaborazione continua H24 e al 100% di utilizzo..
Intanto è nota la potenzialità di calcolo in ore pari a n. giorni di deadline per 24 e per il numero di cores presenti nel PC . L’incognita mancante è il valore medio in ore per il completamento delle WU: questo è un dato ovviamente tipico della capacità di calcolo del PC e solo dalle prove effettuate da ciascuno si potrà avere un valore medio di riferimento.
Pertanto il numero teorico sarà
n.gg deadline x 24 x n.cores
Durata media (in ore) WU
Ribadisco ancora che è importante che le WU scaricate ed elaborate dovranno, al fine del challenge, essere consegnate e validate dopo l’inizio del challenge.
Come iniziare a scaricare all’inizio del pre-challenge ?
Nella maggioranza dei casi i challenges iniziano alle ore 00.00 UTC che sono o le 01:00 nel caso di ora solare o le 02:00 nel caso dell’ora legale.
Vista l’ora, i casi sono 2:
- o si rimane svegli sino a quell’ora e quindi si mette il progetto in grado di ricevere WU e poi si clicca furiosamente sul tasto di aggiorna per poter ricevere WUs
- o si imposta, con le ore opportune, tramite scheduler del sistema operativo i comandi di riattivazione e di aggiornamento del progetto, con il programma boinccmd.exe che è nella directory dove è installato il programma Boincmanager.
- I comandi da inviare sono
- boinccmd –project URLproject allowmorework
- boinccmd –project URLproject update
dove URLproject va sostituito con l’indirizzo Url del progetto.
Per una trattazione completa del comando boinccmd vedere
boinc.berkeley.edu/wiki/Boinccmd_tool
In teoria si può anche anticipare rispetto all’ora ufficiale, in funzione della durata di ogni singola WU, ma non è detto che si possa fare con tutti i progetti e soprattutto l’anticipo dovrà essere inferiore alla durata di una singola WU.
Come riuscire a ricevere il numero teorico di WU all’inizio del pre-challenge?
Prima cosa da fare è mettere il massimo possibile alla scorta (10gg+10gg) sia nelle preferenze del BOINC Manager nella sottopagina dell’utilizzo della rete, sia controllarlo anche nella pagina del progetto che si raggiunge dalla pagina dell’account e poi delle preferenze.
Nella maggioranza dei casi il numero teorico di cui sopra è superiore al quantitativo che il progetto assegna all’utente come quota giornaliera (dopo ripetute richieste di aggiornamento, si arriva a un punto in cui il progetto non trasmette più WU e segnala “reached daily quota”).
Su alcuni progetti esiste la possibilità di far credere al progetto di aver un PC + potente in modo da riuscire a ricevere all’inizio un numero di WU molto alto.
Si basa sulla presenza del file cc_config.xml (vds
boinc.berkeley.edu/wiki/Cc_config.xml)
Una configurazione minimale potrebbe essere:
<cc_config>
<options>
<ncpus>N</ncpus>
<fetch_on_update>1</fetch_on_update>
</options>
</cc_config>
Dove con N si deve sostituire un valore genericamente multiplo del numero di cores presenti sul PC. Su alcuni progetti sono anche riuscito a impostare un valore pari a 100 e come risultato è stato l’inondazione di WU !!.
Prima di far questo però si deve entrare sul progetto, nel proprio account e nelle preferenze di elaborazione andare a settare il corretto valore del parametro indicato come “Su sistemi multiprocessore, usa al massimo xx processori”.
Si consiglia di fare questa operazione dopo aver settato la % di elaborazione a un valore molto basso.
e inoltre è meglio non esagerare con il mettere valori molto alti di ncpus
Successivamente si fa leggere a Boinc il config files e poi si chiede l’aggiornamento del progetto.
Scaricato un numero congruo di WU si deve correggere il valore N in -1 e far rileggere il file di configurazione in modo da tornare alle condizioni standard e riportare la % a 100%.
Esiste ormai un valido gestore del file cc_config.xml.
lo trovate a questo link
boinc.berkeley.edu/a....com%2Fp%2Fboinc-client-configuration%2F
l'applicazione rileva automaticamente la posizione dovbe deve stare il fil cc_config e nel tab con la dizione Option3 si può modificare a piacere il numero di ncpus
Come riuscire a elaborare le WU senza fare l’upload al progetto ?
Esistono alcune tecniche che presentano però vantaggi e svantaggi:
. programma BoincTasks
Su
www.boincitaly.org/f...sks-un-alternativa-al-boinc-manager.html trovate una buona spiegazione sul funzionamento di questo programma.
Purtroppo però è un programma non sicuro al 100 %, nel senso che anche impostata una regola di bloccare la WU al raggiungimento di una determinata percentuale, non è detto che la WU sia poi effettivamente fermata a quella percentuale o poco oltre.
Ci sono stati casi dove il programma non è riuscito a fermare tutte le WU, alcune sono andate al 100 % .
E’ stata anche lanciata l’ipotesi di lavoro di creare 2 regole di blocco a percentuali differenti (tipo l’80% e il 90%), sperando che almeno una delle due sicuramente funzioni.
Su questo per ora io non ho niente da dire non avendolo provato.
. bloccare l’attività di rete tramite boincmanager
Questo sistema ovviamente garantisce che le WU elaborate durante il pre-challenge non siano uploadate, ma ha l’ovvio svantaggio che non permette di elaborare eventuali altri progetti che l’utente abbia voglia di elaborare.
. bloccare l’IP del progetto
O tramite il firewall del sistema operativo e tramite il firewall del router, il blocco del traffico verso l’IP del progetto, risulta una tecnica migliore rispetto alla precedente nel caso si voglia elaborare contemporaneamente altri progetti.
Nel caso di Windows il firewall lo si raggiunge dal pannello di controllo: si deve creare una regola
Per conoscere l'indirizzo IP del progetto c'è il seguente sito
ipaddress.com/search/
. vedere anche i posts successivi per l'interessante tecnologia di manipolazione del file hosts
Cosa fare se tutte le WU sono terminate/bloccate ?
In questo caso dipende da ciò che è stato adottato al punto precedente.
Nel caso di blocco dell’attività di rete tramite boincmanager esiste la possibilità di creare/utilizzare un PC virtuale, per esempio di tipo Linux, con il quale scaricare ed elaborare altre WU. I programmi di virtualizzazione più usati sono VirtualBox e VMPlayer.
Da prove fatte mi risulta che il sistema Linux più “user frienly” sia la versione Mint.
Nel caso del blocco IP sembrerebbe non sia possibile fare più niente (se si riapre l’indirizzo IP, automaticamente tutto ciò che è terminato viene uploadato).
Esiste però qualche caso di progetto che ha differenti indirizzi IP (uno per fare il download e l’upload e l’altro per l’aggiornamento/validazione).
Su questi casi si dovrà fare riferimento ai thread di discussione sui challenges.
Nel caso di utilizzo di BoincTasks si può utilizzare una macchina virtuale come sopra specificato oppure si è obbligati a:
- fermare il funzionamento di BoincTasks
- sbloccare tutte le WU,
- eseguire “freneticamente” richieste di aggiornamento e, se finalmente sono state scaricate nuove Wu,
- procedere a ribloccare tutte le Wu
- rifar partire il programma BoincTasks
si può anche utilizzare la tecnica della modifica del parametro ncpus di cui precedentemente, ma è da utilizzare con molta delicatezza perché l’avvio contemporaneo di un numero enorme di WU può comportare il blocco del PC.
Cosa fare al momento dell’inizio del challenge ?
Se abbiamo iniziato a scaricare WU all’istante ottimale, siamo obbligati a iniziare a fare l’upload 1-2 minuti dopo l’inizio del challenge (tipicamente di notte, esattamente come abbiamo fatto nello scarico WU nel pre-challenge).
Nel caso di utilizzo di BoincTasks, si dovrà aver precedentemente liberato tutte le WU, bloccata la rete (per impedire l’upload) per permettere il completamento di tutte le WU e quindi riaprire la rete con il comando (da programmare con lo scheduler)
boinccmd –set_network_mode always
Questo caso comprende ovviamente anche il caso in cui si sia scelto di non utilizzare BoincTasks ma utilizzare dall’inizio il blocco della rete
Nel caso del blocco IP, l’unico modo che io sappia è quello di stare sveglio ed agire manualmente con lo sblocco dell’indirizzo