Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por M0M0 (10671) el Lunes, 06 Junio de 2005, 15:20h (#520860)
    ( http://torroja.dmt.upm.es/guillem/blog )

    Depende mucho para qué lo quieras. Si lo que interesa es correr un programa un poco más deprisa que un único nodo se pueden probar parches en el núcleo como OpenMosix o soluciones de Terminal Server. Pero esto es la parte más pequeña del software

    Para que una aplicación corra en más de un host tienes dos opciones, que el programa se crea que está en el mismo ordenador (aunque no en el mismo procesador) o que el programa sea consciente de las comunicaciones. Entre un caso y el otro hay bastantes diferencias tanto en el hardware como en el software.

    No hay que perder de vista que tanto la aplicación como el cluster daben estar adaptados al tipo de paralelismo que queramos. El código debe ser consciente de ello. La mayoría de las aplicaciones en paralelo contienen las llamadas para la comunicación de procesos en el mismo código, con lo que no hay ninguna aplicación que se haga "paralela" por arte de magia. Ya podemos montar un cluster OpenMosix que funcione como la seda que como el programa no sepa de comunicaciones no va a migrar. Y ese migrado de procesos no tiene nada que ver si es entre procesadores o entre nodos.

    Si es entre procesadores (máquinas SMP, Symmetric MultiProcessing) hay que usar algo parecido a OpenMP, que viene de serie con algunos buenos compiladores (intel, por ejemplo). OpenMosix hace creer al programa que cada nodo es en realidad otro procesador de la máquina SMP. Si es entre nodos sin emulación debes usar, o que el programa use, PVM o alguna implementación de MPI (LAM, MPICH, OpenMPI) y algún servidor de Terminal Server. De todos modos, y te lo digo por experiencia, hay un cluster para cada tipo de paralelización. No hay soluciones universales, y cuanto más versatilidad promete peor funciona.

    Si quieres alguna recomendación para aprender rápido quema unos CDs de ClusterKnoppix y lo tendrás todo listo en cuestión de minutos (con un poquito de suerte). Para probar cómo migran de poco sirven los ejemplos que te dan, están preparados para que funcionen siempre. Prueba alguna versión paralela de codificadores de audio, así de paso tendrás más MP3 en tu archivo. También encontrarás mucha información en la página de OpenMosix, aunque te aviso que no es oro todo lo que reluce