Live chat

valterc Windows 7, Nvidia 980 (25.03.24, 21:11)
valterc https://www.gpugrid.net/results.php?hostid=100638 (25.03.24, 21:11)
puurome2 Purtroppo di Work Unit ATM non ce ne sono più per GPUGRID. Quando c'erano la work unit mi andava sempre in errore. Questo problema delle unità ATM ce l'hanno molti utenti Windows. (24.03.24, 21:09)
samu986 valterc, ah, ok, grazie mille! Speriamo ce ne possano essere allora! (24.03.24, 10:11)
valterc (non sono disponibili sempre però) (22.03.24, 16:18)
valterc uhmmm le workunit ATM: Free energy calculations of protein-ligand binding vanno anche su Windows (22.03.24, 16:17)
samu986 zioriga, oh...ecco spiegato l'arcano...beh, grazie mille per la delucidazione! Spero che andando avanti ce ne potranno essere anche per Windows. Grazie ancora! (21.03.24, 17:58)
zioriga la risposta è semplice, attualmente le Wu per GPU sono solo per LInux (21.03.24, 11:39)
samu986 Buongiorno a tutti, sapete per caso se GPUGRID funziona bene? A me interessano le WU per GPU, infatti ho selezionato solo quelle, ma non mi arriva niente da mesi. Qualcuno potrebbe aiutarmi, per cortesia? (21.03.24, 10:59)
boboviz problemi su Denis@home (11.03.24, 16:02)
Spot T entity macina con l'armata al completo, io a ranghi ridotti e Boinc.Italy è attualmente prima (in L2) (29.02.24, 19:12)
Spot T Ieri è iniziato FB 2024, con le varie novità e subito lo sprint. Per chi volesse partecipare il progetto è Numberfields (29.02.24, 19:10)
boboviz e con i 5gb da scaricare tutte le volte.... (29.02.24, 15:48)
boboviz con il vecchio wrapper (29.02.24, 15:48)
boboviz ancora le wus virtualbox di Rosetta (29.02.24, 15:48)
zioriga al momento io sono quarto assoluto e BOINC.Italy è al terzo posto (14.02.24, 17:57)
zioriga Per chi volesse 'partecipare, c'è in funzione il challenge BOINCStats su RamanujanMachine https://www.boincstats.com/stats/challenge/team/chat/1121 (14.02.24, 17:57)
Spot T eh... il discorso non fa una piega... (11.02.24, 19:33)
Nubman @valterc: chiedono di te https://www.primegrid.com/forum_thread.php?id=10427&nowrap=true#169137 (11.02.24, 18:29)
BeppeGio Asteroids@home non è chiuso.... ho scaricato un paio di giorni fa (07.02.24, 17:33)
Per usare la chat devi effettuare il login.
Benvenuto, Ospite
Nome utente: Password: Ricordami

Supporta BOINC.Italy con una piccola donazione
Leggi tutto...
  • Pagina:
  • 1
  • 2

ARGOMENTO:

Progetto brain 17/02/2012 12:07 #76449

  • marco.russo
  • Avatar di marco.russo Autore della discussione
  • Offline
  • RAM 64 KB
  • RAM 64 KB
  • Messaggi: 15
  • Ringraziamenti ricevuti 0
Buongiorno a tutti.

Sono il Prof. Marco Russo ordinario di informatica del dipartiemento di Fisica ed Astronomia dell'Univ. di CT.

Ho sviluppato un sw estrememente complesso ed ovviamente distribuito
di intelligenza artificiale basato su ambiente linux a 64 bit che
utilizza semplicemente i socket per la comunicazione.

La tecnica che utilizzo e' la programmazione genetica. Al momenti lo scopo e' quello di identificare modelli
a partire da dati sperimentali. In parole povere, come le reti neurali, ma diversamente da questi trovo
le formule matematiche (espressioni formali insomma).

Il progetto prevede diversi steps uno piu' ardito del successivo. Avere a disposizione
piu' elaboratori mi sarebbe di grande aiuto.

Il sito su cui girano i vari servers e' superpippo.ct.infn.it/~marco .
Scaricandosi lo script bash "demone", abilitando il bit di esecuzione ed infine eseguendolo
si partecipa alla mia ricerca. Come nel progetto boinc il tutto va in background a priorità
bassissima.

Mi chiedevo se qui in questa bellissima comunità potevo trovare aiuto.

Cordiali saluti
Marco Russo, Ph.D.

Full Professor of Computer Science
tel: 095 378 53 26
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
skype: pitollik

Si prega Accedi o Crea un account a partecipare alla conversazione.

Ultima Modifica: da baxnimis. Motivo: corretto link al server

Re: Progetto brain 17/02/2012 12:17 #76450

  • baxnimis
  • Avatar di baxnimis
  • Offline
  • RAM >4 GB
  • RAM >4 GB
  • BOINC.Italy Admin
  • Messaggi: 6589
  • Ringraziamenti ricevuti 1
marco.russo ha scritto:

... ambiente linux a 64 bit che utilizza semplicemente i socket per la comunicazione.


mi potresti spiegare questa affermazione?

In parole povere, come le reti neurali, ma diversamente da questi trovo
le formule matematiche (espressioni formali insomma).

:eek: :eek: :eek:

Scaricandosi lo script bash "demone", abilitando il bit di esecuzione ed infine eseguendolo
si partecipa alla mia ricerca. Come nel progetto boinc il tutto va in background a priorità
bassissima.


c'è qualche documentazione che spieghi un po' la cosa... così... tanto per non partecipare alla generazione di bitcoin per te invece che partecipare a una ricerca :ciapet:

inoltre: mi sembra di aver capito che gira solo su linux... è vero?

client a 32 o a 64 bit?

e poi tanto per chiudere... a che punto della ricerca sei arrivato?

Mi chiedevo se qui in questa bellissima comunità potevo trovare aiuto.


secondo me lo trovi ;)

Si prega Accedi o Crea un account a partecipare alla conversazione.

Ultima Modifica: da baxnimis.

Re: Progetto brain 17/02/2012 12:32 #76451

  • marco.russo
  • Avatar di marco.russo Autore della discussione
  • Offline
  • RAM 64 KB
  • RAM 64 KB
  • Messaggi: 15
  • Ringraziamenti ricevuti 0
Caro baxnimis,
provero' a rispondere anche se sui dettagli del software debbo soprassedere in quanto ci lavoro da 3-4 anni
ed e' di diverse 10k linee tutte assai ottimizzate per calcolo vettoriale e distribuito.

La tecnica che sta alla base la puoi intuire su it.wikipedia.org/wiki/Programmazione_genetica anche se brain e' molto piu' complesso ti puoi fare un'idea.

Cmq. Innanzitutto se vuoi vederlo in azione basta che visiti il link che ho messo prima. Stanno girando diversi
progetti in contemporanea con lo scopo di autoottimizzazione del mio sw. Un po come i programmi che giocano a scacchi che giocano da soli per migliorarsi :) :).

Tanto per darti un'idea 2 progetti che troverai in run riguardano la modellazione di impianti fotovoltaici.

Per fare "girare" il mio sw occorre semplicemente un pc connesso in rete anche dietro un firewall.
Non utilizzo nient'altro che il TCP/IP per la comunicazione tra i clients (la versione del software
che dovrebbe essere ospitata dai volontari che si auto scarica con lo script demone (si lo
so e' un nome assai infelice)). Attualmente ho compilato i clients per diverse piattaforme a 64 bits:
sse2, ssse4.1 ssse4.2 e avx se ricordo bene, ma credo di poter compilare anche a 32 bits...
Il sistema operativo DEVE essere linux.

Al momento sto facendo un genetico del genetico .... Se non sei un esperto di queste tecniche non
ho proprio idea di come spiegare in poche parole cosa sto facendo.

Marco Russo

Si prega Accedi o Crea un account a partecipare alla conversazione.

Ultima Modifica: da baxnimis. Motivo: corretto link wikipedia

Re: Progetto brain 17/02/2012 12:43 #76452

  • baxnimis
  • Avatar di baxnimis
  • Offline
  • RAM >4 GB
  • RAM >4 GB
  • BOINC.Italy Admin
  • Messaggi: 6589
  • Ringraziamenti ricevuti 1
marco.russo ha scritto:

...sui dettagli del software debbo soprassedere in quanto ci lavoro da 3-4 anni ed e' di diverse 10k linee tutte assai ottimizzate per calcolo vettoriale e distribuito.

La tecnica che sta alla base la puoi intuire su "it.wikipedia.org/wiki/Programmazione_genetica" anche se brain e' molto piu' complesso ti puoi fare un'idea.


no no, non volevo i dettagli :D
comunque mi vado a guardare la wiki, così entro in argomento ;)

Cmq. Innanzitutto se vuoi vederlo in azione basta che visiti il link...


ti ho corretto il link perchè il forum lo aveva tagliato ;)

si, sono andato a vederlo ma ho bisogno di più tempo e info per capire cosa sto guardando... non me ne volere ;)

Per fare "girare" il mio sw occorre semplicemente un pc connesso in rete anche dietro un firewall.
Non utilizzo nient'altro che il TCP/IP per la comunicazione tra i clients (la versione del software
che dovrebbe essere ospitata dai volontari che si auto scarica con lo script demone (si lo
so e' un nome assai infelice)). Attualmente ho compilato i clients per diverse piattaforme a 64 bits:
sse2, ssse4.1 ssse4.2 e avx se ricordo bene, ma credo di poter compilare anche a 32 bits...
Il sistema operativo DEVE essere linux.


io non ho attualmente nessun PC con linux, lunedì rientro in Italia e mi ero ripromesso di virtualizzare Linux su un PC per dare una mano ad un alro progetto che per ora sfrutta solo quella piattaforma.

Io sul link che hai scritto non ho trovato... ma non ho cercato molto... un link al client

quindi come dovrebbe fare uno in pratica per darti una mano?

scarica l'applicazione (da dove) e i dati iniziali (da dove), poi elabora e invia i dati (come).
oppure gira di continuo?
potresti specificare in pratica cosa dovrebbe fare un utente per aiutarti?

Al momento sto facendo un genetico del genetico .... Se non sei un esperto di queste tecniche non
ho proprio idea di come spiegare in poche parole cosa sto facendo.


non preoccuparti, ti chiederò magari più dettagli quando sarò in grado di comprendere le tue risposte :cincin:



P.S. non allarmarti, sto cercando di raccogliere info perchè la cosa mi interessa ;)

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 17/02/2012 14:12 #76457

  • marco.russo
  • Avatar di marco.russo Autore della discussione
  • Offline
  • RAM 64 KB
  • RAM 64 KB
  • Messaggi: 15
  • Ringraziamenti ricevuti 0
