Old:OpenMosix: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (aggiunte categorie)
m (spaziatura/box iniziale)
 
(10 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
{{stub}}
{{Old}}
==Introduzione==
=== Prerequisiti===


=Intro=
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.
== Prerequisiti ==


Per affrontare la costruzione di un cluster si dovra' sapere installare e configurare correttamente un sistema Debian/Linux, ricompilare un Kernel e avere buone conoscenze di networking.
=== Brevi accenni al clustering ===


Un cluster (letteralmente grappolo) è un insieme di unità indipendenti di calcolo (es. PC) che cooperano 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.


== Brevi accenni al clustering ==
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.
 
Un cluster (letteralmente grappolo) e' un insieme di unita' indipendenti di calcolo (es. PC) che cooperano
per la soluzione di un problema comune.
Le varie unita' di calcolo sono connesse tra loro tramite un mezzo di comunicazione e il calcolo viene distribuito in maniera differente in base a come e' stato creato il cluster.
 
In questa guida si trattera' solo di una parte del calcolo distribuito, quella piu' "casalinga", ricordando pero' che esistono altre soluzioni molto piu' 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 ben e' la ricompilazione del kernel o il rendering di immagini.
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 e' una serie di PC collegati tra loro tramite una connessione ethernet.
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, inquanto si occupera' il sistema a decidere se un processo deve essere distribuito tra i nodi oppure no.
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
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:
/root># wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.6.tar.bz2
<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>:
/root># mv kernel-2.4.26.tar.bz /usr/src
<pre># mv kernel-2.4.26.tar.bz /usr/src
/root># cd /usr/src
# cd /usr/src
/usr/src# tar xfvj linux-2.4.26.tar.bz
# tar xfvj linux-2.4.26.tar.bz</pre>
*Creare un link simbolico come segue
*Creare un link simbolico come segue:
/usr/src># ln -s linux-2.4.26 linux-openmosix
<pre># ln -s linux-2.4.26 linux-openmosix</pre>
*Scaricare la patch openmosix
*Spostarsi nella directory <code>/usr/src</code> e scaricare la patch Openmosix :
/usr/src> wget http://switch.dl.sourceforge.net/sourceforge/openmosix/openMosix-2.4.26-1.bz2  
<pre># wget http://switch.dl.sourceforge.net/sourceforge/openmosix/openMosix-2.4.26-1.bz2 </pre>
*Patchare il kernel
*Patchare il kernel:
bzcat openMosix-2.4.26-1.bz2 | patch -Np1
<pre># bzcat openMosix-2.4.26-1.bz2 | patch -Np1</pre>
*Ricompilare il kernel attivando le voci relative ad openmosix
*Ricompilare il kernel attivando le voci relative ad Openmosix.


==Installare OMtools==
===Installare OMtools===
*Scarichiamo il pacchetto e scompattiamolo
*Scarichiamo il pacchetto e scompattiamolo:
/root># wget http://heanet.dl.sourceforge.net/sourceforge/openmosix/openmosix-tools-0.3.6-2.tar.gz
<pre># wget http://heanet.dl.sourceforge.net/sourceforge/openmosix/openmosix-tools-0.3.6-2.tar.gz
/root># mv openmosix-tools-0.3.6-2.tar.gz /opt
# mv openmosix-tools-0.3.6-2.tar.gz /opt
/root># tar xfvz openmosix-tools-0.3.6-2.tar.gz
# tar xfvz openmosix-tools-0.3.6-2.tar.gz</pre>
*Installiamolo  
*Installiamolo:
/root># cd /opt/openmosix-tools-0.3.6-2  
<pre># cd /opt/openmosix-tools-0.3.6-2  
/opt/omtools># ./configure && make && make install
# ./configure && make && make install</pre>


= Configurazione =
== Configurazione ==


== openmosix.map==
===<code>openmosix.map</code>===
Editare /etc/openmosix.map per indicare ad OpenMosix quali sono i nodi appartenti alla rete che coopereranno.
Editare <code>/etc/openmosix.map</code> per indicare ad OpenMosix quali sono i nodi appartenenti alla rete che coopereranno tra loro.
 
Il file dovra' contenere nel primo campo il numero del nodo e poi il suo indirizzo IP o il suo nome (che dovra' essere presente in /etc/hosts).
L'ultimo campo sara' il numero di processori presenti in ogni macchina.


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 sarà il numero di processori presenti in ogni macchina.
<pre>
  1 nodo1  1
  1 nodo1  1
  2 nodo2  1
  2 nodo2  1
  3 nodo3  1
  3 nodo3  1
  4 nodo4  2
  4 nodo4  2
 
