[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]> > En uno de los mensajes posteados anteriormente se comento que algunas > personas (me parece que en Poli) habian instalado un cluster con PVM y > Linux, y en otro, sobre ciertas aplicaciones y librerias para evaluar el > rendimiento de las máquinas trabajando en forma distribuida. En la fac. de Química de la UNAM montamos un cluster para experimentar con estas tecnologías en busca de un mejor rendimiento para algunas aplicaciones que requieren más poder de cómputo que el que podíamos obtener con sólo una PC, y no queríamos meternos en el trámite para que nos den permiso de usar las maquinotas de DGSCA. Este cluster es relativamente "heterogéneo", involucrando máquinas Intel principalmente (desde una 486 hasta una Pentium II) y una Alpha. De hecho ninguna de estas máquinas está exclusivamente dedicada al cluster; en algunas de ellas pedimos una cuenta y autorización para "tomar prestados" los ciclos de reloj sobrantes para nuestras aplicaciones. Utilizamos PVM, aunque por ahí nos comentaron que MPI es más moderno, luego de revisar ambas librerías nos decidimos por PVM, principalmente porque en ese momento la documentación de MPI indicaba que no era muy adecuado para ambientes heterogéneos (cosa muy importante para nosotros, pues no podemos darnos el lujo de pedir 200 PCs igualitas, agarramos lo que nos den), y la API de PVM se veía más simple. Hicimos algunas aplicaciones simples, y aún con algoritmos bastante burdos, vimos un buen incremento de rendimiento, de un tiempo de ejecución de aprox. 3 minutos (corriendo un solo proceso en la máquina más rápida del cluster) hasta 45 segundos (con las 8 máquinas). No está mal para algo en lo que no se invirtió un centavo, y menos si tienes en cuenta que al menos dos de las máquinas del cluster son servidores con bastante carga de trabajo. Aunque es obvio que no podemos paralelizar cualquier problema, yo estoy seguro de que invirtiendo un poco de tiempo para refinar nuestros algoritmos y definir bien nuestra comunicación entre procesos (nuestro mayor cuello de botella, pues la red es de sólo 10 Mbps y tiene el tráfico normal de una red con usuarios) podemos conseguir mejores tiempos. Y ten en cuenta que son sólo 8 máquinas, que de ninguna manera es un cluster grande. Algo que no he mencionado, todas estas máquinas corren Linux. El hecho es que en teoría, usando PVM no debe haber inconveniente en integrar al cluster máquinas con otros sistemas operativos distintos. Esto obviamente es bastante ventajoso porque en ocasiones puede no ser posible poner Linux en una Cray o mafufadas así, pero de cualquier manera pueden participar en el cluster. La documentación de PVM menciona esto y de hecho PVM proporciona mecanismos para forzar la ejecución de un proceso en una arquitectura o SO específico, de este modo podemos tomar ventaja de las características del hardware que compone el cluster (ejemplo, si la Cray es más rápida para cálculos vectoriales, dejamos que la Cray se aviente esos cálculos y envíe los resultados a las PCras que se hagan bolas con los cálculos enteros). Saludos. - Roadmaster ---------------- * Save a tree- use E-Mail! roadmr en entropia com mx *