Análisis del ODROID-N2

Hace poco he recibido un SBC ODROID-N2 de Hardkernel, que es una nueva placa que reemplaza el anterior ODROID-N, el cual fue cancelado. Compré la placa ODROID-N2, la fuente de alimentación, una carcasa transparente, un adaptador USB WiFi y una tarjeta eMMC de 32GB, ya que los módulos eMMC son mucho más rápidos que las tarjetas SD.

Figura 01 - El ODROID-N2

Figura 02

Lo bueno del ODROID-N2 es que utiliza un SOC diferente, un Amlogic S922X, que ofrece una nueva perspectiva en comparación con la mayoría de las placas RK3399 de gama alta que vemos en la actualidad.

Algunas especificaciones de la placa:

  • CPU Amlogic S922X Hexa-core con cuatro núcleos ARM Cortex-A73 y dos núcleos Cortex-A53
  • 4 GB de RAM DDR4
  • Ethernet de 1Gbps
  • 4 puertos USB 3.0 (Hub USB 3.0 tras un único puerto USB 3.0 del SOC)

Puedes encontrar más detalles sobre las especificaciones en https://www.hardkernel.com/shop/odroid-n2-with-4gbyte-ram/. Mis pruebas siempre han estado centradas en cargas de trabajo a nivel de servidor y de consola. Hay muchas pruebas de rendimiento en Youtube y otros blogs donde se ejecutan juegos sobre escritorios de Android o Linux.

Ahora con las últimas características de Docker, que te permite compilar imágenes ARM tan fáciles como para x86 (tal y como describí en https://bit.ly/321J80b), prácticamente no hay inconvenientes para usar un SBC ARM para cubrir necesidades a nivel de servidor. Espero que Hardkernel y Amlogic envíen los parches para dar soporte a esta placa. Deberás usar el propio Kernel de Hardkernel en https://github.com/hardkernel/linux. Tienes más detalles en su wiki en https://wiki.odroid.com/odroid-n2/odroid-n2.

Lo primero que hice fue instalar DietPi, una distribución ligera de Linux basada en Debian. Ya tiene una imagen para el ODROID-N2. Simplemente la descargue, desempaquete el archivo y lo grabé en el módulo eMMC usando Balena Etcher (https://www.balena.io/etcher/). Recuerda comprar el lector ODROID eMMC-USB  (https://bit.ly/2ZjxC2L)-- te facilitará bastante la vida.

Prueba de Rendimiento CPU/Memoria

Primero, comparé parámetros artificiales (indicadores de referencia DietPi y 7zip). Estas pruebas ofrecen una visión general del rendimiento del ODROID-N2 y un SBC equipado con RK3399.

ODROID-N2–4GB

[ Fig. 03 ]
 

[ Fig. 04 ]

Firefly RK3399–4GB

[ Fig. 05 ]
 

[ Fig. 06 ]
De media, el ODROID-N2 es 30-35% más rápido que Firefly RK3399, mi placa por defecto. También tiene un rendimiento de memoria mucho mejor, hasta un 40% más rápido. También comparé otras placas RK3399 en el pasado y todas tienen unos resultados similares a la Firefly.

Prueba de rendimiento Java

A continuación, lleve a cabo algunas pruebas de rendimiento de Java en consonancia con mi publicación anterior comparando los resultados en SPECjvm2008. Estas pruebas, también las ejecuté en el Firefly RK3399, de modo que los resultados se ajustan al resto de pruebas que se muestran en este artículo.

Las pruebas de rendimiento se ejecutaron en un contenedor Docker con los parámetros:

$ docker run -it --rm -v $(pwd):/test openjdk:8u181-jdk-stretch bash \
     Java -jar SPECjvm2008.jar -wt 30s -it 1m -bt 6 -i 3 -ikv -ict \ 
     [benchmark]
[ Fig. 07 ]
Aquí tienen las velocidades del núcleo y una evaluación de la temperatura durante las pruebas de rendimiento (100% en todos los núcleos)

[ Fig. 08 ]
 

[ Fig. 09 ]
 

[ Fig. 10 ]
Como puedes ver, el rendimiento aumenta alrededor de un 30% en comparación con el RK3399.

Red

Luego probé la red usando iperf3. Testeo tanto TX como RX usando la Ethernet de 1 Gbps conectado al mismo switch que otro ordenador. Como servidor, utilicé mi Macbook Pro conectado con un adaptador Ethernet de 1 Gbps. La Figura 11 muestra los resultados del ODROID-N2:

[ Fig. 11 ]
El modo tráfico inverso tiene resultados más bajos, aunque observé resultados similares cuando probé la placa RK3399.

[ Fig. 12 ]
Intenté desactivar la descarga de la suma de comprobación de la red (un problema conocido en los SOC de Rockchip) pero los resultados de rendimiento fueron los mismos.

Conclusión

La placa tiene un enorme potencial y es el SBC ARM más potente que he visto. Se adapta a muchos posibles usos, desde un servidor doméstico/mini hasta un centro multimedia con todas las funciones o un ordenador de escritorio que puede ejecutar casi cualquier carga de trabajo instalada o en contenedores. Es fantásticamente adecuado para un clúster Kubernetes con múltiples nodos. Además, su consumo de energía es sorprendente y puede estar siempre ENCENDIDO con solo 2.8 W en reposo y 6.5 W mientras se realiza pruebas de rendimiento con los 6 núcleos al 100%.

Figura 13 - Consumo estando encendido y trabajando al 100%

Es fácil grabar nuevas imágenes (usando eMMC) y la conectividad es suficiente para la mayoría de los posibles usos. Me encantaría ver una ranura PCI-E o un conector M.2. para unidades NVME. En realidad, encontré un documento que dice que el S922XSOC contiene un PCI-E de 1 carril que, en el caso ODROID-N2, fue usado para el puerto USB 3.0. Otras empresas podrían proporcionar esta conexión PCI-E como un conector M.2 o ranura PCI-E.

En general, recomiendo encarecidamente la placa y la pongo en el top de mi lista por sus características, rendimiento y precio razonable. Además, en un futuro próximo, creo que podría transformarlo en un escritorio ARM64 con una distribución de Linux con todas las funciones como Ubuntu o Fedora, si logro exportarlo.

Referencias

https://bit.ly/2ziyPbX https://github.com/MichaIng/DietPi/issues/2028

Be the first to comment

Leave a Reply