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
on 2010-07-26 12:13
on 2010-07-26 12:28
Frose potrebbe interessarti questo post: 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 Buetti <iwan.buetti@mac.com> 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 > > Ml@lists.ruby-it.org > http://lists.ruby-it.org/mailman/listinfo/ml > -- Carlo Pecchia email: c.pecchia@gmail.com twitter: @carlopecchia
on 2010-07-27 10:25
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 http://www.ingm.it
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.