[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]On 21 Mar 2002, j0rd1 Adame wrote: > Viendolo así, los dos me serían útiles OK, lo que sucede es que compilar en paralelo puede que no tenga sentido en un cluster, ya que normalmente el cuello de botella en una compilación es el IO, y si pasas los datos por NFS, va a ser mucho más lento que lo que podría ser por disco local, con una computadora de múltiples procesadores. Esto quiere decir que necesitarías muchos nodos y una red super-rápida para obtener resultados favorables. NFS es normalmente dos órdenes de magnitud más lento que el IO de bus local. Ahora, el proceso de compilación es a la vez muy paralelizable, y con ayuda de make tienes ya la parte que distribuye la carga. Lo único que te faltaría sería poner el mismo ambiente de compilación (léase fuente, headers y versión del compilador) y un wrapper al compilador en la "cabeza" del closter que corra remótamente en round-robin entre todos los nodos los comando del compilador que vaya pidiendo make. Lo más transparente sería compartir fuentes, headers y el directorio donde quedan los objetos (normalmente el mismo que los fuentes) por NFS. Finalmente, lo ideal sería que el cluster fuera homogéneo. De otra manera, el wrapper tendrá que tener la información de la arquitectura de cada nodo y correr un compilador cruzado en cada uno. Otra opción es usar un kernel Mosix. En cuanto a generar código paralelizable, no creo que C tenga suficiente información en el código para realizar paralelización automática. Para eso usa Fortran, pon tu propio código MPI o PVM en el fuente, o usa Mosix. Saludos, Arturo _______________________________________________ Ayuda mailing list Ayuda en linux org mx