</pre>
oppure
oppure
 
<pre>
  1 192.168.0.1  1  
  1 192.168.0.1  1  
  2 192.168.0.2.  2
  2 192.168.0.2.  2
  3 192.168.0.43  1
  3 192.168.0.43  1
  4 192.168.0.3  1
  4 192.168.0.3  1
</pre>
=Test=
==Test==
*Avviare il demone in tutti i nodi  
*Avviare il demone in tutti i nodi:
/root># /etc/init.d/openmosix start
<pre># /etc/init.d/openmosix start</pre>
 
*Lanciare il contro grafico
/root># mosmon
Se  tutto e' apposto si dovrebbe vedere il grafico col nostro nodo.


*Lanciare il contro grafico:
<pre># mosmon</pre>
Se tutto è a posto si dovrebbe vedere il grafico col nostro nodo.


[[Categoria:Kernel]][[Categoria: Networking]]
{{Autori
|Autore=[[Utente:J3no|J3no]]
}}

Versione attuale delle 11:44, 25 giu 2016

Emblem-important.png Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica.


Introduzione

Prerequisiti

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

Un cluster (letteralmente grappolo) è un insieme di unità indipendenti di calcolo (es. PC) che cooperano 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.

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. 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 bene è la ricompilazione del kernel o il rendering di immagini.

Scenario

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, in quanto si occuperà il sistema di decidere se un processo deve essere distribuito tra i nodi oppure no.

Installazione

OpenMosix lavora tra il livello userspace e il livello kernelspace, per la costruzione si deve patchare e ricompilare il kernel.

Patch del kernel

  • Scaricare il kernel 2.4.26:
# wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.6.tar.bz2
  • Scompattarlo in /usr/src:
# mv kernel-2.4.26.tar.bz /usr/src
# cd /usr/src
# tar xfvj linux-2.4.26.tar.bz
  • Creare un link simbolico come segue:
# ln -s linux-2.4.26 linux-openmosix
  • Spostarsi nella directory /usr/src e scaricare la patch Openmosix :
# wget http://switch.dl.sourceforge.net/sourceforge/openmosix/openMosix-2.4.26-1.bz2 
  • Patchare il kernel:
# bzcat openMosix-2.4.26-1.bz2 | patch -Np1
  • Ricompilare il kernel attivando le voci relative ad Openmosix.

Installare OMtools

  • Scarichiamo il pacchetto e scompattiamolo:
# 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
  • Installiamolo:
# cd /opt/openmosix-tools-0.3.6-2 
# ./configure && make && make install

Configurazione

openmosix.map

Editare /etc/openmosix.map per indicare ad OpenMosix quali sono i nodi appartenenti alla rete che coopereranno tra loro.

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 /etc/hosts). L'ultimo campo sarà il numero di processori presenti in ogni macchina.

 1 nodo1  1
 2 nodo2  1
 3 nodo3  1
 4 nodo4  2

oppure

 1 192.168.0.1   1 
 2 192.168.0.2.  2
 3 192.168.0.43  1
 4 192.168.0.3   1

Test

  • Avviare il demone in tutti i nodi:
# /etc/init.d/openmosix start
  • Lanciare il contro grafico:
# mosmon

Se tutto è a posto si dovrebbe vedere il grafico col nostro nodo.




Guida scritta da: J3no Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized