We Rock

Hoy tomé contacto con un clúster académico Rocks, que es una distribución de Linux especialmente preparada para Clusters de computadoras. Es una distribución Fedora->RedHat Enterprise->CentOS.

Tiene un soporte nativo (no de CentOS) para MPI (C/C++) y me cae muy simpática la política de “plugins” llamados Rolls (El famoso Rock & Roll) con funcionalidad adicional a la básica.

También noté que facilita bastante la instalación de un cluster Hadoop, que típicamente no tiene mucho drama con el sistema operativo donde se monta, pero que requiere una instalación por nodo, lo que lleva a utilizar herramientas de gestión de instalaciones, máquinas virtuales, o similares. De este modo, habilita una instalación rápida. Queda investigar detalles tales como que no se pisen las funcionalidades de NFS con las de HDFS.

Anuncios

Paralelismo en las operaciones en GAs

Antes de asignar roles en términos de Map-Reduce, conviene sobrevolar la noción de qué nivel de paralelismo soportan las operaciones más comunes que se dan en los GAs. Sin entrar en ningún detalle, y haciendo un análisis de nivel cero (o desde 10.000m de altura), creo que no está mal la siguiente tabla, en donde cada operación es encasillada en una de las siguientes categorías:

  • Necesariamente Serializable: La operación no puede, o no es eficiente que sea ejecutada en paralelo.
  • Serializable hasta cierto umbral: La operación para “n” bajos no muestra ninguna ventaja en ser ejecutada en paralelo. Generalmente ese “n” es el tamaño de la población.
  • Fácilmente Paralelizable: Es altamente paralelizable, la naturaleza de la operación no se riñe con el paralelismo.
  • Dificultosamente paralelizable: Si bien se puede paralelizar, implica esfuerzo de implementación y el pago de algún costo en el rendimiento (subóptimo).

Las operaciones que se tomaron como muestra, son las básicas, claramente se deberá estudiar cada posibilidad, pero no es el momento.

Necesariamente Serializable Serializable hasta cierto umbral Fácilmente paralelizable Dificultosamente paralelizable
Inicialización de la población
Azar x
Resultado de una heurística x x
Evaluación del fitness x
Selección x
Crossover x
Mutación simple x
Aceptación de individuos x
Reemplazo de Individuos x