PDF de programación - Clustering con Openmosix

Imágen de pdf Clustering con Openmosix

Clustering con Openmosixgráfica de visualizaciones

Publicado el 5 de Agosto del 2017
626 visualizaciones desde el 5 de Agosto del 2017
138,8 KB
18 paginas
Creado hace 20a (10/05/2003)
Clustering con Openmosix

Para la Linuv Install Party 2003.

Miguel Colomer Pastor

10 de Mayo de 2003

1

1 Introducción

1.1

¿Qué es?

• Un cluster no es más que un conjunto de máquinas conectadas entre sí para

poder realizar un trabajo conjunto.

• Necesita al menos dos nodos y normalmente no tienen múmero máximo de

nodos.

• Es una forma de sustituir Supercomputadores.

– Con precios muy inferiores (sobre el 10%) se consigue potencias de

cálculo similares

– No necesita especialistas en supercomputadores, sólo administradores

de sistemas.

– Posibilidad de reutilizar viejas máquinas que se vayan a descartar.

• Necesita una red de intercomunicación, siendo el ancho de banda un factor

limitante.

1.1.1 Ejemplos conocidos

• Google:

– 20.000 nodos repartidos en 7 centros de datos independientes.
– 5.000 millones de busquedas al mes (y subiendo) esto equivale a unas

2.000 por segundo.

– Usan linux Red Hat, siendo uno de los mayores clusters del mundo.

• Renderizacion de Peliculas:

– Shrek: DreamWorks usó 1.000 estaciones con Red Hat.
– Final Fantasy.

• Principales marcas constructoras de automoción y aeronáutica estan susti-

tuyendo supercomputadores Cray por clusters:

– BMW.
– Audi.
– FIAT.
– Boeing.

2

1.2 Tipos de clustering
1.2.1 Clusters no trasparentes.

Existen diversas formas de clustering y de programación que no es trasparente
al usuario, ya que requieren recompilar las aplicaciones o el uso de librerias es-
pecíficas.

• Beowulf: Es un tipo de clustering donde la programación paralela es explícita

y se ha de conocer la topología muy específica de la red.

• PVM MPI: no son ningun tipo de cluster en concreto, simplemente son unas
librerías para el paso de mensajes entre tareas, aunque estas tareas pueden
estar ejecutandose (o no) en el mismo nodo.

1.2.2 Clusters trasparentes.

• El programador no necesita conocer la existencia de la topología de la red.
• Se trabaja como se tratase de un multiprocesador.
• Técnicas de programación paralela, como creación de diferentes procesos,

o uso de librerías para programación paralela como PVM y MPI.

• Un ejemplo de todo esto es Mosix y OpenMosix (versión libre de Mosix).

1.3 Openmosix

• OpenMosix es un proyecto que surgió de la separación de los dos princi-

pales desarrolladores de Mosix:

– Amnon Barak: actual desarrollador principal de Mosix.
– Moshe Bar: quien empezó OpenMosix bajo licencia GPL.

• Openmosix funciona simulando un sistema multiprocesador.
• Reparte procesos entre los nodos según su carga de forma automática, trans-

parente y dinámica.

• Veremos más detalles en la sección 8.

3

2 Instalación

2.1 Descargar el SW

Deberemos descargar lo siguiente:

• Kernel a parchear: en nuestro caso 2.4.20

http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.bz2

• Parche 2.4.20-2 para soporte en kernel de OpenMosix

http://switch.dl.sourceforge.net/sourceforge/openmosix/openMosix-2.4.20-2.gz

• Openmosix Tools 0.3

http://switch.dl.sourceforge.net/sourceforge/openmosix/openmosix-tools-0.3.tgz

• Opcionalmente aunque es bastante recomendable el OpenMosixView 1.4
http://www.openmosixview.com/download/openmosixview-1.4-new.tar.gz

2.2 Preparación del kernel

• Descompresión del kernel:

Una vez descargado el kernel se deben realizar los siguientes pasos:

– cd /usr/src
– tar -xvjf /ruta/de/descarga/linux-2.4.20.tar.bz2 si se ha descargado en

formato bzip2

– tar -xvzf /ruta/de/descarga/linux-2.4.20.tar.gz si se ha descargado en

formato gzip

– Se creará el directorio /usr/src/linux-2.4.20, es muy recomendable tener
un link llamado /usr/src/linux que apunte al kernel en uso, conseguire-
mos esto con la orden
ln -s /usr/src/linux-2.4.20 /usr/src/linux

• Ahora pasaremos a parchear el kernel para incluirle las características de

OpenMosix

– Copiamos el parche al directorio de fuentes:

cp /ruta/de/descarga/openMosix-2.4.20-2.gz /usr/src

– Lo descomprimimos: gunzip /usr/src/openMosix-2.4.20-2.gz
– Entramos en el directorio del kernel: cd /usr/src/linux
– aplicamos el parche: patch -p1 <../openMosix-2.4.20-2

4

– Ya tenemos el kernel con las características de OpenMosix.

• Configuración del kernelcon el comando make xconfig

Para esta parte se recomienda haber realizado alguna compilación del kernel
2.4.20, estas son las opciones de la sección de OpenMosix más recomend-
ables.

• Compilación:

Como deberiais saber debemos hacer:

– make dep
– make clean
– make bzImage
– make modules
– make modules install

¡Ya tenemos el kernel compilado!

• Instalación del kernel, vamos a suponer que usamos el programa de ar-
ranque Lilo, además lo instalaremos como otro arranque opcional por si
algo falla poder rearrancar el sistema con algún otro kernel.

– cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.20-openmosix

5

– Se ha de editar el archivo /etc/lilo.conf y añadir:

image=/boot/vmlinuz-2.4.20-openmosix

label=OpenMosix
read-only

