Re: OpenMosix e MPI [OT]
Ciao,
lavoro da un po' di tempo con (piccoli) cluster di calcolo e anche con
dei siti grid (LCG)
Gino wrote:
Ciao a tutti.
Come sempre mi scontro con il meccanismo di replay to della lista, che
fa si che quando si risponde la mail venga mandata in privato... :)
Come ho già scritto, io non uso ne OpenMosix, ne MPI (ho esigenze di
clustering un po' particolari), ma credo, in una visione
semplicistica, che la situazione sia più o meno la seguente: Open
Mosix, grossomodo non è altro che una specie di aggiunta al kernel di
ogni macchina del cluster,
Vero, (openmosix...) se non ricordo male è solo per il kernel 2.4
che permette di migrare i processi sulla macchina del cluster con meno
carico di lavoro; si comporta cioè come uno scheduler (nella visione
grid-computing).
Openmosix (e in generale la tecnologia mosix) permette alle macchine di
esser viste come una macchina sola (SSI, single system image) e si
comporta (a dir la verità, molto approssimatamente) come uno scheduler
distribuito (inteso come scheduler del kernel, non come uno scheduler
intenso di norma nei cluster di calcolo)
Per quanto riguarda il grid-computing (almeno nella grid intensa come da
progetto EGEE per l'LCG, ovvero per LHC Computing Grid) openmosix non
viene assolutamente usato (ma quindi andiamo decisamente OT)
Ora non mi ricordo nei dettagli come funzioni e sopratutto, non so
quali aggiunte ha subito nel corso di questi ultimi mesi, ma credo che
in effetti si comporti così.
Openmosix ha anche altre features interessanti, ma che _a mio parere_,
non sono adatte per cluster di calcolo massimi (100+ cpu).
Per quel che riguarda invece MPI credo sia semplicemente una API per
programmare delle applicazioni per il calcolo parallelo, cioè consente
di creare applicazioni atte a funzionare su sistemi multiprocessore...
non so se preveda anche dei meccanismi di scheduling, come non so se
entrambi abbiano un meccanismo di remote system call o qualcosa di
simile... in ogni caso, non capisco perchè tu voglia tenerli
separati!! Apparentemente, per quel poco che ho letto sulle due
tecnologie, sono complementari... eppoi certo che le puoi tenere
separate: basta attivare OpenMosix e non farci girare sopra una
applicazione MPI...
MPI sono delle api (piuttosto complesse nell'implementazione) che
forniscono dei sistemi per far "comunicare" i programmi tra loro in
ambiente di calcolo parallelo (quindi sia tra diverse cpu, sia tra
diversi nodi). Mi spiego meglio: sono ottimizzate allo scopo del calcolo
parallelo e spesso sono anche estremamente ottimizzate per, ad esempio,
sfruttare delle schede a bassissima latenza (mirynet, infiniband...).
Cmq una buona ricerca su google sicuramente sarà più esplicativa di
quello che posso essere io :)
Per quanto riguarda lo scheduler di job, il sistema + usato in ambiente
OS è sicuramente Torque+Maui, che sono essenzialmente le evoluzioni
dell'ormai mitico PBS (anche qui google).
Di norma Mosix e sistemi batch (quindi scheduler +, quando serve, MPI)
sono cluster con tecnologia "concorrente" e non si usano assieme (anche
per problemi legati alle performance... anche qui andremmo OT++), ma
nessuno vieta (ma nessuno nemmeno consiglia...) di installare entrambi e
di usarli di volta in volta in base al tipo di calcolo che si vuole
eseguire.
Cmq la scelta di che sistema usare dipente tantissmio da diverse
variabili quali, a minimo esempio, il "programma" da far girare, il
numero di nodi, etc etc,...
spero di aver bene inteso la situazione e di essere stato utile, anche
se solo alla lontana.
Cmq una quantità di info si trovano su google, anche se ovviamente è una
selva :)
Sperando di non aver portato confusione nella discussione,
Alessio
--
Alessio Curri
+39 040 375 8064
Software for Measurement Group
Experiments Division
Sincrotrone Trieste S.c.p.A.
S.S. 14 Km 163.5, in Area Science Park
34012 Basovizza - Trieste (Italy)
begin:vcard
fn:Alessio Curri
n:Curri;Alessio
email;internet:alessio.curri@elettra.trieste.it
tel;work:+39 040 375 8064
tel;cell:3497935430
x-mozilla-html:TRUE
version:2.1
end:vcard
Reply to: