6 999
contributi
m (aggiunte categorie) |
S3v (discussione | contributi) Nessun oggetto della modifica |
||
Riga 4: | Riga 4: | ||
== Prerequisiti == | == Prerequisiti == | ||
Per affrontare la costruzione di un cluster si | Per affrontare la costruzione di un cluster si dovrà sapere installare e configurare correttamente un sistema Debian/Linux, ricompilare un Kernel e avere buone conoscenze di networking. | ||
== Brevi accenni al clustering == | == Brevi accenni al clustering == | ||
Un cluster (letteralmente grappolo) | Un cluster (letteralmente grappolo) è un insieme di unità indipendenti di calcolo (es. PC) che cooperano per la soluzione di un problema comune. | ||
per la soluzione di un problema comune. | Le varie unità di calcolo sono connesse tra loro tramite un mezzo di comunicazione e il calcolo viene distribuito in maniera differente in base a come è stato creato il cluster. | ||
Le varie | |||
In questa guida si | In questa guida si tratterà solo di una parte del calcolo distribuito, quella più "casalinga", ricordando però che esistono altre soluzioni molto più performanti e dedicate. | ||
OpenMosix svolge un tipo di distribuzione del calcolo molto semplice e trasparente per l'utente. | OpenMosix svolge un tipo di distribuzione del calcolo molto semplice e trasparente per l'utente. | ||
Esso si occupa di dividere in maniera equa i processi tra tutti i nodi che cooperano, funziona molto bene con i programmi che svolgono un lavoro non sequenziale ma che dividono il lavoro in parti (fork). | Esso si occupa di dividere in maniera equa i processi tra tutti i nodi che cooperano, funziona molto bene con i programmi che svolgono un lavoro non sequenziale ma che dividono il lavoro in parti (fork). | ||
Un esempio di operazione che viene distribuita | Un esempio di operazione che viene distribuita bene è la ricompilazione del kernel o il rendering di immagini. | ||
== Scenario == | == Scenario == | ||
Lo scenario tipico in cui si usa OpenMosix | Lo scenario tipico in cui si usa OpenMosix è una serie di PC collegati tra loro tramite una connessione ethernet. | ||
Non importa che i PC siano tutti uguali, | Non importa che i PC siano tutti uguali, in quanto si occuperà il sistema di decidere se un processo deve essere distribuito tra i nodi oppure no. | ||
= Installazione = | = Installazione = | ||
OpenMosix lavora tra il livello userspace e il livello kernelspace, per la costruzione si deve patchare e ricompilare il kernel. | |||
==Patch del kernel== | ==Patch del kernel== | ||
*Scaricare il kernel 2.4.26 | *Scaricare il kernel 2.4.26: | ||
<pre># wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.6.tar.bz2</pre> | |||
*Scompattarlo in /usr/src | *Scompattarlo in <code>/usr/src</code>: | ||
<pre># mv kernel-2.4.26.tar.bz /usr/src | |||
# cd /usr/src | |||
# tar xfvj linux-2.4.26.tar.bz</pre> | |||
*Creare un link simbolico come segue | *Creare un link simbolico come segue: | ||
<pre># ln -s linux-2.4.26 linux-openmosix</pre> | |||
* | *Spostarsi nella directory <code>/usr/src</code> e scaricare la patch Openmosix : | ||
<pre># wget http://switch.dl.sourceforge.net/sourceforge/openmosix/openMosix-2.4.26-1.bz2 </pre> | |||
*Patchare il kernel | *Patchare il kernel: | ||
<pre># bzcat openMosix-2.4.26-1.bz2 | patch -Np1</pre> | |||
*Ricompilare il kernel attivando le voci relative ad | *Ricompilare il kernel attivando le voci relative ad Openmosix. | ||
==Installare OMtools== | ==Installare OMtools== | ||
*Scarichiamo il pacchetto e scompattiamolo | *Scarichiamo il pacchetto e scompattiamolo: | ||
<pre># wget http://heanet.dl.sourceforge.net/sourceforge/openmosix/openmosix-tools-0.3.6-2.tar.gz | |||
# mv openmosix-tools-0.3.6-2.tar.gz /opt | |||
# tar xfvz openmosix-tools-0.3.6-2.tar.gz</pre> | |||
*Installiamolo | *Installiamolo: | ||
<pre># cd /opt/openmosix-tools-0.3.6-2 | |||
# ./configure && make && make install</pre> | |||
= Configurazione = | = Configurazione = | ||
== openmosix.map== | == openmosix.map== | ||
Editare /etc/openmosix.map per indicare ad OpenMosix quali sono i nodi | Editare <code>/etc/openmosix.map</code> per indicare ad OpenMosix quali sono i nodi appartenenti alla rete che coopereranno tra loro. | ||
Il file | Il file dovrà contenere nel primo campo il numero del nodo e poi il suo indirizzo IP o il suo nome (che dovrà essere presente in <code>/etc/hosts</code>). | ||
L'ultimo campo | L'ultimo campo sarà il numero di processori presenti in ogni macchina. | ||
1 nodo1 1 | 1 nodo1 1 | ||
Riga 73: | Riga 70: | ||
=Test= | =Test= | ||
*Avviare il demone in tutti i nodi | *Avviare il demone in tutti i nodi: | ||
<pre># /etc/init.d/openmosix start</pre> | |||
*Lanciare il contro grafico | *Lanciare il contro grafico: | ||
<pre># mosmon</pre> | |||
Se tutto | Se tutto è a posto si dovrebbe vedere il grafico col nostro nodo. | ||
[[Categoria:Kernel]][[Categoria: Networking]] | [[Categoria:Kernel]][[Categoria: Networking]] |
contributi