OPS....Sono il solito rinc.... (leggasi smemorato).
Il demone si scarica dal sito, ma non ho fatto il link. Il file si chiama demone e si trova proprio nella cartella indicata prima.

Quindi se 6 con linux basta scrivere:
wget superpippo.ct.infn.it/~marco/demone (lo scarichi dal server)
poi fai
chmod +x demone (lo rendi eseguibile)
e infine
nohup ./demone > /dev/null 2> /dev/null & (lo esegui in background ed elimini qualunque output inutile..)
Poi puoi anche chiudere la finestra e finche non spegni il PC rimane in esecuzione.

Se vuoi contribuire in maniera definitiva basta mettere demone nel file di init e lui sara' sempre attivo... :) :)

Il demone e' un semplice script bash che non fa altro che controllare sul server se esiste una sua versione
piu' aggiornata ed eventualmente si aggiorna da solo. Inoltre, questi, scarica in remoto il sw
brain_client ( e di volta in volta i suoi aggiornamenti, ogni volta che ricompilo) e lo lancia in background un certo numero di volte. Anche diverse decine di volte!!! Quindi non ti preoccupare se ad un certo punto
trovi anche una 50ina di brain_client in esecuzione.

Infine, ogni brain_client inizia a collaborare con gli evetuali brain_servers che io lancio sul server
(superpippo.ct.infn.it) ognuno dei quali si occupa di un problema da modellizzare diverso.... Se al momento non c'e' alcun brain_server in esecuzione i clients semplicemente dormono....
Ovviamente non appena i brain_client vanno in esecuzione se non eri al 100% di utilizzo della CPU
ci arrivi IMMEDIATAMENTE!!! :D :D Attenzione la mia applicazione e' peggio del CPUburnin, ergo
se hai un PC overcloccato e non e' perfettamente stabile si PIANTA!!!

Per inciso ho anche creato una iso di un CD autobootante che da la possibilità
su un PC a 64 bits di fare partire ubuntu con il mio demone preinstallato. Il CD non monta
l'hd (ergo i tuoi dati rimangono al sicuro) ed e' ovviamente provvisto di firewall....
Quindi con tale sistema un qualsiasi PC (sempre a 64 bits) non utilizzato di notte puo contribuire!!!
La mattina si spegna bruscamente (tanto l'hd non e' montato) e si riacende senza CD
e si torna al proprio ambiente normale...) A richiesta posso metterlo sul server....

#io non ho attualmente nessun PC con linux, lunedì rientro in Italia e mi ero ripromesso di virtualizzare Linux su #un PC per dare una mano ad un alro progetto che per ora sfrutta solo quella piattaforma.
Ahhhhhh ecco chi mi visitava il sito dalla RUSSIA!!! :D:D
Cmq con il linux virtualizzato credo puoi contribuire davvero poco. Al momento il mio PC di punta e' un I7 2600k raffreddato a liquido e stabilmente overcloccato :):) E' conto a breve di acquistarne qualche altro.... :)
Cmq se hai dati da modellizzare per una tua ricerca possiamo parlarne in privato... Hai i miei dati sopra.
In effetti, sto anche cercando collaborazioni (Al momento ho una sola collaborazione con l'ENEL).
Piu' il sw gira e meglio funziona (oltre alle possibili pubblicazioni scientifiche che mi interessano sempre).

#ti ho corretto il link perchè il forum lo aveva tagliato
GRAZIE

Marco

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 17/02/2012 15:42 #76463

  • astroale
  • Avatar di astroale
  • Offline
  • Referente QCN / Radioactive
  • Referente QCN / Radioactive
  • Messaggi: 3907
  • Ringraziamenti ricevuti 106
Scusa la domanda scontata ... hai in programma di fare un porting delle tue applicazioni sulla piattaforma BOINC ?
Immagino che adattare algoritmi genetici a questa piattaforma non sia la cosa più semplice del mondo e lo stanno a dimostrare i problemi che hanno avuto all'inizio gli sviluppatori del progetto milkway . Tuttavia se il tuo SW girasse su BOINC invece di un solo volenteroso/curioso Bax, avresti migliaia di utenti in breve tempo.

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 17/02/2012 16:04 #76473

  • marco.russo
  • Avatar di marco.russo Autore della discussione
  • Offline
  • RAM 64 KB
  • RAM 64 KB
  • Messaggi: 15
  • Ringraziamenti ricevuti 0
Caro Astroale,
grazie x la tua domanda (per nulla scontata!!!)
Data la complessità del mio sw e' impensabile compilarlo x windows.
Dopodiche' se un PC è a 64 bits, e' in rete ed ha linux a prescindere che vi
sia boinc o meno e' perfettamente abile ad eseguire il mio sw ....
Basta lanciare lo script!!!! :concordo:

Ad esempio puo' girare tranquillamente sulla griglia, ma non ha alcun bisogno
della stessa. Basta far partire lo script su ogni singolo hosts disponibile
e lui fa il resto... Tutto il sw di gestione della griglia mi e' soltanto di
impaccio.... :maroni:

Forse potrei in qualche maniera integrare lo script con boinc :typing:
(e probabilmente anche senza particolare sforzo), ma cmq se
ci sono pochi volenterosi, non ha granche' senso....

Grazie
Marco

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 17/02/2012 16:09 #76476

  • morse
  • Avatar di morse
  • Offline
  • Administrator
  • Administrator
  • Messaggi: 9196
  • Ringraziamenti ricevuti 3
marco.russo ha scritto:

Caro Astroale,
grazie x la tua domanda (per nulla scontata!!!)
Data la complessità del mio sw e' impensabile compilarlo x windows.
Dopodiche' se un PC è a 64 bits, e' in rete ed ha linux a prescindere che vi
sia boinc o meno e' perfettamente abile ad eseguire il mio sw ....
Basta lanciare lo script!!!! :concordo:

Ad esempio puo' girare tranquillamente sulla griglia, ma non ha alcun bisogno
della stessa. Basta far partire lo script su ogni singolo hosts disponibile
e lui fa il resto... Tutto il sw di gestione della griglia mi e' soltanto di
impaccio.... :maroni:

Forse potrei in qualche maniera integrare lo script con boinc :typing:
(e probabilmente anche senza particolare sforzo), ma cmq se
ci sono pochi volenterosi, non ha granche' senso....

Grazie
Marco



Per questo esiste un wrapper che permette di interfacciare BOINC con la tua applicazione senza bisogno di rifarla da zero.
Mettendo su un progetto BOINC avresti a disposizione molte più risorse rispetto a quelle che gli utenti di BOINC.Italy potrebbero donarti.
Non c'è bisogno di compilarla per windows, esiste anche il client linux di BOINC ;)
PC1: Intel Q9400 2.66 GHz, ASUS P5KC, nVidia GeForce 9400GT (smontata al momento), ATI HD5850, maxtor 250 GB, 4 GB ram Kingston.
PC2: Intel E8400 3.0 GHz, ASROCK G31M-GS, 2 GB ram Kingston, maxtor 80 GB, nVidia GTX275





http://stats.free-dc.org/badges.php?proj=yoy&id=17281&rows=1

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 17/02/2012 17:07 #76481

  • Simone
  • Avatar di Simone
  • Offline
  • Referente eOn2 / Leiden
  • Referente eOn2 / Leiden
  • Messaggi: 828
  • Ringraziamenti ricevuti 0
C'entrano qualcosa gli algoritmi genetici?? Sono veramente magici quelli :eek:
Per avere un'idea, che potenza computazionale avresti bisogno? Un computer, 10, 100 o millemila??
Se ti servono molti pc portare il programma su BOINC sarebbe ottimo, altrimenti per uno come me che ha un solo pc sarebbe difficile :S Boinc e il tuo programma si mangerebbero cpu a vicenda molto probabilmente :(
Altre informazioni interessanti potrebbero essere:
-> Un solo run della tua applicazione usa tutti i core del pc, oppure su un ottocore (ed esempio) partono 8 run?
-> Quanta ram serve in media per ogni run?
-> Durata di elaborazione approssimativa? (un'ora, un giorno, una settimana?)
-> Mentre si elabora serve che il pc sia connesso a internet?
-> Le elaborazioni come funzionano? Vengono scaricati degli input, elaborati e rimandati i risultati oppure qualcosa di più 'strano'?
Mentre cerco di farmi venire altre domande scarico il demone e provo a farlo elaborare un pochino ;) Linux64bit presente!
Scusa per il sovraccarico di domande :asd:

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 17/02/2012 17:23 #76484

  • astroale
  • Avatar di astroale
  • Offline
  • Referente QCN / Radioactive
  • Referente QCN / Radioactive
  • Messaggi: 3907
  • Ringraziamenti ricevuti 106
morse ha scritto:

marco.russo ha scritto:

Caro Astroale,
grazie x la tua domanda (per nulla scontata!!!)
Data la complessità del mio sw e' impensabile compilarlo x windows.
Dopodiche' se un PC è a 64 bits, e' in rete ed ha linux a prescindere che vi
sia boinc o meno e' perfettamente abile ad eseguire il mio sw ....
Basta lanciare lo script!!!! :concordo:

Ad esempio puo' girare tranquillamente sulla griglia, ma non ha alcun bisogno
della stessa. Basta far partire lo script su ogni singolo hosts disponibile
e lui fa il resto... Tutto il sw di gestione della griglia mi e' soltanto di
impaccio.... :maroni:

Forse potrei in qualche maniera integrare lo script con boinc :typing:
(e probabilmente anche senza particolare sforzo), ma cmq se
ci sono pochi volenterosi, non ha granche' senso....

Grazie
Marco

Per questo esiste un wrapper che permette di interfacciare BOINC con la tua applicazione senza bisogno di rifarla da zero.
Mettendo su un progetto BOINC avresti a disposizione molte più risorse rispetto a quelle che gli utenti di BOINC.Italy potrebbero donarti.
Non c'è bisogno di compilarla per windows, esiste anche il client linux di BOINC ;)

Esatto esiste anche il client per linux, quindi inizialmente potresti evitare il porting su windows, c'è da dire che il 90% dell potenza di calcolo per BOINC è fornito da PC windows.

Credo che il vantaggio dei vari porting dipenda dalla potenza di calcolo di cui hai bisogno. Se ti basta qualche decina di PC non-BOINC forse li puoi trovare in questo team, anche che se ho paura che intersecando gli smanettoni capaci di far girare un'applicazione non-BOINC con quelli che hanno a disposizione un linux 64bit, il numero diventa piuttosto esiguo, io ad esempio su linux ho solo 2 vecchi PC a 32bit.

Riguardo il wrapper potresti riferirti al progetto yoyo che se non sbaglio ne ha sviluppato uno.
Non ricordo se Simone (che gestisce il primo progetto BOINC italiano usa un wrapper o meno).
Mentre per l'argomento "algoritmi genetici vs BOINC" potresti provare nelle pubblicazioni del progetto milkway.

Si prega Accedi o Crea un account a partecipare alla conversazione.

Ultima Modifica: da astroale.

Re: Progetto brain 17/02/2012 17:38 #76486

  • marco.russo
  • Avatar di marco.russo Autore della discussione
  • Offline
  • RAM 64 KB
  • RAM 64 KB
  • Messaggi: 15
  • Ringraziamenti ricevuti 0
Caro Simone provero' a risponderti.

C'entrano qualcosa gli algoritmi genetici?? Sono veramente magici quelli
Si! Anche se e' una tecnica un po diversa e piu' complessa che si chiama programmazione genetica!!

Per avere un'idea, che potenza computazionale avresti bisogno? Un computer, 10, 100 o millemila??
Piu' PC ho e piu' complessi sono i problemi che posso provare a risolvere.
Cmq la mia idea finale del progett) e' di fare evolvere un CERVELLO con meno vincoli di quello naturale
a partire da una specie di DNA artificiale, col'intento di creare una nuova generazione di reti neurali. Step definitivo, usare i risultato ottenuti per creare un cervello distribuito in grado di imparare autonomaente dalla rete!!! So che sembra fantascienza, ma questa e' ricerca pura e mi dovrebbe tenere occupato per diversi anni..
In definitiva, non ti do un numero di CPU... piu' ne ho e meglio e'!!!

Altre informazioni interessanti potrebbero essere:
-> Un solo run della tua applicazione usa tutti i core del pc, oppure su un ottocore (ed esempio) partono 8 run?

I run sono tanti in genere piu' delle CPU (al momento una 50ina). Ma se la ram sta per finire diminuiscono....

-> Quanta ram serve in media per ogni run?
Dipende dai problemi che sto cercando di risolvere. Al momento (cioe' per i dati che girano adesso)
ci vogliono pochissime decine di MB x run.

-> Durata di elaborazione approssimativa? (un'ora, un giorno, una settimana?)
Per sempre (in teoria). Funziona cosi':
Quando ti istalli il demone, partono i brain_clients.
Quando io faccio partire un brain_server, tutti i clients iniziano a lavorare... Quando nessun server "gira" tutti i clients dormono!!

-> Mentre si elabora serve che il pc sia connesso a internet?
Si!! Ma lo scambio dati e' minimale.. a regime 1-2 kB/s ....

-> Le elaborazioni come funzionano? Vengono scaricati degli input, elaborati e rimandati i risultati oppure qualcosa di più 'strano'?
Aspita, mi stai facendo un esame!!!
Scambio i dati sia all'inizio che durante. All'inizio sono di piu' (sono i dati da modellare) ed in seguito
i dati che servono per la cooperazione di tutti i clients nel mondo...

Mentre cerco di farmi venire altre domande scarico il demone e provo a farlo elaborare un pochino Linux64bit presente!
Ti ringrazio!! Avevo già notato il tuo IP (che puoi vedere anche tu sbirciando la pagina web)!
Nella seconda tabella di ogni progetto c'e' l'elenco di ogni IP che partecipa a quel progetto e con quanti clients. Ed infine la speed virtuale di calcolo che stai offrendo a quel progetto!!!

Scusa per il sovraccarico di domande
Di nulla!!

Marco

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 17/02/2012 17:40 #76488

  • Simone
  • Avatar di Simone
  • Offline
  • Referente eOn2 / Leiden
  • Referente eOn2 / Leiden
  • Messaggi: 828
  • Ringraziamenti ricevuti 0
Testato per qualche minuto l'applicazione e mi sorgono altre due domande:
1) Ho visto che lancia millemila processi che fanno a lotta a chi si prende più cpu. Non sarebbe più efficiente lanciare tanti processi tanti sono i core a disposizione (o magari anche con una bella opzione da linea di comando tipo '-nt 8')
2) Come diavolo faccio a terminarli tutti senza riavviare il pc??? Ho appena killato chissà quanti processi via top :S

Riguardo il wrapper, anche io lo uso ed è molto comodo: prendi il tuo eseguibile così com'è e lo lancia. Ci pensa lui ad interfacciarsi con boinc per tutto il resto.

Se vuoi poi realmente avere tanta gente che ci elabora devi creare qualcosa che riesca ad interessare l'utente, tipo fargli capire che cosa sta elaborando in quell'istante, magari inventare una sorta di punteggio assegnato per ogni unità completata, o qualcosa di simile :D

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 17/02/2012 17:49 #76491

  • marco.russo
  • Avatar di marco.russo Autore della discussione
  • Offline
  • RAM 64 KB
  • RAM 64 KB
  • Messaggi: 15
  • Ringraziamenti ricevuti 0
Aiuto! Mi fate un sacco domande per unità di tempo!!!

Allora per uccidere il tutto devi prima uccidere il demone e poi i clients!!
Altrimenti se uccidi i clients, dopo un sec il demone li fa ripartire!!!

Come ti ho detto in precedenza esiste una tabella che ti da la tua potenza
istantanea di calcolo rapportata agli altri IP per ogni processo.

Se trovo abbastanza interesse potrei fare una pagina riassuntiva che
elenca tutti gli IP che hanno mai collaborato e li ordina per il numero
totale di computazioni messe a disposizione per il mio
progetto nel suo complesso (una specie di SCORE insomma)!!!

Riguardo al wrapper che citavi, mi daresti un link che sbircio????


Marco

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 17/02/2012 17:54 #76492

  • marco.russo
  • Avatar di marco.russo Autore della discussione
  • Offline
  • RAM 64 KB
  • RAM 64 KB
  • Messaggi: 15
  • Ringraziamenti ricevuti 0
Scordavo la sequenza giusta per uccidere il tutto da terminale e' nell'ordine
pkill -9 demone
pkill -9 brain

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 17/02/2012 17:55 #76493

  • Simone
  • Avatar di Simone
  • Offline
  • Referente eOn2 / Leiden
  • Referente eOn2 / Leiden
  • Messaggi: 828
  • Ringraziamenti ricevuti 0
Per avere un'idea di come funzioni la gestione del lavoro su un server boinc e sul wrapper che mettono a disposizione, questo è il materiale ufficiale: boinc.berkeley.edu/trac/wiki/ProjectMain
Direi che potrebbe essere utile leggere le prime pagine nella sezione 'Overview documents (read these first)', mentre informazioni sul wrapper sono più sotto in 'Developing BOINC applications'
Come wiki è abbastanza confusa secondo me, ma al livello pratico è tutto molto semplice ;)

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 18/02/2012 15:16 #76539

  • Simone
  • Avatar di Simone
  • Offline
  • Referente eOn2 / Leiden
  • Referente eOn2 / Leiden
  • Messaggi: 828
  • Ringraziamenti ricevuti 0
Spiando un po' cosa fa il tuo script 'demone' posso dirti che praticamente il client boinc fa la stessa cosa di quello script: guarda che cpu hai, scarica l'applicazione adatta per la tua cpu, controlla l'eventuale versione che hai già in locale e guarda se ci sono aggiornamenti e fa partire l'eseguibile.
Ho provato a scaricarmi direttamente l'eseguibile bypassando lo script 'demone' e ho provato a lanciarlo.
Una prima esecuzione è terminata dopo pochi minuti stampando un bel 'SONO STATO DICHIARATO MORTO!!':

Id assegnato: 264 Sat Feb 18 13:38:40 2012
Nome progetto test_all_functions
ID 264. Decisione del server: Il set B è da gettare. (mA= 3 mB= 0) (nA=28898 nB=28863) (Sat Feb 18 13:40:01 2012)
ID 264: SONO STATO DICHIARATO MORTO!! Sat Feb 18 13:44:59 2012

Che significa? Qualche errore o semplicemente 'lavoro terminato'
Una seconda elaborazione sta girando da circa un quarto d'ora senza stampare nulla.

Secondo me portare l'applicazione su boinc non dovrebbe rilevarsi una missione tanto impossibile. L'applicazione brain si dovrebbe poter lasciare così com'è, l'unica cosa che bisogna capire è come gestire le varie unità di lavoro.

