Vorrei costruire un super PC mettendo assieme in un super clustering 3 o 4 pc, mi hanno detto che si possono condividere praticamente quasi tutte le risorse, CPU, memoria, Hd, varie...
[HELP] Clustering, Supercomputer casalingo !
Collapse
X
-
-
Commenta
-
-
Originariamente Scritto da SergioVorrei costruire un super PC mettendo assieme in un super clustering 3 o 4 pc, mi hanno detto che si possono condividere praticamente quasi tutte le risorse, CPU, memoria, Hd, varie...
prendiamo come esempio la mia slak con openmosix.
occorrono
Almeno due computer collegati in rete.
I sorgenti del kernel.
I sorgenti openmosix che trovi su:
www.kernel.org troviamo i sorgenti del kernel, useremo la versione 2.4.20.
Su sourceforge.net troviamo i sorgenti openmosix.
Precisamente in http://sourceforge.net/projects/openmosix/
Sempre su sourceforge.net troviamo gli user tool.
Sempre in http://sourceforge.net/projects/openmosix/
Su www.openmosixview troviamo i link per scaricare i tool visuali. Ma quasto
passaggio e' opzionale. Cmq l'indirizzo e' http://www.openmosixview.com/ .
Io mi sono trovato meglio con la penultima versione rispetto all'ultima.
Innanzitutto assumere la personalita' di root !! indispensabile. Copiamo il
kernel appena scaricato nella locazione usuale /usr/src
cp linux-2.4.20.tar.bz2 /usr/src/
rechiamoci quindi in /usr/src con
cd /usr/src
rimuoviamo il link "linux"
rm linux
scompattiamo i sorgenti
bunzip2 linux-2.4.20.tar.bz2
tar xf linux-2.4.20.tar
rimettiamo a posto il link "linux"
ln -s linux.2.4.20 linux
adesso copiamo i sorgenti openmosix all'interno della directory dei sorgenti
del kernel
cp openmosix-2.4.20.2.gz /usr/src/linux
rechiamoci all'interno di questa stessa directory
cd /usr/src/linux
Ora dobbiamo applicare le patch.
zcat openmosix-2.4.20.2.gz | patch -Np1
Scegliamo la configurazione del nostro kernel
make xconfig (opure make menuconfig per i puristi)
scegli pure tutte le opzioni che openmosix mette a disposizione. ma
non ti spiego qui come procedere alla ricompilazione del kernel. I passaggi fino a qui riportati
devono essere eseguiti su tutti i nodi (tutti i pc) che comporranno il
nostro clustering. Sincerati,ovviamente di avere ottenuto un kernel
avviabile. Quando tutti i pc si avviano in maniera corretta con i kernel
"truccati" possiamo procedere oltre, precisamente nella compilazione ed
installazione degli Usertool. Crea una directory nella tua home dove
sistemeremo i sorgenti. Anche una direcory in /usr funzionerebbe. Decidi
la posizione della directory in base all'organizzazione del tuo file
system. Ipotiziamo che si utilizzi il seguente path: /hone/utente/openmosix .
Trasferiamo i sorgenti nella /home/utente
cp OpenMosixuserland-0.2.4.tgz /home/utente/
ci rechiamo in tale directory
cd /home/utente/
scompattiamo l'archivio
tar zxf OpenMosixuserland-0.2.4.tgz
Abbiamo cosi' ottenuto una ulteriore directory, vi entriamo e lanciamo il
classico ls -la
cd OpenMosixuserland-0.2.4
ls -la
Quello che a noi interessa e' (soprattutto) il file " configuration "
che deve essere leggermente modificato. Cercate in questo file la riga che
indica il path dei sorgenti del kernel. Qualcosa di questo tipo:
OPENMOSIX = home/irbis/openMosix/cvsom/linux-openmosix/linux-openmosix WORKS
e fai in modo che punti ai sorgenti del vostro kernel 2.4.20, piu' o
meno cosi':
OPENMOSIX = /usr/src/linux
fatto questo salva le modifiche , incrocia le dita e digita
make all
Dovrebbe essere sufficiente questo a compilare ed installare il
tutto. Ovviamente leggiti il README e qualunque altro file possa
fornirvi delle info utili. Ricordati anche di eseguire i passaggi su
tutti i nodi del cluster.ora dobbiamo settare
il file di configurazione e lo script di avvio. Cominciamo con il file di
configurazione. Esso puo' avere piu' di un nome, come specificato all'interno
del file " configuration " , modificato pochi passaggi fa. Io ho scelto di
usare il seguente nome : " openmosixmap " . Il file deve essere posizionato
in /etc, coi permessi come vedi qui sotto:
-rwxr-xr-x 1 root root 54 apr 24 15:32 openmosix.map
Segue il contenuto del file:
---------------------------------------------
1 192.168.0.3 1
2 192.168.0.1 1
2 192.168.0.2 ALIAS
---------------------------------------------
La prima colonna indica il nodo del cluster. La seconda colonna
indica l'indirizzo ip del nodo. La terza colonna indica il range dei
nodi collegati. Come possiamo vedere i due indirizzi ip 192.168.0.1 e
192.168.0.2 appartengono alla stessa macchina (la prima colonna e' = 2 per
entrambi), inoltre la specifica " ALIAS " indica che vi sono due schede di
rete. Evidentemente il pc funge anche da gateway, o qualcosa di analogo.
Il file NON deve inziare con la direttiva tipica degli script di shell,
e cioe':
#! /bin/sh
Quindi le tre righe riportate sopra SONO il file nella sua interezza.
Vi e' anche un altro file col quale dobbiamo fare i conti. Si tratta di "
openmosixconfig " , e deve essere locato sempre in /etc. Tuttavia tale file
al suo interno e' totalmente commentato, per cui non ne ho parlato. Lo allego
per completezza, ma nel mio caso la sua utilita' e' stata zero.
-------------------------------------------------------------------------------
# This file can be used to change the default behaviour of the # openMosix
startup-script.
#
# Force autodiscovery-daemon to start, even with a valid .map-file
# AUTODISC=1
# Specify which network interface the autodiscovery-daemon should listen to
#AUTODISCIF=eth
# Set the values of /proc/hpc/admin/overheads
# OVERHEADS=
# Set the values of /proc/hpc/admin/mfscosts
# MFSCOSTS=
# Set the openMosix node-id of this node
# MYOMID=
# Set maximum number of gateways between openMosix nodes (see man setpe)
# MOSGATES=
------------------------------------------------------------------------------
Ora dobbiamo spostare lo script di avvio. Tale script si trova in
/home/utente/OpenMosixUserland-0.2.4/scripts
Qui trovi un solo script , dal nome molto intuitivo " openmosix ".
dobbiamo trasferire tale script in /etc/rc.d . Quindi
cd /home/utente/OpenMosixUserland-0.2.4/scripts
cp openmosix /etc/rc.d/
diamogli i giusti permessi esattamente come vediamo qui sotto:
-rwxr-xr-x 1 root root 5452 Apr 7 15:41 openmosix
Adesso sempre come root rechiamoci nella directory radice, cioe' / e creiamo
una directory col nome " mfs "
cd / mkdir mfs
Questa directory e' una vera chicca. contiente il file system distribuito! Io
non ho approfondito questo punto poiche' utilizzo nfs per la condivisione
del file system. Pero' e' davvero una chicca! quando
avrai ricompilato il kernel noterai la voce "openmosixfilesystem".
Bene, se la hai abilitata sappiate che dall'interno di questa directory
possiamo accedere a tutti i pc di tutti i nodi. Comodo vero ? Direi che ci
siamo!! Ora un bel reboot ai sistemi, incrocio delle dita e da root digitare:
root@vostropc# /etc/rc.d/openmosix start
Se tutto e' stato ok la risposta sara':
openMosix: Using map file /etc/openmosix.map
Initializing openMosix...
root@vostropc#
Ripeti la procedura sull'altro computer (o sugli altri commputer). E
Adesso digiate
mosmon
Apparira' un grafico con uno stile un poco retro' che ci indica il numero dei
nodi e la percentuale di utilizzo. Adesso lancia su uno dei pc un processo
molto impegnativo, tipo la trasformazione di un brano musicale oppure la
codifica in DVX di un film e guarda come i processi vengono distribuiti
sull'intera rete. Ma ... come si " governa " il mostro appena creato? con
questi comandi:
mosctl , mosmon , mosrun, setpe.
Come al solito man + comando sortisce l'effeto di visualizzare una ottima
spiegazione in inglese.
Per altre architetture vi sono dei pacchetti rpm che non ho
testato. Per i debianisti vi e' un ottimo pacchetto in stile apt-get, come
piace molto ai seguaci di tale distro. Openmosix non e' l'unico strumento
per realizzare un cluster. Vi e' anche Mosix che non e' free, inoltre vi e'
anche beowulf. Mi rendo conto di non aver speso una parola riguardo alla
soluzione dei problemi ma è una cosa intenzionale.
Last edited by Ribosio80; 12-03-2005, 15:12:35.
Commenta
-
-
Originariamente Scritto da Ayurvedi77Capisco, però io preferisco parlare di argomenti che conosco così posso dare un aiuto a chi si trova in difficoltà
a dire il vero l'anno scorso mi sono interessato di clustering per 2 sett circa
Commenta
-
-
Originariamente Scritto da SergioIl fatto di usare una versione di Kernel più bassa rispetto a quella aggiornata non significa nulla di particolare in termini di bug, prestazioni o compatibilità con altri programmi vero ?
Certo, però, non hanno la maturità di un 2.4.29...
Per quanto riguarda i bug dipende: il tuo può essere anche un 2.4.x, che essendo più vecchio 'sulla carta' dovrebbe avere meno bug, ma se è pesantemente patchato non ci giurerei...
Commenta
-
Commenta