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
operaciones de punto flotante, donde
es la dimensión
de la matriz. Normalmente se emplean valores de
y
.
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.