Seguido de las demás opciones a añadir al arranque del lilo.

2.3

Instalacion de las OpenMosix tools 0.3

• Descompresión:

– cd /usr/src
– cp /ruta/de/descarga/openmosix-tools-0.3.tgz .
– tar -xvzf openmosix-tools-0.3.tgz
– Se creará el directorio openmosix-tools-0.3/, entramos en el:

cd openmosix-tools-0.3

• Compilación:

– Antes de nada editar el fichero configuration y buscamos la definición

de la variable OPENMOSIX, dejandola así:

OPENMOSIX=/usr/src/linux

– Ahora realizaremos la compilación propiamente dicha:

make all

• Instalación: se ha de realizar un simple make install

2.4

Instalación de OpenMosixView 1.4

• Descompresión:

– cd /usr/src
– cp /ruta/de/descarga/openmosixview-1.4-new.tar.gz .
– tar -xvzf openmosixview-1.4-new.tar.gz
– Se creará el directorio openmosixview-1.4.new/, entramos en el:

cd openmosixview-1.4.new

6

• Compilación:

– ./configure
– make para la compilación.
– make install para instalarlo.

7

3 Configuración del cluster

3.1 Modo manual

• Para clusters muy definidos, sin muchos cambios, o con unos nodos es-

pecíficos.

• Se recomienda poner en /etc/hosts una entrada por cada IP del nodo y

añadirle un nombre de dominio local, como por ejemplo:

192.168.1.1 sid
192.168.1.2 potato
192.168.1.3 woody
192.168.1.4 sarge

• Ahora pasaremos a editar el fichero /etc/openmosix.map, su sintaxis es la

que sigue:

– <identificador><nombre del nodo><rango>
– El identificador debe ser único para cada nodo.
– El nombre es el que le corresponde en /etc/hosts.
– El rango define cuantos nodos con IPs consecutivas existen a partir de

la definida, normalmente esta a 1.

– En el rango también puede ponerse la palabra ALIAS si ese nodo

posee más de un interfaz de red.

• Ejemplo de configuración:

1 sid 1
2 potato 1
3 woody 1
4 sarge 1

• Configuración equivalente:

1 sid 4

• Ejemplo con ALIAS, suponemos que con los datos del /etc/hosts ante-
rior, woody y sarge son interfaces de la misma máquina, la configuración
quedaría asi:

8

1 sid 1
2 potato 1
3 woody 1
3 sarge ALIAS

3.2 Modo automatico

• omiscd se encarga del autodescubrimiento de nodos en el cluster.
• no requiere una configuración estática y manual.
• Emplea comunicación por multicast.

3.3 Iniciando el cluster

• Al instalar las OpenMosixTools se habrá creado el script /etc/init.d/openmosix.
• Podemos lanzar, parar y relanzar el script que activa al nodo en el cluster:

– Lanzarlo con /etc/init.d/openmosix start
– Relanzarlo para que recargue la configuración con /etc/init.d/openmosix

restart

– Pararlo para que el nodo salga del cluster con /etc/init.d/openmosix

stop

• Si queremos que se active automáticamente al arrancar el sistema y se de-
sactive al apagarlo deberemos añadirlo al directorio donde están los scripts
por runlevel.

– Para averiguar el runlevel en el que arranca tu distribución por defecto:

runlevel

– Por ejemplo obtenemos que es el nivel 2, entonces los scripts que carg-

amos al arrancar el sistema se encuentran en:
/etc/rc2.d/

– Para añadir nuestro script de openmosix a este directorio basta con

hacer:
ln -s /etc/init.d/openmosix /etc/rc2.d/S20openmosix

– Se añade S20 delante del nombre para marcar el orden en el que ar-

rancan los diferentes scripts.

9

4 Configuración del Sistema de Ficheros oMFS

Como se verá en la sección 8 Openmosix realiza los accesos a disco interceptando
las llamadas al sistema que se realizan, produciendo muchísimo overhead de co-
municaciones.
Para evitarlo se puede utilizar este sistema de ficheros, con lo que la transferencia
de ficheros se delega a unos demonios específicos, de forma parecida a NFS.

• Podemos configurar este sistema de ficheros añadiendo en /etc/fstab:

mymfs /mfs mfs dfsa=1,noauto 0 0

• Se debe crear antes de montarlo el directorio en cuestión:

mkdir /mfs

• Una vez arrancado y puesto en marcha el Cluster:

mount /mfs

10

5 Uso de las herramientas

• Dentro de las openmosix Tools se puede encontrar:

– mtop es como el comando top de siempre solo que incluye una columna

para indicar el nodo donde se está ejecutando el proceso.

– mps es como el comando top de siempre solo que también indica el

nodo.

– mosmon crea una gráfica que muestra la carga de cada nodo en aprox-

imadamente tiempo real.

• Dentro de las openMosix View:

– openmosixview muestra en entorno gráfico la carga de los nodos y

hace de interfaz para el resto de herramientas.
...

11

– openmosixmigmon es una divertida aplicación gráfica para migrar pro-

cesos con el ratón de un nodo a otro.
...

12

6 Ventajas e inconvenientes

6.1 Ventajas Principales

• Transparencia, trabajas como en un multiprocesador.
• Adecuado para tareas muy paralelizables, donde las tareas son muy inde-

pendientes entre sí.

• Adecuado para tareas secuenciales, ya que simplemente se repartiran por el

cluster.

• Pensado para PC’s de escritorio, aunque se puede usar para cálculos.
• Si un nodo posee PVM o MPI las tareas se pueden repartir por todo el

cluster.

• Posibilidad de migrar explícitamente a un nodo
  • Links de descarga
http://lwp-l.com/pdf6084

Comentarios de: Clustering con Openmosix (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad