# Ruby "distribuito"

**URL:** <https://www.ruby-forum.com/t/ruby-distribuito/192205>\
**Category:** IT\
**Created:** [July 26, 2010, 12:13pm UTC](https://www.ruby-forum.com/t/ruby-distribuito/192205 "2010-07-26T12:13:08Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![1w4n](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/1/65b543/32.png) [@1w4n](https://www.ruby-forum.com/u/1w4n)\
**Post date:** [July 26, 2010, 12:13pm UTC](https://www.ruby-forum.com/t/ruby-distribuito/192205/1 "2010-07-26T12:13:08Z")

</div>

Ciao,  
sto partecipando ad un progetto di ricerca genetica e sto realizzando  
con altri colleghi un’applicazione web in Rails che tra le varie cose  
consente di organizzare e gestire le analisi “intensive” (dal punto di  
vista computazionale) che vengono poi eseguite su diverse macchine  
remote.

La gestione della distribuzione dei calcoli e’ stata finora implementata  
con una soluzione “fatta in casa”: inizialmente infatti tutte le analisi  
venivano inviate ad un cluster controllato da un server che implementava  
un gestore di code e di risorse (Torque+Maui). Ora abbiamo accesso ad  
ulteriori macchine che hanno differenti gestori di code e vorremmo, se  
possibile, sfruttare - nei momenti di non utilizzo - i personal computer  
in dotazione.

Un’analisi e’ normalmente composta dai seguenti passi:

- recupero di dati dal database o da un file di dati
- preparazione del file di input
- preparazione dello script da eseguire
- accesso e trasferimento dello script, degli eseguibili (se non gia’  
presenti sulla macchina remota) e dei file di input (in SSH)
- inizio esecuzione (se non Ã¨ presente un gestore di code l’esecuzione  
inizia subito, altrimenti potrebbe venire rimandata)
- trasferimento (SSH) dei file di output, cancellazione dei file dalla  
macchina remota
- parsing dei risultati e salvataggio nel db

Ora vorrei rendere piu’ generale la procedura finora implementata per  
eseguire in remoto (su pc o cluster) le varie analisi che tenga conto:

- del tipo diverso di macchine (SO)
- della presenza o meno di gestori di risorse e/o code
- della disponibilita’ della macchina (carica o libera?)
- della gestione delle abilitazioni delle macchine ad eseguire una certa  
analisi. Non ci sono solo eseguibili da linea di comando: ci sono  
analisi che richiedono Java, altre che richiedono il software statistico  
R, ecc. Altre analisi richiedono la presenza di specifiche librerie (ad  
esempio gnuplot, imagemagick, ecc.)
- della gestione dei permessi dei vari utenti (l’utente U e’ autorizzato  
ad eseguire E su S?)

Inoltre sarebbe bello poter monitorare lo stato delle varie macchine che  
come si evince sono piuttosto disomogenee, e memorizzare un minimo di  
storico.

Prima di reinventare la ruota, esiste gia’ un plugin o una gemma che fa  
qualcosa di simile a quanto vorrei realizzare?

Grazie mille, come al solito, per i vostri suggerimenti,  
Iwan

---

<div class="post-metadata">

**Author:** ![1w4n](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/1/65b543/32.png) [@1w4n](https://www.ruby-forum.com/u/1w4n)\
**Post date:** [July 26, 2010, 12:28pm UTC](https://www.ruby-forum.com/t/ruby-distribuito/192205/2 "2010-07-26T12:28:40Z")

</div>

Frose potrebbe interessarti questo post:

[http://blog.pdatasolutions.com/post/191978092/ruby-on-hadoop-quickstart](http://blog.pdatasolutions.com/post/191978092/ruby-on-hadoop-quickstart)

che parla dell’uso di Apache Hadoop con Ruby.

Il 26 luglio 2010 12.13, Iwan B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

> un gestore di code e di risorse (Torque+Maui). Ora abbiamo accesso ad
> 
> - inizio esecuzione (se non è presente un gestore di code l’esecuzione
> - della gestione delle abilitazioni delle macchine ad eseguire una certa
> 
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

–  
Carlo P.  
email: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
twitter: @carlopecchia

---

<div class="post-metadata">

**Author:** ![1w4n](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/1/65b543/32.png) [@1w4n](https://www.ruby-forum.com/u/1w4n)\
**Post date:** [July 27, 2010, 10:25am UTC](https://www.ruby-forum.com/t/ruby-distribuito/192205/3 "2010-07-27T10:25:13Z")

</div>

Ti consiglio distribute programming with ruby.

–  
Raoul J.P. Bonnal  
Life Science Informatics  
Integrative Biology Program  
Fondazione INGM  
Via F. Sforza 28  
20122 Milano, IT  
phone: +39 02 006 623 26  
fax: +39 02 006 623 46

> **[Home - INGM](https://ingm.org/)**
>
> \[vc\_row full\_width=”stretch\_row\_content\_no\_spaces” u\_row\_style=”0″ u\_row\_paralax=”0″ u\_row\_scheme=”0″\]\[vc\_column\]\[vc\_column\_text\]\[/vc\_column\_text\]\[/vc\_column\]\[/vc\_row\]\[vc\_row full\_width=”stretch\_row\_content\_no\_spaces” u\_row\_style=”0″...
