Gestione grossi calcoli su piattaforma condivisa

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

Avatar utente
Foto Utentecronos80
1.546 1 6 12
Expert EY
Expert EY
Messaggi: 636
Iscritto il: 17 gen 2012, 9:43
0
voti

[11] Re: Gestione grossi calcoli su piattaforma condivisa

Messaggioda Foto Utentecronos80 » 7 lug 2015, 15:19

Russell ha scritto:Beh, se riesci a lanciare il tuo lavoro tramite una semplice riga di comando, credo si possa scriversi degli script che siano in grado di gestire questa logica.

Continuo ad essere del parere che un sistema client-server sia più efficiente (in qualsiasi linguaggio).
Innanzitutto, perché siccome le macchine sono diverse uno script funzionante su una non è detto che su un'altra macchina giri e bene. Inoltre, non sarebbe multipiattaforma, andrebbe solo su linux e magari nemmeno tutte le distro.
Inoltre, oggi il fattore discriminante potrebbe essere solo la memoria RAM, domani anche la velocità del processore o lo spazio su disco.
Viste le capacità informatiche di Foto UtenteDarwinNE impostare un sistema di questo tipo non credo gli possa impiegare troppo tempo.
O_/
Non cercare di piegare il cucchiaio. È impossibile. Cerca invece di fare l'unica cosa saggia: giungere alla verità. Il cucchiaio non esiste. Allora ti accorgerai che non è il cucchiaio a piegarsi, ma sei tu stesso!

Avatar utente
Foto UtenteDanteCpp
4.730 3 9 13
Master EY
Master EY
Messaggi: 1106
Iscritto il: 15 dic 2011, 17:51
1
voti

[12] Re: Gestione grossi calcoli su piattaforma condivisa

Messaggioda Foto UtenteDanteCpp » 7 lug 2015, 15:31

Un'amica sta scrivendo una tesi su degli algoritmi di simulazione veloce dello spettrometro per muoni di ALICE (a quanto pare usare il termine simulatore è inappropriato).
L'algoritmo veloce oggetto della tesi, si basa su un altro software computazionalmente molto pesante che esegue la simulazione teoricamente completa degli eventi. Per darvi un'idea della complessità, sul grid dell'INFN per simulare uno scontro p-p a 2TeV sono necessari circa 15 giorni.

Faccio fatica a capire la dinamica classica figuriamoci la cromodinamica.
Tuttavia il "generatore" completo è scritto in c++ per mezzo del framework root, anzi non proprio root; ma una versione sviluppata dai ricercatori che lavorano all'esperimento ALICE, che si chiama aliroot.
Sta di fatto che la mia amica non aveva mai visto un sorgente c++ in vita sua, purtroppo qui da noi tutti i corsi di fisica computazionale sono in fortran e a suo dire, neanche di gran qualità.

Ecco perché la suddetta amica ha chiesto il mio modesto aiuto.
Naturalmente io non potevo lasciarmi scappare l'occasione di mandare jobs nel INFN-grid. :mrgreen:
Cosi ho deciso di aiutarla e allora vai con km di c++ scritto con i piedi! Spero proprio che non sia pecca di tutti i fisici scrivere codice in quel modo, questi qua non usano neanche un sistema di controllo versione.
Pensate che la settimana scorsa qualcuno ha modificato il generatore monte carlo che sta a monte dell'algoritmo fast, quindi tutti gli istogrammi comparati con quelli della full-simulation erano completamente diversi, certo, stavamo confrontando pere con banane! #-o

Comunque, ho divagato parecchio, solo per dire che...
...questa è solo la mia piccola esperienza di computazione distribuita e che potrebbe esseri utile il Berkeley Open Infrastructure for Network Computing, penso che sia INFN-grid che l' EGEE-grid usino un'infrastruttura simile.

Saluti,
Dante

Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
Messaggi: 4421
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France
Contatta:
0
voti

[13] Re: Gestione grossi calcoli su piattaforma condivisa

Messaggioda Foto UtenteDarwinNE » 7 lug 2015, 16:54

cronos80 ha scritto:Continuo ad essere del parere che un sistema client-server sia più efficiente (in qualsiasi linguaggio).


Adesso come adesso il software si usa collegandosi in SSH per preparare gli script che descrivono le cose da fare, lanciare i calcoli e recuperare i risultati. Non è proprio organizzato in maniera client-server, anche se non è detto che sia una cattiva idea (ma di sicuro non subito).

cronos80 ha scritto:Innanzitutto, perché siccome le macchine sono diverse uno script funzionante su una non è detto che su un'altra macchina giri e bene. Inoltre, non sarebbe multipiattaforma, andrebbe solo su linux e magari nemmeno tutte le distro.


Beh, già adesso il software è scritto in C++ perfettamente standard ed è in teoria totalmente multipiattaforma. In pratica, compilare tenendo conto delle varie librerie esterne (LAPACK, BLAS, FFTW3, etc) è talmente complicato che i soli sistemi operativi supportati sono MacOSX e Linux, perché sono quelli che uso io.

cronos80 ha scritto:Viste le capacità informatiche di DarwinNE impostare un sistema di questo tipo non credo gli possa impiegare troppo tempo.


Grazie, ma dato che non ho tantissimo tempo da dedicare all'attività, non vorrei reinventare l'acqua calda (a meno che la cosa non porti vantaggi). :oops:

DanteCpp ha scritto:Cosi ho deciso di aiutarla e allora vai con km di c++ scritto con i piedi! Spero proprio che non sia pecca di tutti i fisici scrivere codice in quel modo, questi qua non usano neanche un sistema di controllo versione.


Beh, purtroppo oggi quasi tutti gli scienziati di un certo livello devono scrivere un qualche genere di codice informatico. Dato che scrivere bene codice è qualcosa che richiede uno sforzo ed una preparazione specifica, se ne conclude che la maggior parte del codice scientifico è scadente dal punto di vista del software engineering. Ma non per questo il codice non ha valore o gli scienziati non debbono scriverne. Il problema ha aperto un dibattito perché certi scienziati sono consci del fatto che il loro codice non è bello a guardarsi e si vergognano a mostrarlo. Però la tendenza attuale è quella di condividere il codice sorgente per certi studi importanti:

http://www.nature.com/articles/sdata20154

P.S. noi usiamo già da anni un sistema di controllo di versione :cool:
Follow me on Mastodon: @davbucci@mastodon.sdf.org

Avatar utente
Foto UtenteDarwinNE
31,0k 7 11 13
G.Master EY
G.Master EY
Messaggi: 4421
Iscritto il: 18 apr 2010, 9:32
Località: Grenoble - France
Contatta:
0
voti

[14] Re: Gestione grossi calcoli su piattaforma condivisa

Messaggioda Foto UtenteDarwinNE » 7 lug 2015, 17:12

Stavo leggendo qua e là, mi pare che più che un sistema di parallellizzazione, avrei bisogno di un sistema di "load balancing". Stavo guardando cose di questo genere, voi avete esperienza in merito?

https://en.wikipedia.org/wiki/Linux_Virtual_Server
http://www.keepalived.org/index.html
Follow me on Mastodon: @davbucci@mastodon.sdf.org


Torna a “Programmi applicativi: simulatori, CAD ed altro”