miércoles, 2 de mayo de 2012

Sistemas Distribuidos (Laboratorio)

Reporte 13 - Benchmark

Hola que tal, hoy platicando con un amigo sobre el clúster mencionamos que sería bueno poder medir las capacidades de ejecución de cada nodo o computadora que componía el clúster, ya entrado en el tema decidí investigar sobre aplicaciones o programas que pudieran realizar esta función; encontré conceptos interesantes relacionados a este tema.

En esta entrada hablaré sobre Benchmarks. 

Un Benchmark, es un programa que mide las prestaciones de una computadora, o de una parte de la misma. Estos programas no solo pueden ayudarnos en la comparación de diferentes sistemas sino que además son capaces de evaluar las prestaciones de un equipo con diferentes configuraciones de Software y Hardware. Los benchmarks son pruebas para medir el rendimiento y poder verificar que el hardware funciona de forma óptima o para comparar distintas configuraciones. 
Se trata de programas que se instalan de la misma forma que una aplicación clásica. En la mayoría de los casos, el benchmark inicia una aplicación o conjunto de aplicaciones (ofimática, rendimiento 3D, cálculo científico, etc.) y mide el tiempo necesario para ejecutar una tarea. Los benchmarks 3D no miden el tiempo de ejecución sino el número de imágenes mostradas por segundo durante la escena y calculan el promedio. 

Pero como menciono arriba existen distintos tipos de tests o pruebas Benchmark.

Cada test o prueba Benchmark realiza un trabajo diferente. Algunos de estos nos indican lo rápido que es una computadora generando documentos, otros indican lo veloz que es en los gráficos y rellenos de pantalla, otros determinan la velocidad en operaciones matemáticas. Algunos hacen una mezcla de todos estos test. Para obtener resultados que nos sean útiles deberemos utilizar Benchmarks que reflejen el uso que le daremos al equipo.


Existen dos niveles de Benchmark: componentes y sistemas:

  • Componentes


    Evalúan únicamente partes específicas de una computadora, como por ejemplo el procesador, el disco duro, la tarjeta gráfica, etc. Serán por tanto útiles a la hora de seleccionar componentes específicos para un determinado sistema.

  • Sistema


    Evalúan el rendimiento global del sistema, miden las prestaciones del procesador, memoria
    , vídeo, disco duro, etc., trabajando conjuntamente en la computadora. Este tipo de pruebas permiten comparar sistemas diferentes. Responde a cuestiones como ¿Este equipo es más rápido que el equipo? o ¿Puede mi aplicación ejecutarse mas rápidamente en el caso de aumentar la velocidad del procesador, o esta limitada por otros subsistemas?

    Estos Benchmark miden prestaciones globales del sistema.

Bueno, apartir de estos conceptos se podrían sacar conclusiones sobre la utilidad de estas pruebas Benchmark, pero de igual manera mencionaré por qué estás pruebas son necesarias:

  • Adecuar apropiados estándares de rendimiento que tomen en cuenta las diferentes características del software de 32-bits y las nuevas posibilidades de multitarea, video y 3D que las viejas pruebas no tienen en cuenta.
  • Una medida más precisa de las diferencias de rendimiento relativo entre dos computadoras distintas, permitiéndole aumentar la vida útil de una PC con la vista puesta en el futuro.
  • Ayudarle a prevenir que tenga que aumentar su inversión antes de tiempo, mostrándole la verdadera diferencia de rendimiento entre dos sistemas.  

En una página de IBM encontré información sobre el LINPACK benchmark, ellos realizaron una prueba o test a si Linux clúster, los pasos para la instalación y la ejecución se detallan en la siguiente liga:

http://www.ibm.com/developerworks/linux/library/l-cluster2/

El benchmark Linpack puede conseguirse en versión Fortran, C y como un applet de Java.




LINPACK Benchmark 





Como tema de interés también descubrí que existe LINPACK para Android, funciona exactamente para lo mismo, con LINPACK for Android tu puedes obtener mediciones de las prestaciones de tu teléfono móvil con Android, también aplica para tabletas.

Ya obtenidas las mediciones de tu dispositivo, también tiene la opción de compararlas con otros equipos.

El benchmark Linpack fue desarrollado en el Argone National Laboratory por Jack Dongarra en 1976, y es uno de los más usados en sistemas científicos y de ingeniería.

Su uso como benchmark fue accidental, ya que originalmente fue una extensión del programa Linpack cuyo propósito era resolver sistemas de ecuaciones que otorgaba el tiempo de ejecución del programa en 23 máquinas distintas.
Luego fueron agregándose cada vez mayor cantidad de máquinas.
Hoy en día, el programa Linpack ha sido reemplazado por el paquete Lapack, el cual hace un uso mucho mejor de las características de la arquitectura RISC (en esencia, sus técnicas algorítmicas fueron modificadas para que pase menor tiempo moviendo datos).


Aquí les dejo un video sobre un Linpack en un móvil con Android:





Pueden encontrar más información y videos sobre este benchmark en el siguiente link:

http://www.greenecomputing.com/

Aquí les dejo una imágen con el benchmark LINPACK for Android en ejecución:



(Linpack for Android)



Saludos!





1 comentario:

  1. 8 para el lab, semana 13 - esta información sería valiosa en el wiki

    ResponderEliminar