Live chat

GHz Aggiornamento stats minecraft ripristinato, avevano fatto una variazione al sito web che bloccava l'update, grazie per la segnalazione Loroe (18.09.25, 23:11)
boboviz credo sia un problema dei progetti (18.09.25, 11:02)
Loroe Ciao, perchè le statistiche di alcuni progetti non si aggiornano? es. minecraft è fermo da un paio di mesi. (13.09.25, 18:45)
Spot T and crunching by cpu...that's twice worth of mention (06.09.25, 20:03)
Spot T I think you are the only one (of us) that found a megaprime in srbase proj (06.09.25, 20:02)
entity Thanks, I'm glad the team got recognition too (06.09.25, 17:55)
r3venge Complimenti Entity!! (05.09.25, 21:30)
Spot T congrats to entity for the megaprime found (05.09.25, 19:56)
Fabrizio74 Dopo una pausa è arrivato un pò di lavoro in Gpugrid (28.08.25, 16:43)
boboviz @vincenzo effettivamente è strano. Che altri progetti hai agganciato?? (25.08.25, 15:15)
boboviz I challenge/sfida sono sempre stati una "sfida" per organizzarsi (25.08.25, 15:15)
Vincenzo Cefariello P.s ma perché Boinc se metto 10 giorni di lavoro e 10 supplementari, prende solo Einsten e Milkway. Deve prendere tutti i progetti .-. (23.08.25, 14:25)
Vincenzo Cefariello Lasciamo stare che poi nessuno si degna di leggere un pdf o qualche guida, ma vuole un tutorial su youtube anche per le menate (23.08.25, 14:22)
Vincenzo Cefariello Il problema rimane sempre lo stesso, poca pubblicità di Boinc, troppa ignoranza in generale, e setup troppo complicato per chi non è pratico di Computers (23.08.25, 14:22)
r3venge no al momento sono ancora fermo, mi sto organizzando, ma ho visto che l'attività sul forum dei 3d relativi ai challenge è praticamente scomparsa (21.08.25, 23:18)
kidkidkid3 Correggetemi se ho sbagliato (20.08.25, 18:24)
kidkidkid3 Se non ricordo male abbiamo l'iscrizione automatica a tutti i challenge che partono, anche se da parte nostra non ne lanciamo più (20.08.25, 18:23)
kidkidkid3 Bentornato ... allo scaccolo ! (20.08.25, 18:22)
r3venge Sono stato un pò assente ma volevo sapere, a parte il Pentathlon, non si fanno più challenge? (19.08.25, 00:42)
boboviz Buon Ferragosto!! (15.08.25, 15:13)
Per usare la chat devi effettuare il login.
Benvenuto, Ospite
Nome utente: Password: Ricordami
29 Set 2025

29 Settembre 2025 : 14:30
Migrazione del forum e dei suoi contenuti

Leggi tutto...
  • Pagina:
  • 1

ARGOMENTO:

[Linux] Script Bash per la creazione casuale coda progetti 18/10/2012 20:35 #84711

  • sabayonino
  • Avatar di sabayonino Autore della discussione
  • Offline
  • Administrator
  • Administrator
  • Gentoo||KDE
  • Messaggi: 5793
  • Ringraziamenti ricevuti 351
Per chi avesse svariati progetti e svariati Host dedicati a Boinc e volesse dare una rotazione temporale ai progetti non gestita dal client ho adattato uno script che avveo trovato in rete sulla generazione casuale di determinati numeri.

Esso genera in base ad una lista fornita di progetti la generazione casuale di un progetto per GPU e idem per quello con solo supporto CPU (anche questo fornito in base ad una lista)

Avendo più host che controllo sporadicamente in genere laascio al client la decisione di scaricare le WU in base alle richieste dei vari progetti, ma nel caso si volesse dedicare n-giorni per ogni progetto e si ha l'imbarazzo della scelta.

Ultimamente però sto cercando di dedicare alcuni giorni consecutivi ad un dato progetto (cambiando con un step di 10 giorni sia il progetto GPU che CPU ) non so mai a chi dare la priorità :muro:

Allora perchè non lasciare la scelta al caso ? ovviamente tenendo conto della disponibilità del progetto. si può sempre cambiare se la scelta casuale non piace :D

Aprire un editor di testo ed incollare il seguente codice
#!/bin/bash

# Generazione Casuale della coda per progetti BOINC


# Elencare i progetti che supportano il calcolo con GPU
GPU="GPUGrid
Einstein
PrimeGrid
DistGRn
Milkyway
CollatzConjecture
POEM
TUTTI"


# Elencare i Progetti che supportano il calcolo solo con CPU (I nomi dei progetti separati da spazi vanno raggruppati)
CPU="Asteroids@Home
Climateprediction.net
CollatzConjecture
Constellation
Cosmology
DistRTGen
DNA@Home
Docking@Home
DrugDiscovery@Home
EDGS@Home
Einstein@Home
Ibercivis
Malariacontrol.net
Milkyway@Home
POEM@Home
QMC@Home
Rosetta@Home
RNAWorld
SIMAP
Spinhengen
Superlink@Technion
WorldCommunityGrid
WUProp@Home
YoYo@Home
EON
LeidenClassical
UFluids
Marsenne@Home
TheLatticeProject
VGTUProject@Home
SimulationOne@Home
LHC@Home
FightMalaria@Home
POGS
RojaScience@Home
Orbit@Home
TUTTI"

#########################

gpu=($GPU)                
cpu=($CPU)

num_gpu=${#gpu[*]}        
num_cpu=${#cpu[*]}

# Genera casualmente i progetti partendo dall'Array sopra elencate

echo  "Progetto per CPU=${cpu[$((RANDOM%num_cpu))]}"
echo  "Progetto per GPU=${gpu[$((RANDOM%num_gpu))]}"


exit 0

# Nota :
# Se si hanno più host ed alcuni di essi non accettano il supportro alla GPU , considerare di creare un profilo apposito
# per quel host direttamente nel profilo utente del progetto. 
# A quel specifico host non verranno inviate applicazioni per GPU.


Salvare lo script con un nome a vostra scelta (Esempio : generate)


Rendere lo script eseguibile
$ chmod +x generate


Eseguire lo script (all'interno della cartella dello stesso script) :
$ ./generate

La (s)fortuna ( :fuck: ) genererà un risultato simile al seguente :
$ ./generate
Progetto per CPU=CollatzConjecture
Progetto per GPU=Milkyway

Ovviamente potrebbe uscire su ambedue lo stesso progetto
Se un vostro Host non può elaborare per GPU procedere alla creazione di un profilo apposito per quel host editando direttamente nel profilo utente del progetto le preferenze per quell'host.

:king: è una C***ta lo so ... ma non avevo altro da fare :rotfl: :ciapet:
Ultima Modifica: da sabayonino.
L\'Argomento è stato bloccato.

Re: [Linux] Script Bash per la creazione casuale coda progetti 18/10/2012 21:08 #84713

  • campos
  • Avatar di campos
  • Offline
  • RAM 1GB
  • RAM 1GB
  • Malato di Basket NBA
  • Messaggi: 3538
  • Ringraziamenti ricevuti 40
Potresti farlo con un'alternanza diversa?

Ad es. Malaria tutti i giovedì, WCG i weekend, lunedì rosetta, mercoledì tutti...

Sarebbe fattibile? :ave: :ave:

Mi intriga questa cosa! :asd:
L\'Argomento è stato bloccato.

Re: [Linux] Script Bash per la creazione casuale coda progetti 18/10/2012 21:41 #84715

  • sabayonino
  • Avatar di sabayonino Autore della discussione
  • Offline
  • Administrator
  • Administrator
  • Gentoo||KDE
  • Messaggi: 5793
  • Ringraziamenti ricevuti 351
campos ha scritto:

Potresti farlo con un'alternanza diversa?

Ad es. Malaria tutti i giovedì, WCG i weekend, lunedì rosetta, mercoledì tutti...

Sarebbe fattibile? :ave: :ave:

Mi intriga questa cosa! :asd:


non sarebbe più "casuale" :ciapet:

Tiè con in cicletto "for" :read:
#!/bin/bash

# Generazione Casuale della coda per progetti BOINC


# Elencare i progetti che supportano il calcolo con GPU
GPU="GPUGrid
Einstein
PrimeGrid
DistGRn
Milkyway
CollatzConjecture
POEM
TUTTI"


# Elencare i Progetti che supportano il calcolo solo con CPU (I nomi dei progetti separati da spazi vanno raggruppati)
CPU="Asteroids@Home
Climateprediction.net
CollatzConjecture
Constellation
Cosmology
DistRTGen
DNA@Home
Docking@Home
DrugDiscovery@Home
EDGS@Home
Einstein@Home
Ibercivis
Malariacontrol.net
Milkyway@Home
POEM@Home
QMC@Home
Rosetta@Home
RNAWorld
SIMAP
Spinhengen
Superlink@Technion
WorldCommunityGrid
WUProp@Home
YoYo@Home
EON
LeidenClassical
UFluids
Marsenne@Home
TheLatticeProject
VGTUProject@Home
SimulationOne@Home
LHC@Home
FightMalaria@Home
POGS
RojaScience@Home
Orbit@Home
TUTTI"

# Giorni della settimana dedicati ai progetti 
DAYS="Lunedi
Martedi
Mercoledi
Giovedi
Venerdi
Sabato
Domenica"

gpu=($GPU)                
cpu=($CPU)

num_gpu=${#gpu[*]}        
num_cpu=${#cpu[*]}


# Genera casualmente i progetti partendo dall'Array sopra elencate
# su un ciiclo per la generazione dei progetti da dedicare giornalmente

for gior in $DAYS ; do

echo
echo  "Progetto con CPU : ${cpu[$((RANDOM%num_cpu))]}"
echo  "Progetto con GPU : ${gpu[$((RANDOM%num_gpu))]}"
echo  "Giorno di elaborazione : ${gior}"
echo
done


exit 0

# Nota1 :
# Se si hanno più host ed alcuni di essi non accettano il supportro alla GPU , considerare di creare un profilo apposito
# per quel host direttamente nel profilo utente del progetto. 
# A quel specifico host non verranno inviate applicazioni per GPU.


si avrà :
./generate

Progetto con CPU : QMC@Home
Progetto con GPU : DistGRn
Giorno di elaborazione : Lunedi


Progetto con CPU : RojaScience@Home
Progetto con GPU : GPUGrid
Giorno di elaborazione : Martedi


Progetto con CPU : DrugDiscovery@Home
Progetto con GPU : GPUGrid
Giorno di elaborazione : Mercoledi


Progetto con CPU : RojaScience@Home
Progetto con GPU : CollatzConjecture
Giorno di elaborazione : Giovedi


Progetto con CPU : Spinhengen
Progetto con GPU : GPUGrid
Giorno di elaborazione : Venerdi


Progetto con CPU : SIMAP
Progetto con GPU : PrimeGrid
Giorno di elaborazione : Sabato


Progetto con CPU : Spinhengen
Progetto con GPU : Einstein
Giorno di elaborazione : Domenica

:D ti va bien ??

[edit] il client te lo devi impostare a man.
lo script genera casualmente i progetti. quindi sta a te valutare se tenerlo o no. io l'ho fatto perchè non so mai a chi dare la priorità quindi lascio la scelta al "caso" . Ovvio che valuto le condizioni del progetto.
ripeto : gestisco 4-5 host remoti ai quali accedo ogni "X" giorni ed ultimamente giro i progetti ogni 5-10 giorni.

[edit 2 ] se vuoi l'opzione "tutti i progetti" hoi aggiunto all'elenco sia GPU che CPU l'elemento "TUTTI". se il caso deciderà di elaborare su Tutti i progetti ... :asd:
Ultima Modifica: da sabayonino.
L\'Argomento è stato bloccato.

Re: [Linux] Script Bash per la creazione casuale coda progetti 18/10/2012 22:49 #84719

  • campos
  • Avatar di campos
  • Offline
  • RAM 1GB
  • RAM 1GB
  • Malato di Basket NBA
  • Messaggi: 3538
  • Ringraziamenti ricevuti 40
Domani pomeriggio lo provo, grazie per adesso! :ave:
L\'Argomento è stato bloccato.

Re: [Linux] Script Bash per la creazione casuale coda progetti 04/01/2013 19:16 #88689

  • sabayonino
  • Avatar di sabayonino Autore della discussione
  • Offline
  • Administrator
  • Administrator
  • Gentoo||KDE
  • Messaggi: 5793
  • Ringraziamenti ricevuti 351
Piccola modifica dello script :

Qui rendiamo attiva la coda di un elenco di progetti da poter aggiungere ad un cronjob utente.

Esempio se si vuole effettuare uno switch casuale di progetti ogni tot ora o giorno o settimana

Con un qualsiasi editor di testo creare lo scipt boinc_cron (nome casuale) e salvarlo in una directpry dedicata nella Vostra Home (Desktop , Documenti etc...)
$ nano -w boinc_cron

#!/bin/bash

# Elenco Progetti e Attach (Incompleto ; vedi http://www.boincitaly.org/progetti/progetti-boinc.html )

#######################################################################
# GPU
#
# Einstein	----> http://einstein.phys.uwm.edu/
# DistRTGen	----> http://boinc.freerainbowtables.com/distrrtgen/
# GPUGrid	----> http://www.gpugrid.net/
# Milkyway	----> http://milkyway.cs.rpi.edu/milkyway/
# POEM		----> http://boinc.fzk.de/poem/
# WCG		----> http://www.worldcommunitygrid.org/
# Prime Grid	----> http://www.primegrid.com/
# MooWrapper----> http://moowrap.net/
########################################################################
#
# CPU 
#
# Asteroids	----> http://asteroidsathome.net/boinc/
# Constellation	----> http://aerospaceresearch.net/constellation/
# Cosmology	----> http://www.cosmologyathome.org/
# EON2		----> http://eon.ices.utexas.edu/eon2/
# Leiden Classical--> http://boinc.gorlaeus.net/
# LHC		----> http://lhcathomeclassic.cern.ch/sixtrack/
# SETI		----> http://setiathome.berkeley.edu/
# SimOne	----> http://mmgboinc.unimi.it/
# Correlizer	----> http://svahesrv2.bioquant.uni-heidelberg.de/correlizer/
# Docking	----> http://docking.cis.udel.edu/
# Fightmalaria	----> http://boinc.ucd.ie/fmah/
# The Lattice Proj--> http://boinc.umiacs.umd.edu/
# Malariacontrol.net> http://www.malariacontrol.net/
# RNAWorld	----> http://www.rnaworld.de/rnaworld/
# Rosetta	----> http://boinc.bakerlab.org/rosetta/
# SIMAP		----> http://boincsimap.org/boincsimap/
# Collatz Conjecture> http://boinc.thesonntags.com/collatz/
# SubSetSum	----> http://volunteer.cs.und.edu/subset_sum/
# EDGES		----> http://home.edges-grid.eu/home/
# Ibercivis	----> http://www.ibercivis.es/
# Rioja Science	----> http://boinc.riojascience.com/
# YoYo		----> http://www.rechenkraft.net/yoyo/
# WUProp	----> http://wuprop.boinc-af.org/
# POGS		----> http://ec2-23-23-126-96.compute-1.amazonaws.com/pogs/
# ClimatePrediction-> http://climateprediction.net/
#############################################################################




# Elenco dei progetti GPU (Indicare l'attach del progetto)
gpu_attach="http://einstein.phys.uwm.edu/
http://boinc.freerainbowtables.com/distrrtgen/
http://www.gpugrid.net/
http://milkyway.cs.rpi.edu/milkyway/
http://boinc.fzk.de/poem/
http://www.worldcommunitygrid.org/
http://www.primegrid.com/
http://moowrap.net/"

# Elenco dei progetti CPU (Indicare l'attach del progetto)
cpu_attach="http://asteroidsathome.net/boinc/
http://aerospaceresearch.net/constellation/
http://www.cosmologyathome.org/
http://eon.ices.utexas.edu/eon2/
http://boinc.gorlaeus.net/
http://lhcathomeclassic.cern.ch/sixtrack/
http://setiathome.berkeley.edu/
http://mmgboinc.unimi.it/
http://svahesrv2.bioquant.uni-heidelberg.de/correlizer/
http://docking.cis.udel.edu/
http://boinc.ucd.ie/fmah/
http://boinc.umiacs.umd.edu/
http://www.malariacontrol.net/
http://www.rnaworld.de/rnaworld/
http://boinc.bakerlab.org/rosetta/
http://boincsimap.org/boincsimap/
http://boinc.thesonntags.com/collatz/
http://volunteer.cs.und.edu/subset_sum/
http://home.edges-grid.eu/home/
http://www.ibercivis.es/
http://boinc.riojascience.com/
http://www.rechenkraft.net/yoyo/
http://wuprop.boinc-af.org/
http://ec2-23-23-126-96.compute-1.amazonaws.com/pogs/
"

# Sospensione richiesta di lavoro dei progetti CPU elencati
# Permette di terminare le WU in coda
for cpu_pr in $cpu_attach ; do
/usr/bin/boinccmd --project ${cpu_pr} nomorework
done

# Sospensione richiesta di lavoro dei progetti GPU elencati
# Permette di terminare le WU in coda
for gpu_pr in $gpu_attach ; do
/usr/bin/boinccmd --project ${gpu_pr} nomorework
done

cpu_attach1=($cpu_attach)
gpu_attach1=($gpu_attach)

# Conteggio progetti 
num_cpuprj=${#cpu_attach1[*]}
num_gpuprj=${#gpu_attach1[*]}

# Generazione casuale dei progetti CPU
# Per indicare il numero dei progetti da avviare , modificare il valore {1..5} nel ciclo for
# Esempio per N°6 Progetti da considerare : {1..6}
# Esempio per N°9 Progetti da considerare : {1..9}
# e così via
for I in {1..3} ; do
name_cpu=(${cpu_attach1[$((RANDOM%num_cpuprj))]})
/usr/bin/boinccmd --project ${name_cpu} allowmorework update
# Riabilita la richiesta di nuove WUs ed aggiorna il progetto per la richiesta di ulteriori WUs
done


# Generazione casuale dei progetti GPU
# Per indicare il numero dei progetti da avviare , modificare il valore {1..5} nel ciclo for
# Esempio per N°6 Progetti da considerare : {1..6}
# Esempio per N°9 Progetti da considerare : {1..9}
# e così via
for i in {1..2} ; do
name_gpu=(${gpu_attach1[$((RANDOM%num_gpuprj))]})
/usr/bin/boinccmd --project ${name_gpu} allowmorework update
done

Salvare e rendere eseguibile il file di testo appena creato (lo script)
$ chmod +x boinc_cron

E' ora possibile utilizzare il cornjob utente per eseguire lo script ad intervalli di tempo da voi prestabiliti

Esempio Impostare la generazione dei progetti ogni 4 giorni.
Ogni 4 giorni (Lunedi e Giovedi),alla mezzanotte ,verrà eseguito lo script.Le WUs in coda e/o rimaenti verranno terminate con priorità in base alla loro deadline,
$ crontab -e
0 0 * * 1,4 /usr/bin/bash  /<percorso>/<vostro>/<script>/boinc_cron > /dev/null

Lo script :
Nella variabile attach sono elencati gli "attach" URL dei vari progetti che vi interssa far ruotare
All'Avvio dello script vengono prima bloccate le richieste di WU i tutti i progetti in elenco .In tal modo si dà la possibilità di terminare ulteriori WUs in coda.
Decidere quanti progetti si vogliono tenere in considerazione (vedi commenti script)
In seguito vengono generati casualmente gli attach dei progetti in elenco e ripresa la richiesta di WU per i progetti generati e relativo update per la richiesta di nuove WUs.

NB 1 : nella generazione casuale del progetto , un progetto potrebbe essere ripetuto più volte.
NB 2 : Assicurarsi che il proprio utente abbia accesso al cronjob utente (Vedi propria Distribuzione)
NB 3 : Il comando "boinccmd" fa riferimento all'eseguibile ubicato in /usr/bin (percorso standard per Boinc installato da Package Manager). se si sta utilizzando l'eseguibile fornito direttamente dallo script del Boinc ufficiale , indicare l'intero percorso del "boinccmd" in uso.


[...] ...script funzionante ma ancora in fase di "miglioramento" :fuck:
Ultima Modifica: da sabayonino.
L\'Argomento è stato bloccato.
  • Pagina:
  • 1
Tempo creazione pagina: 0.155 secondi
Powered by Forum Kunena