[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OpenMosix e MPI [OT]



Alessio Curri wrote:

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

No anzi sei stato molto chiaro, anche per me: mi ha fatto comodo un approfondimento visto che devo scrivere delle cose in proposito, e devo scegliere cosa scrivere.
Grazie 1000.
G.



Reply to: