Benchmark multiplataforma?

Taller de hardware y cacharreo general de aparatos eléctricos y electrónicos que no tengan un sitio propio.
Avatar de Usuario
zup
Amiga 2500
Amiga 2500
Mensajes: 2516
Registrado: 04 Sep 2009, 20:07
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo DS/3DS
Primera consola: Nintendo GameBoy
Ubicación: Navarra
Gracias dadas: 31 veces
Gracias recibidas: 157 veces
Contactar:

Benchmark multiplataforma?

Mensajepor zup » 04 Feb 2015, 18:49

Ahora que acaba de salir al mercado la Raspberry Pi 2, me gustaría echarle encima algún benchmark para saber cuánto ha avanzado.

Hasta ahora, para poner en contexto las cosas he utilizado nbench. Es un buen benchmark porque informa mide varios parámetros a la vez, y puede compilarse para cualquier plataforma que se te ocurra. ¿El problema? Que solo mide el rendimiento de un core. En equipos antiguos está bien, y a fin de cuentas quería comparar una Raspberry con algún PC para saber por dónde andaba de rendimiento.

¿Qué benchmarks conocéis multiplataforma y que puedan machacar equipos con varios cores/CPUs? La idea sería obtener resultados del estilo del nbench (enteros, coma flotante, rendimiento de memoria, etc) pero usando a la vez todos los cores para obtener una medida más real (obtener el rendimiento real de un equipo no es tan sencillo como multiplicar el resultado de un core por el número de cores en el equipo).
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5310
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 11 veces
Gracias recibidas: 46 veces
Contactar:

Re: Benchmark multiplataforma?

Mensajepor mcleod_ideafix » 04 Feb 2015, 19:13

Aunque no sea una comparación que te beneficie mucho, puedes usar el benchmark Linpack. Este benchmark corre bajo MPI, así que necesitarías instalar MPI en el Linux que corra tu Pi, y configurarla para que ejecute N instancias donde N es el número de cores. El benchmark mide fundamentalmente potencia bruta de CPU en cálculos con números en punto flotante, e indirectamente, el rendimiento de la caché y la memoria principal, ya que los datos son matrices bastante gordas (el benchmark lo que hace es resolver un sistema de ecuaciones lineales tocho).

Digo lo de "que te beneficie mucho" porque este benchmark es de hecho el que se usa en la lista "Top500" (top500.org) para establecer el ranking de los supercomputadores más rápidos.

Con las cifras que obtengas, quizás no puedas compararlo con un PC de sobremesa (a menos que le hagas el test también a él) pero sí puedes hacerte una idea de cuán lejos (¡o cerca!) estás dentro del Top500. Como muy probablemente no llegues al puesto 500 ni de coña, lo que sí puedes hacer es compararte a ti mismo con las supermáquinas que rondaban la lista hace más tiempo, ya que la lista se mantiene desde 1993.

¿Es tu Pi más rápida que un supercomputador de 1993?
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
zup
Amiga 2500
Amiga 2500
Mensajes: 2516
Registrado: 04 Sep 2009, 20:07
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo DS/3DS
Primera consola: Nintendo GameBoy
Ubicación: Navarra
Gracias dadas: 31 veces
Gracias recibidas: 157 veces
Contactar:

Re: Benchmark multiplataforma?

Mensajepor zup » 04 Feb 2015, 20:32

Me conformaría con que corra más que mi portátil Celeron a 850Mhz, eso señalaría que ya es un sistema de escritorio medianamente viable (si mal no recuerdo, el benchmark antiguo escupía resultados parejos a un Pentium III a 500 Mhz). Supongo que mi otro quadcore (AMD Phenom) sí que adelantará a algún top500 antiguo, pero eso no sería una sorpresa. Sí que tienes razón que lo que me interesa más es compararlo con PCs normales.

Como test preliminar no está mal, pero ¿cómo es de parecido al mundo real? Quiero decir, ahí hay cuatro cores ejecutando cada uno un proceso idéntico. En el mundo real, probablemente los cuatro cores ejecutarían procesos diferentes entre sí, y algunos procesos se estarían tropezando entre ellos. En general ¿es una buena medida de potencia bruta (parece que sí) o es una medida más "de la calle"?
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5310
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 11 veces
Gracias recibidas: 46 veces
Contactar:

Re: Benchmark multiplataforma?

Mensajepor mcleod_ideafix » 05 Feb 2015, 00:45

zup escribió:En general ¿es una buena medida de potencia bruta (parece que sí) o es una medida más "de la calle"?

Es un benchmark sintético, con lo que ello supone: es decir, una pieza de código escrita especificamente para ser un benchmark. La carga de trabajo a la que somete al procesador es similar al tipo de carga que soporta un supercomputador, es decir: trabajos de computación paralela en donde hay momentos en los que cada core funciona de forma indpendiente, y momentos en los que han de sincronizarse porque deben enviarse datos de uno a otro por alguno de los mecanismos estándar de Unix (shared memory, pipes, fifos, etc). Es, para que nos entendamos, el mismo tipo de carga que podrías encontrarte en, por ejemplo, una versión multicore de Photoshop, de POVRay, del mencoder (codificador para AVI, MP4, MPEG, etc)... ese tipo de cosas. Lo que no mide este tipo de benchmarks es la velocidad de la E/S. Para ello creo que algunos descompresores tienen un modo benchmark que permite comprobar la velocidad de compresión y descompresión con archivos arbitrariamente grandes.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Zardoz
MSX Turbo R
MSX Turbo R
Mensajes: 283
Registrado: 09 Sep 2013, 19:04
Sistema Favorito: (Otro)
primer_sistema: (Otro)
consola_favorita: Nintendo NES/Clónica
Primera consola: Nintendo NES/Clónica
Ubicación: Madrid
Contactar:

Re: Benchmark multiplataforma?

Mensajepor Zardoz » 06 Feb 2015, 15:32

Allá por los 90, ni benchmark standard era ejecutar el Doom 2 :D

Otra prueba que puedes hacer, es ejecutar el memtest para ver cual rápida es la RAM o probar cuanto tarda en compilar el kernel de Linux
Yep, I have a blog :zardoz.es
Emulador DCPU-16 VM
Emulador Trillek

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5310
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 11 veces
Gracias recibidas: 46 veces
Contactar:

Re: Benchmark multiplataforma?

Mensajepor mcleod_ideafix » 06 Feb 2015, 17:39

Zardoz escribió:...o probar cuanto tarda en compilar el kernel de Linux

Ah! Mira, ese es un benchmark no sintético que creo que podrías usar. Depende demasiado del acceso a disco, eso sí, lo que en la Pi significa que dependerá de la velocidad de la tarjeta SD/MMC que uses como sistema de ficheros, pero puedes usarlo en un multicore con la opción make -jN donde N es el número de cores en los que quieres que se reparta la carga de la compilación.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
scooter
Amiga 1200
Amiga 1200
Mensajes: 1027
Registrado: 17 Jul 2012, 09:25
primer_sistema: C64
Ubicación: Alicante

Re: Benchmark multiplataforma?

Mensajepor scooter » 12 Feb 2015, 08:26

Yo en su día ponía un dibujo complejo de coreldraw a tope de resolución y cronometraba

Avatar de Usuario
DistWave
Atari 1040 STf
Atari 1040 STf
Mensajes: 717
Registrado: 15 Ene 2011, 09:08
Sistema Favorito: PC
primer_sistema: PC
consola_favorita: Nintendo SNES
Primera consola: Atari 2600
Ubicación: Zaragoza
Gracias dadas: 2 veces
Gracias recibidas: 24 veces

Re: Benchmark multiplataforma?

Mensajepor DistWave » 12 Feb 2015, 10:45

Una prueba rápida para evaluar el rendimiento de un hilo puede ser algo tan sencillo como cronometrar el tiempo que se tarda en comprimir una carpeta con unos determinados ficheros en varios sistemas. Es cierto que como en el caso del kenel, también influye la velocidad de acceso al disco, aunque en este caso puede montase un sistema de ficheros tmpfs, copiar allí la carpeta y utilizarla también como ubicación del fichero comprimido.

Avatar de Usuario
zup
Amiga 2500
Amiga 2500
Mensajes: 2516
Registrado: 04 Sep 2009, 20:07
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo DS/3DS
Primera consola: Nintendo GameBoy
Ubicación: Navarra
Gracias dadas: 31 veces
Gracias recibidas: 157 veces
Contactar:

Re: Benchmark multiplataforma?

Mensajepor zup » 12 Feb 2015, 13:53

Al final me he decantado por utilizar sysbench.

Linpack y lapack tenían buena pinta, pero también tienen pinta de tirarse días corriendo en la Raspberry Pi (además, no sabía cómo lanzarlos). La compilación del kernel sería un buen benchmark para comparar entre Raspberris, pero no para comparar una Raspberry y un PC ya que los paquetes que hay de fuentes son bastante diferentes en uno y en otro caso (y no sé qué es más "difícil", si compilar para Intel o ARM... a lo mejor habría que poner los dos compiladores a compilar para 68000). Como curiosidad, he compilado ioquake3 y ha tardado unos 10 minutos (no estaba crono en mano), una mejora bastante radical desde la hora y pico que tardaba en la Raspberry Pi de 512 megas.

Doom 2 está descartado porque uno de los tests que le paso es ioquake3. En cuanto a Corel, dudo que exista para Raspberry Pi (y no voy a emularlo con DOSBox, porque mediría la velocidad de un equipo con emulador) y lo de la compresión no usa varios threads. También he echado una ojeada a la phoronix-test-suite, pero muchos tests no funcionan en Raspberry y parece que son otros tests que van a llevarle mucho tiempo.

Así que estoy haciendo números con sysbench. De momento me estoy centrando en dos tests, el de CPU y el otlp (base de datos). Ambos los estoy lanzando con 32 threads (me interesa que los threads se peleen por entrar en los cores). El de CPU lo he dejado con los parámetros por defecto y miro el tiempo que le cuesta; el de base de datos lo lanzo durante 300 segundos y miro el número de transacciones que ha realizado.
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5310
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 11 veces
Gracias recibidas: 46 veces
Contactar:

Re: Benchmark multiplataforma?

Mensajepor mcleod_ideafix » 12 Feb 2015, 14:11

zup escribió:Al final me he decantado por utilizar sysbench.

Linpack y lapack tenían buena pinta, pero también tienen pinta de tirarse días corriendo en la Raspberry Pi

Huy, no que va... en equipos en principio menos potentes que una Pi se tarda unos 10 minutos o así. Todo es configurar el tamaño máximo de las matrices.

zup escribió:(además, no sabía cómo lanzarlos)

Es verdad que no son benchmark triviales. Tienes que tener MPI instalado en el sistema, configurado para que cada instancia corra en un core diferente, y que con mpirun lances tantas instancias como cores tengas: ni más ni menos. Y el propio benchmark tiene su propio fichero de configuración para tocar parámetros de tamaño de matrices, métodos de comunicación broadcast que vas a emplear, etc etc.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista


Volver a “Taller general”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados