[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: sobre lo del supercomputo (PVM y Linux)



> 
> 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
*



[Hilos de Discusión] [Fecha] [Tema] [Autor]