clustering (Openmosix)

Alvaro Herrera alvherre en dcc.uchile.cl
Jue Ago 19 00:59:14 CLT 2004


On Wed, Aug 18, 2004 at 10:50:23PM -0400, Rodrigo Henriquez M. - Corporacion Linux S.A. wrote:
> El mié, 18-08-2004 a las 22:20, Alvaro Herrera escribió:
> [...]
>  
> > > La verdad es que es practicamente imposible dada la cantidad
> > > gigante de factores (archivos abiertos, procesos, manejo de 
> > > sesiones, etc, etc).
> > 
> > Right.  No me acuerdo del ICQ pero ciertamente es _muy_ dificil.
> > 
> > Quizas sea posible migrar los programas cliente.  Pero antes de poder
> > aseverar algo asi me gustaria que me dijeras si a nivel de kernel se
> > puede migrar una conexion TCP,
> 
> AFAIK depende del tipo de conexion y la cantidad de fd que lleve
> asociados.

No entiendo por que ... una conexion es un simple flujo de bytes.
Cualquier interpretacion que le quieras dar depende de algo que esta en
el proceso, que es parte de los datos que tienen que ser migrados de un
nodo a otro.

> Hace poco estuve (tratando mas que nada) de hacer un plugin para
> heartbeat que permitiera replicar las conexiones ssh de un nodo
> a otro.
> 
> La verdad es que me la gano. La cantidad de cosas asociadas que
> lleva cada conexion (en el caso de SSH : File Descriptors, referencias
> a PPIDs, punteros a direcciones de memoria entre otras cosas _sabrosas_
> casi imposibles de determinar) me hizo abortar el proyecto. 

Hmm ... todo eso debe pertenecer al espacio de memoria asignado al
proceso.  Las cosas que no, son parte de las estructuras del thread del
kernel del proceso, que obviamente tambien tienes que ser capaz de
migrar de un lado a otro.

> No tenia forma de tomar todas las precauciones necesarias para migrar
> fielmente la conexion.

Claro, el problema ahi es que ya no solo tienes que mover las cosas que
dependen de la aplicacion, sino quien sabe cuanta cochinada que puede
estar en alguna parte del stack TCP/IP ...

Otra cosa que me pregunto es si hay un punto definido para el scheduler
en el cual un proceso puede ser migrado.  Porque si no, en una maquina
SMP puedes tener un proceso en mitad de algo, y migrarlo en este estado
debe dejar la escoba en ambos nodos ...


> En el caso de una conexion de PostgreSQL me imagino que debe ser una
> _ensalada_ similar.

Bueno, si usa SSL puede ser similar a migrar algo SSH, y si no lo usa
entonces no.  Pero francamente no veo por que podria ser diferente.


> BTW, ya he probado Slony y anda "de pelos".

Cool.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La tristeza es un muro entre dos jardines" (Khalil Gibran)



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