Análisis: Raspberry pi 2 Model B

Como anunciamos la semana pasada, ha salido al mercado un nuevo Modelo de Raspberry PI. Este pequeño ordenador que salió al mercado por el 2012, permite tener en la palma de la mano un ordenador que podemos utilizar para realizar nuestros propios proyectos.

En este caso, vamos a realizar un análisis de las características de este nuevo modelo y lo compararemos con el anterior modelo para ver como mejora esta nueva versión. Para ello, vamos a utilizar una serie de programas de prueba o Benchmarks para poder obtener distintas medidas en distintas situaciones.

En primer lugar, vamos a mostrar una tabla comparativa de las características de los 2 ordenadores para poder ver las diferencias a nivel de Hardware que podemos encontrar. En nuestro caso vamos a comparar esta nueva versión con una Raspberry Pi Model B+.

 

 Raspberry Pi Model B+Raspberry pi 2 Model B
DSC_0754DSC_0747
ProcesadorBroadcom BCM2835 SoC full HD 700MhzCortex-A7 4 núcleos a 900Mhz
Memoria512MB SDRAM 400 MHz1GB LPDDR2
Consumo1 W3W
GPIOs4040
USB44

Con estas características, vamos a crear las distintas pruebas a partir de distintos benchmarks. Vamos a estudiar los siguientes aspectos:

  • Comportamiento para programas secuenciales(mono hilo)
  • Comportamiento para programas paralelos(multi hilo)
  • Velocidad de la memoria.

Las pruebas vamos a realizarlas en las 2 placas, con la distribución Raspbian instalada con  NOOBS en 2 tarjetas de memoria de 16GB clase 10(misma marca y modelo); para asegurarnos que las pruebas se hacen lo más correctamente posible. Para estas pruebas vamos a usar una serie de benchmarks que nos permitiran obtener los resultados para las pruebas anteriormente mencionadas. Estas pruebas pueden obtenerse en la siguiente dirección.

http://www.roylongbottom.org.uk/Raspberry%20Pi%20Benchmarks.htm

Tanto el juego de pruebas para mono proceso como las pruebas para multiproceso pueden encontrarse en dicha dirección. Seguidamente vamos a ver cada una de estas pruebas.

Mono Hilo

La primera prueba que vamos a realizar es comprobar el comportamiento de la Raspberry Pi para programas con un solo hilo de ejecución; es decir que solo usará uno de los núcleos del procesador(o en el caso de la Raspberry Pi 1 el único que tiene). Para ello vamos a usar el Benchmark Whetstone.

El benchmark whetstone es un pequeño benchmark científico creado por el laboratorio Nacional de Física de Inglaterra. Este benchmark es considerado como uno de los padres de los benchmarks y esta incluido en varios suites de benchmarks de hoy en día.



Este benchmark consiste en una serie de operaciones que vamos a ir probando(operaciones con punto flotante, comparaciones, raíces cuadradas, asignaciones, etc…) estas operaciones se realizan a través de distintos bucles que nos proveerán tanto las unidades en MFLOPS o MOPS y el tiempo en realizar cada una de las pruebas. Notase que muchas de estas operaciones son matemáticas por lo que probaremos que las librerías matemáticas de nuestro sistema operativo estén optimizadas. Es por esto que hemos utilizado la misma versión de estas y el mismo compilador(con el parámetro -O3 para realizar optimizaciones en el código).

Seguidamente se muestran las tablas de los resultados de realizar 10 pruebas y recoger la media de cada uno en cada uno de los sistemas.

Raspberry Pi Model B+

 MFLOPS/MOPSTiempo(s)
Floating Point 194,6290,056
Floating Point 2100,2550,370
IF Else714,1500,040
Fixed Point414,0000,210
sin, cos, tag5,8283,940
Floating Point 384,5881,760
Asigments510,0480,100
exp, sqrt2,6813,830

Raspberry pi 2 Model B

 MFLOPS/MOPSTiempo(s)
Floating Point 1253.9200.270
Floating Point 2263.3240,370
IF Else1095.0300.050
Fixed Point1190.2500.140
sin, cos, tag10.2364.300
Floating Point 3226.4621.260
Asigments888.7200.110
exp, sqrt5.1653.810

Como hemos podido comprobar en este caso la Raspberry Pi 2 se comporta mejor que la Raspberry Pi 1 ya que el procesador Cortex A7 tiene más frecuencia de reloj y además el procesador esta más optimizado. Seguidamente vamos a mostrar una tabla con el speedup de cada una de las pruebas(en %).

 SpeedUp(%)
Floating Point 137,27
Floating Point 238,07
If Else65,22
Fixed Point34,78
sin, cos,tag56,94
Floating Point 337,95
Asigments57,39
exp, sqrt51,91

Multi Hilo

 Una vez que hemos comprobado el comportamiento del procesador con respecto a monohilo, vamos a realizar la versión multiplico del benchmark whetstone para multiples hilos. En este caso, vamos a realizar las pruebas de whetstone con varios hilos y ver cual es el comportamiento del procesador para un programa con distintos hilos. Claramente la Raspberry Pi 1 solo tiene 1 único hilo y debe de tener peor rendimiento en esta prueba; seguidamente mostramos los resultados de las pruebas.

Raspbery Pi 1 Model B+

 Floating Point 1 MFLOPSFloating Point 2 MFLOPSFloating Point 3 MFLOPSSin Cos
MOPS
Exp
MOPS
Fixed Point
MOPS
If
MOPS
Equal
MOPS
1 Thread95,594,584,25,72,62069,0499,99107,7
2 Threads95,795,884,25,62,62200,2511,7100,3
4 Threads96,095,284,55,62,62290,2511,798,6
8 Threads96,396,984,35,62,62270,2511,698,8

Raspberry Pi 2 Model B

 Floating Point 1 MFLOPSFloating Point 2 MFLOPSFloating Point 3 MFLOPSSin Cos
MOPS
Exp
MOPS
Fixed Point
MOPS
If
MOPS
Equal
MOPS
1 Thread252,2252,1224,810,15,14468,8898,4337,2
2 Threads502,0502,1447,720,110,28889,51789,5671,7
4 Threads1002,21001,4595,427,020,517665,23573,91259,1
8 Threads1392,91333,4995,630,121,024790,64911,51417,5

Con estos datos podemos obtener el speedup con respecto al modelo 1 con respecto al modelo 2 para cada tipo de operación y cada número de Hilos en el procesador. Seguidamente mostramos la tabla de speedup.

 Floating Point 1 Speed Up %Floating Point 2 Speed Up %Floating Point 3 Speed Up %Sin Cos
Speed Up %
Exp
Speed Up %
Fixed Point
Speed Up %
If
Speed Up %
Equal
Speed Up %
1 Thread264,1266,8267177,2196,2216179,7313,1
2 Threads524,6524,1531,7358,9392,3404349,7669,7
4 Threads1040,71051,9704,6482,1788,5771,3698,41277
8 Threads1446,41376,11181537,5807,71091,99601446,4

En este caso el speedup esta expresado en % y podemos ver aquí como la ganancia es mucho mayor ya que al tener más núcleos, esta mejor preparado el procesador para tareas multiplico. Una vez hemos analizado el procesador, vamos a pasar a analizar la memoria ya que en el caso de la Raspberry PI 2 ahora es DDR2 por lo que el acceso y tamaño de la memoria es mayor.

MemSpeed

 Este último Benchmark que vamos a probar, lo vamos a utilizar para probar el acceso a memoria de los dos modelos de Raspberry Pi. En este caso, usaremos el benchmark MemSpeed que nos mide la velocidad de la memoria para distinto tipos de datos almacenados y distinto tamaño de palabra.

En este caso vamos a operar de igual forma realizando distintas pruebas y mostrando la media de las medidas. Seguidamente mostramos la tabla de los resultados.

Raspberry Pi Model B+

KBytes Used Doble MB/S Single MB/S Int32 MB/S
8568639853
16538568787
32292262301
64269238276
128176159179
256138129138
512136126136
1024134126136
2048134126136
4096170148136
8192134126134

Raspberry Pi 2 Model B

KBytes Double MB/s Single MB/s Int32 MB/s
86829301280
16102313331185
32102312931094
6493010941067
12893010671023
2568531016930
512682731731
1024393511409
2048319445319
4096319465319
8192317468317

Una vez que vemos los resultados podemos ver la mejora en tanto por ciento con respecto a cada tamaño de dato y tipo de dato. Podemos observar que para la Raspberry Pi 2 hay mejora ya que el tipo de memoria RAM de la Raspberry Pi 2 es DDR2 mientras que la memoria de la Raspberry Pi es SDRAM por lo que el acceso es mucho menor. Habiendo una mejora de hasta un 83%.

KBytes Used Doble SpeedUp % Single SpeedUp % Int32 SpeedUp %
883.2868.7166.64
1652.5942.6166.41
3228.5420.2727.51
6428.9221.7625.87
12818.9214.917.5
25616.1812.714.84
51219.9417.2418.60
102434.124.6633.25
204842.0128.3142.63
409653.2931.8342.63
819242.2726.9242.27

Con esta última tabla ya hemos terminado de hacer las pruebas con Benchmarks. Aunque nos queda por hacer una prueba más para que quienes hayan leído que la Raspberry Pi 2 se reinicia con los Flash de la cámara(de Xenon). vamos a hacer una serie de pruebas para mostrar el comportamiento de esta con distintos tipos de Camara.

Soporte para “Flash”

En esta última prueba vamos a probar el comportamiento de nuestra Raspberry Pi 2, con distintos tipos de cámara; desde la cámara de nuestro teléfono Móvil hasta un Flash de Xenon de una cámara de fotos Reflex.

Para realizar la prueba vamos a usar 3 tipos de Flash. Un flash tipo Led de una cámara de un móvil(BQ Aquaris E 4.5), Flash Incorporado en la Camara Reflex Nikon D3000 y Flash Externo de Xenon. Hemos realizado varias pruebas y estas son los resultados:

Móvil BQ Aquaris E 4.5Camara Reflex Nikon D3000Flash de Xenon Externo
No hay Cambios.Reinicio de la placa.Bloqueo de la placa y después Reinicio.

Como podemos ver en el siguiente vídeo sí se reinicio al hacer una foto con Flash de Xenon. Por lo que tened cuidado a la hora de hacer fotos a vuestra Raspberry Pi 2.

Conclusiones

Con esta última prueba ya podemos obtener nuestras conclusiones. En este caso, podemos como para 1 hilo tenemos una mejora de hasta el 60% en la Raspberry Pi 2 con respecto al anterior modelo. Esto se debe a que el procesador Cortex A7 tiene una mayor frecuencia de Reloj. Sin embargo, en este caso no se llega a la mejora de 6 veces que nos dice el fabricante. Esto lo analizamos en la versión multihilo.

En la versión Multihilo, podemos ver que la mejora es mucho mejor teniendo una mejora máxima de hasta 10 veces para algunos casos. Sin embargo, para otros casos la mejora es menor. Haciendo media podemos decir que tiene una mejora de 6 veces con respecto al modelo anterior.

Con respecto al acceso a la memoria, podemos ver que la raspberry Pi 2 tiene un menor tiempo de acceso a esta y por lo tanto es más rápida esto se debe al uso de memoria DDR2. Podemos ver que hay una mejora de hasta un 83%.

Con esto hemos terminado las conclusiones que hemos sacado de las pruebas; sin embargo queremos señalar otras características que tenemos que mencionar y es que la Raspberry Pi 2 tiene un mayor consumo y con un cargador de 1A; puede no ser suficiente; para estas pruebas hemos tenido que comprar un cargador de 2A para que no haya una bajada de tensión y por lo tanto de rendimiento para estas pruebas.

Por último, hemos comprobado que efectivamente el “fallo del flash” es patente en este modelo de Raspberry Pi 2. Hemos probado la placa con distintos Flashes y en 2 de ellos, hemos visto un reinicio o un bloqueo de la placa. Por lo que si tenéis la Raspberry Pi 2, mejor ponedle una funda para que no le afecten estos Flashes.

Pues esto ha sido todo. Esperemos que os haya gustado este análisis de la Raspberry Pi 2. Por lo pronto es una gran mejora con respecto al anterior modelo y a tener en cuenta ya que el precio es el mismo y por lo tanto podemos obtenerla por menos de 35$. Otras placas como la Banana Pi, son también otra opción pero se nos puede ir a casi el doble de precio. Desde BooleanBite os recomendamos esta placa por su versatilidad y la gran comunidad y documentación que hay al respecto.

Más adelante, hablaremos en otros artículos sobre este mini ordenador; como por ejemplo os comentaremos como crear vuestra propia retroconsola para que podáis jugar a juegos clásicos. Antes de irnos os dejamos los enlaces para comprarlo de los proveedores Farnell y RS.

Compra Farnell Element 14

Compra RS

3 Comments on "Análisis: Raspberry pi 2 Model B"

  1. Muy buen análisis, bastante completo, aunque en las tablas de porcentajes el restultado es algo lioso si no se para uno a analizarlos en profundidad. En conclusión Gracias por la información 🙂

  2. Magnífico análisis 😀

Deja un comentario.

Tu dirección de correo no será publicada.


*


*