next up previous contents
Next: 4.3.1 Requisitos previos Up: 4. Utilización Previous: 4.2.10 Discusión de resultados   Índice General


4.3 High Performance LINPACK: un benchmark ampliamente reconocido

El benchmark de LINPACK es una prueba de rendimiento, o benchmark, de uso muy difundido en la comunidad de cómputo de alto rendimiento. Este benchmark no pretende medir el desempeño general de un sistema. En vez de ello, evalúa el desempeño en un área muy específica: el cálculo de sistemas de ecuaciones lineales de alta densidad. Esta medida resulta útil para conocer las capacidades de equipo de cómputo de alto rendimiento, pues esta clase de equipos generalmente se utilizan para resolver ese tipo de problemas, de forma que el benchmark de LINPACK proporciona una idea bastante acertada del desempeño que el equipo tendrá en aplicaciones reales.

El uso del benchmark de LINPACK fue introducido en 1979 por Jack Dongarra, investigador de la Universidad de Tennessee en Knoxville, como parte del paquete LINPACK, un juego de bibliotecas matemáticas en FORTRAN para solución de sistemas de ecuaciones lineales. En general, el benchmark realiza la resolución de un sistema de ecuaciones generado aleatoriamente, expresado como una matriz de coeficientes que en la computadora están representados con números de punto flotante, normalmente a una precisión de 64 bits. El paso crucial de esta solución es la descomposición LU con pivoteo parcial de la matriz de coeficientes. Obtener la solución requiere $2/3n^3+2n^2$ operaciones de punto flotante, donde $n$ es la dimensión de la matriz. Normalmente se emplean valores de $n=100$ y $n=1000$.

Finalmente el benchmark entrega un valor de rendimiento expresado en MFLOPS (millones de operaciones de punto flotante por segundo). Este valor es el que se suele emplear al hacer comparaciones entre diversos equipos.

LINPACK fue originalmente implementado en lenguaje FORTRAN para máquinas uniprocesador, vectoriales y SMP. A medida que los equipos MPP fueron cobrando auge, se hizo necesario el contar con una manera de comparar su desempeño, de forma que se desarrolló el benchmark HPL (High Performance LINPACK). HPL es una implementación del benchmark LINPACK escrita en lenguaje C, que puede ejecutarse en cualquier equipo que cuente con una implementación de MPI, lo cual incluye a prácticamente cualquier equipo MPP comercial y, desde luego, clusters tipo Beowulf.

HPL es el benchmark utilizado para medir el desempeño de las computadoras más rápidas del mundo, gracias a su portabilidad, su dependencia en otras bibliotecas que están ampliamente disponibles, particularmente MPI y BLAS4.7, y la capacidad de alterar fácilmente los parámetros de cálculo a fin de determinar la configuración óptima para obtener el mejor rendimiento.

Se consideró de interés el realizar pruebas con HPL en el Beowulf, básicamente para comparar el incremento de rendimiento al utilizar toda la capacidad del mismo. Desde luego, no se espera que el rendimiento alcance los niveles presentados por las computadoras más rápidas del mundo; como se mencionó en la sección (1.1), la computadora más rápida alcanza un rendimiento sostenido de 7226 GFLOPS. Sin embargo el comparar ambos equipos con el mismo mecanismo de medición puede resultar interesante.



Subsecciones
next up previous contents
Next: 4.3.1 Requisitos previos Up: 4. Utilización Previous: 4.2.10 Discusión de resultados   Índice General
2002-05-15