RE: Programación para Cluster
Xavier Andrade
xavier en zeth.ciencias.uchile.cl
Lun Nov 29 02:07:12 CLST 2004
>Esto debe ser hací?, entonces los programas existentes deberían
>reprogramarce para aprovechar un cluster?.
En general si, hay que programar explicitamente un programa para hacer que
corra en varios procesadores.
No es para nada una tarea simple y en general involucra modificar el
algoritmo en que esta basado el programa, ya que no siempre es posible
en un programa realizar de manera simultanea varias tareas. O a veces un
algoritmo muy eficiente en un codigo serial no lo es tanto cuando tiene
que correr en paralelo.
Respecto a dejar esa tarea al compilador, a mi entender los unicos que han
logrado un compilador paralelizante para una maquina de memoria
distribuida son Cray, y estamos hablando de maquinas con redes con
latencias mucho mas bajas de las que consigues para un cluster.
En memoria compartida los compiladores que paralelizan necesitas
directivas sobre que como paralelizar y solo hacen cosas simples, como
dividir la ejecucion de un loop entre procesadores.
En el fondo la real dificultad de la computacion paralela es el dise~no de
las aplicaciones y no tanto el dise~no de las maquinas.
Xavier
Más información sobre la lista de distribución Linux