Cluster OpenMosix en Linux

Rodrigo Henriquez M. - Corporacion Linux S.A. rodrigo en corporacionlinux.cl
Lun Feb 28 22:23:10 CLST 2005


On Mon, 2005-02-21 at 22:43 -0300, Xavier Andrade wrote:
> On Sun, 20 Feb 2005, Felipe Covarrubias wrote:
> 
> > Hola, podrias contarme tu experiencia de manera mas detallada sobre
> > por que crees que mosix no sirve ?.
> >
> 
> Lo que Open Mosix provee dentro de un grupo de maquinas es la capacidad de
> que un proceso que esta corriendo en una maquina sea migrado a otras
> maquinas de acuerdo a un esquema de balanceo de carga.
> 
> Esto suena bastante bien, pero tiene muchas limitantes y costos asociados
> que hacen que en la practica no sea los mas util para la mayoria de las
> aplicaciones (aun no he escuchado un ejemplo de un caso donde sea util o
> mas util que otros esquemas).
> 
> Para correr procesos en paralelo no sirve, pues no ofrece un mecanismo de
> comunicacion inter-procesos, y no se pueden usar los sistemas estandares
> de comunicacion: no se puede usar memoria compartida 

Las ultimas versiones de openMosix tienen soporte de migracion de
procesos con SHM a traves de migshm [1].


> o threads (por que los procesos no pueden migrar) 

Tambien existe soporte para migracion de threads (FSU Pthreads) [2].



> ni se puede usar MPI pues no es capaz de
> manejar la migracion de procesos que usan sockets (hasta la ultima vez
> que mire).

openMosix no tiene por que soportar MPI. Son tipos de cluster distintos.


> Si quieres correr muchos procesos seriales en un cluster (una granja), uno
> en cada nodo, openmosix puede hacerlo pero es muy ineficiente sobre todo
> en terminos de red por el costo que significa migrar y mantener migrados
> los procesos teniendo que continuamente mantenerse en contacto con la
> maquina en que originalmente fueron ejecutados. Es mucho mas simple
> ejecutar directamente el proceso en el nodo en cuestion. Ademas no ofrece
> un mecanismo de colas ni de control de procesos, por lo que no es muy util
> en sistemas con mas de un usuario (algo muy comun en un cluster). En un
> cluster mosix de 10 procesadores un usuario puede correr 100 procesos sin
> problemas.

El problema es que tratan de darle a openMosix una labor para lo cual no
fue disen~ado.

openMosix es una extension del kernel de Linux para realizar clusters
SSI (Single System Image cluster) lo cual nada tiene que ver con
paralelismo.

openMosix esta mas cerca de ser un sistema tipo SMP sobre varios nodos
lo cual difiere bastante del paralelismo.


> Es por esto que un sistema de colas como gridengine o torque son mejores
> opciones que openmosix y ofrecen varias ventajas adicionales como soporte
> multiarquitectura,

Depende de lo que quieras hacer.

Hay veces en que implementar un cluster Beowulf o similar es mucho mas
caro en tiempos de implementacion que la solucion que brinda. 

openMosix entrega una solucion simple de implementar clusterizacion
SSI[3] y HPC.


>  capacidad para manejar procesos en paralelo y seriales,
> control de la ejecucion de los procesos (te puede mandar un mail cuando tu
> calculo termino por ejemplo), control de los recursos en numero de
> procesos y tiempo de calculo por usuario, etc. Tambien tienen algunas
> desventajas, no pueden migrar procesos out of the box (necesitan un
> sistema externo o que la aplicacion haga checkpointing) y la interface es
> menos transparente, hay que enviar una script a la cola, no es llegar y
> correr un proceso.


Suena hermoso, pero todo depende de lo que quieras hacer :-)

Decir que openMosix no sirve para nada,  creo que esta lejos de la
realidad ya que este fue desarrollado para una labor especifica:
"Distribucion de Procesos, no paralelismo".

El problema es que generalmente la gente no tiene idea de que tipo de
cluster necesita.
Hay que partir por ahi para saber que solucion implementar.

OTOH, echale una mirada a la pagina contrib de openMosix[4]. Hay cosas
realmente interesantes.

Saludos.


[1] http://mcaserta.com/maask/
[2]
http://filibusta.crema.unimi.it/openmosix/fsu_threads_on_om/benchmark.htm
[3] http://www.openssi.org/cgi-bin/view?page=openssi.html
[4] http://openmosix.sourceforge.net/community.html

-- 
Rodrigo Henriquez M.            http://www.corporacionlinux.cl
Corporacion Linux S.A.          Fonos: 02 6573300 - 02 6573301



Más información sobre la lista de distribución Linux