next up previous contents
Next: 4.2.8 Tablas de resultados Up: 4.2 Implementación paralela Previous: 4.2.6.3 Número real de   Índice General


4.2.7 Realización de pruebas

Una vez contando con los programas de multiplicación de matrices, en uniprocesador, y en versión paralela utilizando PVM y MPI, se realizaron una serie de pruebas a fin de poder tener una idea del desempeño y características del cluster.

En general existen dos parámetros que afectan directamente el rendimiento que se puede esperar del equipo: el tamaño del problema, en este caso las dimensiones de las matrices a multiplicar; y el número de elementos de procesamiento, o nodos, que participan en el cálculo.

A fin de poder observar el comportamiento del cluster al variar estos dos parámetros, se decidió realizar pruebas con varios tamaños de matriz, variando el número de nodos, y tomando el tiempo empleado en la realización de los cálculos. Estos tiempos se comparan y grafican para permitir un análisis visual de los resultados.

Se emplearon matrices de $20\times 20$, $50\times 50$, $100\times 100$, $200\times 200$, $400\times 400$, $600 \times 600$ y $650\times 650$ elementos. Es interesante notar el límite superior ( $650\times 650$). Este límite está dictado por la memoria disponible en los nodos; para aquellos que cuentan con únicamente 12 MB de memoria, no es posible el manejo de una matriz de dimensiones superiores.

Para cada tamaño de matriz, se tomaron los tiempos de solución con la versión uniprocesador (valores que en la tabla aparecen como ``1 nodo'') y con la versión paralela utilizando MPI, desde 2 hasta 17 nodos. De esta manera se puede comparar directamente la diferencia de desempeño entre el uso de un solo procesador, sin recurrir a las bibliotecas paralelas, y el uso de varios nodos en el cálculo.

Para cada combinación de tamaño de matriz y número de nodos, se realizaron tres corridas del programa, descartando la primera y promediando las dos restantes para obtener el valor final. Esto se hizo para evitar posibles ``picos'' o valores extraños, que podrían presentarse tomando sólo una lectura; el descartar la primera lectura permite eliminar posibles variaciones en el tiempo de ejecución por los mecanismos de caching de disco con que cuentan los nodos, y que pueden influir al momento de ejecutar un proceso diferente.

La realización de las pruebas, así como la recolección y cálculo de resultados, se efectuaron por medio de un programa que automatiza la generación de parámetros tanto de número de nodos como de dimensión de las matrices, efectuando las corridas necesarias, generando automáticamente las tablas de resultados. De esta manera la realización de pruebas sólo requiere intervención humana cuando ocurre algún error. Este programa, escrito en lenguaje Perl4.6 se incluye en el apéndice (C.4).

Dada la cantidad de corridas que debieron efectuarse para la realización de las pruebas, estas abarcaron un período de aproximadamente dos días, y los resultados se muestran a continuación.


next up previous contents
Next: 4.2.8 Tablas de resultados Up: 4.2 Implementación paralela Previous: 4.2.6.3 Número real de   Índice General
2002-05-15