clustering
Xavier Andrade
xavier en zeth.ciencias.uchile.cl
Jue Ago 19 11:36:40 CLT 2004
On Thu, 19 Aug 2004, "Felipe Cristián Barriga Richards (LISTAS)" wrote:
> Deberia de poderse. Que yo sepa, los computadores que tienen memorias
> compartidas, usan Gigaethernet y cosas por el estilo, ya que si la
> tipica swap del disco duro es horrible (corran algo en un pc con 16 de
> ram) imaginate lo horrible que seria tener swap por red.
> Yo creo que lo mas facil es hacer algo seti, un servidor central y
> varios clientes que se conectan a este, piden tareas, las procesan y
> voila. La gracia es que puedes hacer hibridos (mesclar desde 286 hasta G5)
>
Suena bien, el cuento es implementarlo eficientemente, si es que se puede.
Eso se llama programacion en paralelo.
En general la mayoria de los trabajos no pueden ser divididos en pedazos
independientes que no requieran comunicacion con los vecinos. Eso ya hace
que tu panacea se vaya al suelo.
Por ejemplo una FFT que es muy eficiente para calcular cosas en codigos
seriales (no paralelos) es bastante mala a la hora de paralelizar,
escencialmente por que en un transformada de Fourier se requiere
informacion de todos los puntos para calcular cada punto. Por eso metodos
basados en otras tecnicas pueden ser mas eficientes en paralelo, aunque en
el codigo serial sean mas lentos.
Tampoco es trivial hacer un balanceo de la carga de manera que algunas cpu
hagan mas que otras, en los casos tipicos si tienes un 286 en el cluster
todas las otras maquinas se pasaran la mayor parte del tiempo esperando
que el 286 termine los calculos.
Lo que hace SETI es que tienen muchisimos trabajos muy peque~nos y cada
uno de ellos es asignado a un procesador distinto que luego devuelve los
resultados. No hacen un gran trabajo en paralelo.
Xavier
Más información sobre la lista de distribución Linux