Nel caso che tu non voglia imbarcarti nell'avventura di adattare il tutto al sistema boinc, se vuoi che qualche utente boinc ceda parte del proprio pc al tuo progetto è indispensabile:
-> fare in modo che il tuo demone conviva con boinc senza mangiargli cpu
-> creare delle statistiche - purtroppo però non ci si può basare sull'ip dato che sono dinamici nel 99% dei casi
-> creare qualche pagina descrittiva del progetto che invogli e interessi
Ovviamente sono mie impressioni personali. A come è il progetto adesso non potrei dedicargli tempo purtroppo :(

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 18/02/2012 15:35 #76540

  • baxnimis
  • Avatar di baxnimis
  • Offline
  • RAM >4 GB
  • RAM >4 GB
  • BOINC.Italy Admin
  • Messaggi: 6589
  • Ringraziamenti ricevuti 1
Allora, faccio un riassunto, perchè pur non potendo partecipare attivamente ancora per qualche giorno, non mi va che questa opportunità non venga colta da noi, ma anche dal prof. Russo.


Il Prof. Marco Russo sviluppa SW (distribuito) di intelligenza artificiale basato su ambiente linux a 64 bit che
utilizza la tecnica della programmazione genetica per... al momenti lo scopo e' quello di identificare modelli
a partire da dati sperimentali - in parole povere, come le reti neurali, ma diversamente da questi trovo
le formule matematiche (espressioni formali insomma), ma in futuro l'idea è quella di creare un vero e propio cervello distribuito.

Il progetto ( link alla homepage ) non sfrutta BOINC ma lavora in modo un po' simile

Chi volesse dare una mano dovrebbe scaricare un demone dal sito del progetto ed eseguirlo, ricordandosi di lasciare funzionante il collegamento internet:

dal terminale di linux scrivere
wget superpippo.ct.infn.it/~marco/demone (lo scarichi dal server)
poi scrivere
chmod +x demone (lo rendi eseguibile)
ed infine scrivere
nohup ./demone > /dev/null 2> /dev/null & (lo esegui in background ed elimini qualunque output inutile.)

Il demone e' un semplice script bash che non fa altro che controllare sul server se esiste una sua versione
piu' aggiornata ed eventualmente si aggiorna da solo.
Inoltre, questi, scarica in remoto il sw brain_client (e di volta in volta i suoi aggiornamenti) e lo lancia in background un certo numero di volte. Anche 50 contemporaneamente.

Infine, ogni brain_client inizia a collaborare con gli evetuali brain_servers che io lancio sul server: ognuno dei quali si occupa di un problema da modellizzare diverso.
Se al momento non c'e' alcun brain_server in esecuzione allora i clients semplicemente dormono quindi non sfruttano la CPU.

Il client (o meglio i client) si prendono tutti i core che la CPU ha a disposizione (ma a questo siamo abituati... io vivo da 3 anni con tutti i PC al 100% :asd: ) senza possibilità di limitazione e inoltre sono piuttosto sensibili alla stabilità del computer.

RAM utilizzata: poche decine di MB per client
Banda utilizzata: 1-2 kB/s a regime (continui)

Per stoppare tutte le elaborazioni è necessario scrivere da terminale:
pkill -9 demone
poi
pkill -9 brain

Non è necessario aspettare che "finisca" di elaborare in quanto l'elaborazione, quando effettivamente c'è, è continua.

Non ci sono crediti di BOINC, sul sito si può verificare lo stato di avanzamento dell'applicazione che gira su server e gli indirizzi IP di chi sta collaborando.

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 18/02/2012 15:38 #76541

  • baxnimis
  • Avatar di baxnimis
  • Offline
  • RAM >4 GB
  • RAM >4 GB
  • BOINC.Italy Admin
  • Messaggi: 6589
  • Ringraziamenti ricevuti 1
Simone ha scritto:

...Una prima esecuzione è terminata dopo pochi minuti stampando un bel 'SONO STATO DICHIARATO MORTO!!':


chissà, parlando di evoluzione (quindi anche di selezione naturale... mi sono letto solo la pagina wiki, più di li per ora non sono andato :asd: ) magari il tuo client stava dando risultati folli ed è stato scartato :D

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 18/02/2012 15:52 #76542

  • baxnimis
  • Avatar di baxnimis
  • Offline
  • RAM >4 GB
  • RAM >4 GB
  • BOINC.Italy Admin
  • Messaggi: 6589
  • Ringraziamenti ricevuti 1
marco.russo ha scritto:

...Forse potrei in qualche maniera integrare lo script con boinc :typing: (e probabilmente anche senza particolare sforzo), ma cmq se ci sono pochi volenterosi, non ha granche' senso....


il discorso è che qui magari trovi 3 volenterosi... pochi hanno linux, pochi si imbarcano nella cosa, siamo abituati a BOINC etc etc... ma una volta entrato nel "giro" BOINC di computer contemporaneamente connessi magari ne hai 300 e allora le cose cambiano, credo, per te

Non ti preoccupare del fatto che la CPU va al 100%, io ho 5 computer e da 3 anni girano al 100%, GPU comprese... ci sono abituato e come me migliaia di utenti

e per quanto sia "anomalo" per il mondo BOINC il fatto che il client comunichi con il server anche durante l'elaborazione, non credo tu ti debba preoccupare nemmeno di questo (per un eventuale porting)

piuttosto la cosa che ha certamente bisogno di una regolazione è il fatto che vengano lanciati decine di run, che magari dormono o magari funzionano, senza possibilità di limitare l'uso che fanno della CPU... chi partecipa a BOINC generalmente supporta più progetti

Si dovrebbe fare in modo che il demone lanci solo le run che andranno certamente in elaborazione attiva, probabilmente una sola oppure una per core disponibile nel PC: BOINC funziona in modo tale che una unità di lavoro occupa un core, alla fine dei calcoli termina, manda i dati al server e ne inizia un'altra.

Se le run sono potenzialmente infinite allora si potrebbe mettere un tempo limite, 4 ore tanto per dare un numero, e poi lanciare la run successiva. I crediti da assegnare al computer che ha lavorato per 4 ore potrebbero essere fissi oppure basati sulla "quantità di calcoli eseguiti" ammesso che tu riesca a calcolarla



insomma, secondo me BOINC ti darebbe la possibilità di avere centinaia di computer, anche 24 su 24, ma dovresti cercare di adattarti un po' alle logiche di BOINC

Si prega Accedi o Crea un account a partecipare alla conversazione.

Re: Progetto brain 18/02/2012 17:57 #76569

  • marco.russo
  • Avatar di marco.russo Autore della discussione
  • Offline
  • RAM 64 KB
  • RAM 64 KB
  • Messaggi: 15
  • Ringraziamenti ricevuti 0
Buonasera a tutti,
rinnovo un grazie vivissimo x la collaborazione.

Prima di provare a rispondere a tutti cito quanto detto da me in precedenza (solo x completezza):
"Per inciso ho anche creato una iso di un CD autobootante che da la possibilità
su un PC a 64 bits di fare partire ubuntu con il mio demone preinstallato. Il CD non monta
l'hd (ergo i tuoi dati rimangono al sicuro) ed e' ovviamente provvisto di firewall....
Quindi con tale sistema un qualsiasi PC (sempre a 64 bits) non utilizzato di notte puo contribuire!!!
La mattina si spegna bruscamente (tanto l'hd non e' montato) e si riacende senza CD
e si torna al proprio ambiente normale...) A richiesta posso metterlo sul server...."
P.S. Nel frattempo potete tranquiillamente provare ubuntu (anche se non e' la versione migliore) e se vi piace potete anche installarlo!!!

Per quanto riguarda il "sono stato dichiarato morto" non c'e' da preoccuparsi. Vuol dire che o la connessione e' stata troppo tempo down oppure il server aveva intuito che quel client (uno dei 50 i run) non stava contribuendo un granche' e' lo ha "UCCISO". Cmq il demone immediatamente (o quasi) ne lancia un'altro!!

Da diverse osservazioni credo che qualcuno non e' esattamente come dire ... ferratissimo ... con linux.... In primis sottolineo che i miei brain_client girano a priorità minima possibile. Ergo qualunque altro processo viene prima!! Io lavoro tranquillamente sul server e mentre gira il server girano i clients, compilo, programmo, chiacchero con skype (p.s. se volete potete sempre contattarmi (pitollik)), leggo la posta etc etc etc..
Lo scheduler di linux poi gestisce il tutto. Se io ho dei brain_client addormentati (quando cioe' non vi e' nessun brain_server in esecuzion) questi e' come se non ci fossero, praticamente non occupano nessun ciclo di CPU!!
Nel momento in cui vi sono molti clients (ed il loro numero al momento e' 50, ma in caso di molti volenterosi diminuira'...) ci pensera lo scheduler a mandarli in esecuzione assieme a tutti gli altri processi!! Posso cmq fare tutte le modifiche che voglio... Ad esempio potrei mettere un parametro del demone che corrisponde al numero max di clients che deve mandare in esecuzione. Ma non pensate che cambia molto se un n-core lancia n processi oppure m. Diciamo che se m non e' molto maggiore di n, la CPU viene nel mio caso sfruttata un po meglio, oltre che la natura degli algoritmi evolutivi si avvantaggia dall'avere molti processi. Tempo fa ho pubblicato un lavoro su IEEE Transactions on Neural Networks, in cui dimostravo una cosa che per diverso tempo non ho azzardato a proporre agli editors perche' mi pareva impossibile. Poi xo' ho scoperto che le leggi della natura hanno avvaloravano quanto avevo trovato. Nell'evoluzione e' preferibile avere 100 tribu' di 100 individui che di tanto in tanto "scambiano" un individuo tra loro, che una tribu' di 100x100 individui....

Per quanto riguarda il fatto di dover comunicare quel circa kB al secondo questi e' proprio quello che ho appena menzionato ed e' di vitale importanza per l'evoluzione totale....

P.S. Se per caso state guardando i risultati sul server, non fate caso che l'errore non scende troppo. Al momento ogni circa 3 ore resetto i servers e li faccio ripartire. Sto provando una cosa un po folle che sembra cominciare a dare risultati. Il mio programma sta cercando da solo di ottimizzare le innumerevoli costanti presenti (il tutto ovviamente con un genetico... )

Mi ripropongo non appena ho un po di tempo di capire se posso utilizzare boinc...

Cmq rimearcando quanto detto prima, posso fare e intendo prima o poi farlo un qualcosa che forse piacerà ai volenterosi. Una sorta di classifica in cui tengo aggiornato il numero totale di calcoli virtuali (per favore non chiedertemi dettagli su questo... diciamo per semplicità il niemro di exp equivalenti a come li fa il server) per ogni IP che partecipa....

Tenete presente che cmq ancora siamo nella ricerca pura e sto cambiando spesso il sw provando e riprovando molte piccole idee e migliorie. Inoltre sono da solo e fra pochi gg inizio i miei corsi (sigh ancora per un anno dovro' insegnare in una facoltà umanistica con 400 studenti, immaginate che divertimento per uno come me....che oltre al calcolo parallelo si occupa di computer architecture e di prpgetatazione digitale....). Questo e' il mio lavoro e non posso esimermi....

Nel frattempo con quei quattro spiccioli che ho al momento di ricerca conto di fare un piccolo supercalcolatore tutto costituito da I7 2600k (mi servono le AVX, il mio sw e' fortemente vettoriale e se ne giova tantissimo) messi in in minuscoli case min-itx. Il tutto overcloccato e raffreddato tramite un una unica unità esterna a liquido. Conto di riciclare una unita esterna di un condizionatore (si lo so cosa state pensando.... ma non OSATE scriverlo!!)

Prima di mettere mano al porting per boinc devo capire se sono limitato sulla comunicazione durante il processamento ed in caso positivo di quanti effettivi volontari con linux posso effettivamente trovare.

Certo sarebbe carino convincere tutti i "mulers" con linux ad avviare il mio demone per lo meno la notte....

Per il discorso dei 64 bit non credo di avere problemi nel compilare anche a 32 anche se le prestazioni di un 32 bit rispetto ad un I72600k che eseguono il mio sw) sono notevolmente diverse! Anche decine di volte...) Tanto per farvi capire. Al momento l'IP 192.0.0.50 e' il 2600k, mentre il 192.167.0.216 e' un server sempre a 64 bit di pochi anni fa e la differenza prestazionale, come potete vedere nella quarta colonna della II tabella e' di ben 30 volte!!!

Argggh ho scritto un romanzo. Mi riposo le dita e rinnovo il saluto tutti.

Marco

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Pagina:
  • 1
  • 2
Moderatori: camposReLeon
Tempo creazione pagina: 0.178 secondi
Powered by Forum Kunena