Live chat

sabayonino Topic di discussione --> https://www.boincitaly.org/forum/statistiche-sfide-e-traguardi/115347-boinc-pentathlon-2024.html (30.04.24, 00:36)
Spot T adesso speriamo che un po' di utenti si uniscano alla causa (29.04.24, 17:58)
sabayonino https://www.seti-germany.de/boinc_pentathlon/teams.php (29.04.24, 13:43)
sabayonino iscritti (29.04.24, 13:43)
kidkidkid3 (28.04.24, 21:41)
kidkidkid3 Ottimo Saba-Pierre de Coubertin .... l'importante non è vincere ..... (28.04.24, 21:40)
sabayonino Fossimo anche solo in due , BI non è mai mancata , anche nei tempi di crisi (28.04.24, 18:29)
sabayonino Ho chiesto agli Admin Señor di procedere all'iscrizione (28.04.24, 18:28)
corla99 dipende dai progetti, ho poco tempo per stare dietro ad eventuali problemi. Ma se escono progetti che ho già tutto pronto, giro volentieri qualche core (28.04.24, 16:35)
entity I'll participate (28.04.24, 14:49)
zioriga io forse in parte (28.04.24, 14:30)
kidkidkid3 Se dovessimo rimanere in 2 ... direi di non iscriverci ! (28.04.24, 14:12)
Spot T Occorre però iscrivere il team. Di solito lo fa sorcrosc... (28.04.24, 13:21)
kidkidkid3 https://www.seti-germany.de/boinc_pentathlon/ (28.04.24, 12:38)
kidkidkid3 Nulla osta .... poche e vecchie Nvidia, scarsi core di Intel (quad o x5450) ... per quello che può valere io ci sono ! (28.04.24, 12:35)
Spot T Tra 8 giorni inizia il Pentathlon, partecipiamo? (27.04.24, 16:27)
Antonio Cerrato BOINC Workshop 2024 a Ginevra https://indico.cern.ch/event/1379525/overview (23.04.24, 00:31)
astroale ok è tornato (17.04.24, 20:00)
astroale anche a voi boincstats mostra una pagina bianca ? (16.04.24, 23:57)
boboviz Una prece per Higgs (10.04.24, 12:11)
Per usare la chat devi effettuare il login.
Benvenuto, Ospite
Nome utente: Password: Ricordami
  • 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: 5724
  • Ringraziamenti ricevuti 338
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:
Sostieni BOINC.Italy con una donazione.



Folding@Home

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: 3527
  • Ringraziamenti ricevuti 38
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: 5724
  • Ringraziamenti ricevuti 338
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:
Sostieni BOINC.Italy con una donazione.



Folding@Home

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: 3527
  • Ringraziamenti ricevuti 38
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: 5724
  • Ringraziamenti ricevuti 338
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:
Sostieni BOINC.Italy con una donazione.



Folding@Home

Ultima Modifica: da sabayonino.
L\'Argomento è stato bloccato.
  • Pagina:
  • 1
Tempo creazione pagina: 0.158 secondi
Powered by Forum Kunena