Cluster
Signori, domandina. Sulla documentazione di Knoppix Cluster non ho trovato nulla, ma la pulce nell'orecchio mi è stata messa da un amico: se volessi creare un cluster di calcolo, le architetture dei singli cluster devono essere uguali? O meglio, devono essere tutti computer identici o posso collegare, chessò, un Athlon, un Pentium 4, un Pentium III?
Immagino che si possa collegare quello che si vuole, ma le certezze non fanno mai schifo.
Immagino che si possa collegare quello che si vuole, ma le certezze non fanno mai schifo.
Risposte
Possono essere diversi, sono sicuro perché ho provato a farne uno... addirittura è possibile mescolare architetture diverse SPARC, Alpha, i686 e PowerPC ad esempio. Almeno è possibile se fai un cluster MPI. Perché MPI converte i tipi delle macchine al momento del trasferimento dei dati. Ovviamente è consigliabile utilizzare macchine il più possibile uguali: in un'implementazione MPI/SMP si tiene conto del numero di processori su ogni macchina (e in particolare processi con rank successivi girano sulla stessa macchina), ma non delle loro prestazioni, almeno non in automatico. Se si usano macchine con prestazioni differenti se ne può tenere conto solo scrivendo codice "inteligente".
Knoppix cluster edition esattamente non so che tipo di cluster implementi, credo che utilizzi un kernel "distribuito" (OpenMosix) sulle varie macchine, ma se ti interessa fare calcoli è meglio orientarsi sull'MPI. Io mi sono orientato sulla libreria MPICH2:
http://www-unix.mcs.anl.gov/mpi/mpich/
e per le comunicazioni uso ssh fra i vari computer. Il vantaggio è che è molto veloce, si tratta solo di installare una libreria extra nei vari computer (non ci sono problemi va sia con linux che con mac e dovrebbe girare pure sotto win senza tr. problemi) (anche se è ben più facile fare queste cose sotto *nix). L'unica è che non ti devi aspettare una specie di "super" SMP: non è che lanci il kernel su tutti i computer e poi apri i programmi e lui li distribuisce, ma puoi eseguire solo codice programmato appositamente per girare con MPI (con Matlab non dovrebbero esserci problemi, ma nn ho mai provato) (Matlab usa mpich anche lui).
Knoppix cluster edition dovrebbe essere più simile all'SMP dal punto di vista dell'utente finale, probabilmente è più indicato per fare "superserver" piuttosto che calcoli in parallelo dove lo standard è ScientificLinux/RedHat/HP-UNIX + MPICH o, comunque, librerie basate sullo standard MPI.
Knoppix cluster edition esattamente non so che tipo di cluster implementi, credo che utilizzi un kernel "distribuito" (OpenMosix) sulle varie macchine, ma se ti interessa fare calcoli è meglio orientarsi sull'MPI. Io mi sono orientato sulla libreria MPICH2:
http://www-unix.mcs.anl.gov/mpi/mpich/
e per le comunicazioni uso ssh fra i vari computer. Il vantaggio è che è molto veloce, si tratta solo di installare una libreria extra nei vari computer (non ci sono problemi va sia con linux che con mac e dovrebbe girare pure sotto win senza tr. problemi) (anche se è ben più facile fare queste cose sotto *nix). L'unica è che non ti devi aspettare una specie di "super" SMP: non è che lanci il kernel su tutti i computer e poi apri i programmi e lui li distribuisce, ma puoi eseguire solo codice programmato appositamente per girare con MPI (con Matlab non dovrebbero esserci problemi, ma nn ho mai provato) (Matlab usa mpich anche lui).
Knoppix cluster edition dovrebbe essere più simile all'SMP dal punto di vista dell'utente finale, probabilmente è più indicato per fare "superserver" piuttosto che calcoli in parallelo dove lo standard è ScientificLinux/RedHat/HP-UNIX + MPICH o, comunque, librerie basate sullo standard MPI.
da quello che so io si possono utilizzare tranquillamente macchine di tipo diverso...logicamente, come dice david_e, è meglio utilizzare macchina quanto più simili possibili..ma per il resto non dovrebbero esserci problemi...
buon lavoro..
buon lavoro..
Grazie mille. Sebbene sia un hobby alquanto inutile, sarebbe stato anche molto più macchinoso e forirero di bestemmie senza l'indirizzamento di david_e.
Appena ci provo, aggiorno.
Appena ci provo, aggiorno.