ODROID-N2: Pruebas de Rendimiento

Hace poco recibí de Hardkernel un ODROID-N2, una nueva placa que reemplaza al ODROID-N1 cancelado. Dentro del paquete, encontré la placa ODROID-N2, la fuente de alimentación, la carcasa transparente, el adaptador USB WiFi y una tarjeta eMMC de 32 GB. El Modulo eMMC es mucho más rápido que las tarjetas SD.

Figura 01 - Vista superior de ODROID-N2

Figura 02 - Vista frontal del ODROID-N2

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

Algunas especificaciones de la placa: CPU Amlogic S922X con cuatros núcleos ARM Cortex-A73 y dos núcleos Cortex-A53 4 GB de RAM DDR4 Ethernet de 1 Gbps 4 puertos USB 3.0, hub USB 3.0 tras un único puerto USB 3.0 del SOC

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

Con las últimas funcionalidades de Docker, con las que puedes crear imágenes ARM tan fácilmente como para x86, prácticamente no hay inconvenientes a la hora de usar un SBC ARM para que cubras las necesidades de tu servidor. Espero que Hardkernel y Amlogic incorporen los parches para soportar esta placa. Por ahora necesitas usar el propio árbol del Kernel de Hardkernel (https://github.com/hardkernel/linux) o recurrir a su wiki para más detalles (https://wiki.odroid.com/odroid-n2/odroid-n2).

Primero, instala DietPi, una distribución Linux muy liviana basada en Debian. Ya tienen una imagen para el ODROID-N2. Simplemente he descargado y desempaquetado el archivo y lo he guardado en la memoria del eMMC usando Balena Etcher. Recuerda comprar el lector eMMC-USB el cual te facilitará la vida. El lector eMMC-USB está disponible en: https://www.hardkernel.com/shop/emmc-module-reader-board-for-os-upgrade/

Pruebas de rendimiento CPU/Memoria

Aquí he comparado parámetros artificiales (Prueba de rendimiento DietPi y 7zip). Estas pruebas nos ofrecen una visión general del rendimiento de las placas

ODROID-N2 4GB

Figura 03 – Prueba de rendimiento con Diet-pi en ODROID-N2

Figura 04 – Pruebas de rendimiento con 7zr b en ODROID-N2

Firefly RK3399–4GB

Figura 05 – Pruebas de rendimiento con Diet-pi RK3399

Figura 06 – Pruebas de rendimiento con 7zr b RK3399

Como término medio, el ODROID-N2 es 30–35% más rápido que el Firefly RK3399, que es mi placa por defecto. Además, tiene un rendimiento de memoria mucho mejor, hasta un 40% más rápida. También he realizado pruebas con otras placas RK3399 y todas proporcionaros resultados similares.

Pruebas de rendimiento de Java

Ejecuté algunas pruebas de rendimiento de Java en consonancia con mi publicación anterior comparando resultados en SPECjvm2008. Estas pruebas, también las ejecuté en el Firefly RK3399 para que los resultados pudieran ser comparados con las otras pruebas de rendimiento que ya había hecho con anterioridad. Las pruebas se ejecutaron en un contenedor Docker con los siguientes 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]
Figura 07 - Aquí tienes las velocidades del núcleo y la temperatura durante las pruebas de rendimiento (100% en todos los núcleos)

Figura 08 - Información de la CPU

Figura 09 - Gráfica de resultados SPEC 2008

Figura 10 - Gráfica de resultados SPEC 2008

Como puede verse, el incremento del rendimiento de alrededor de un 30% fue continuado en comparación con RK3399.

Red

En este caso testee la red usando iperf3. Probé tanto el TX como el RX utilizando el Ethernet de 1Gbps conectado al mismo switch del otro ordenador. Como servidor de pruebas, usé mi Macbook Pro conectado con un adaptador Ethernet de 1Gbps. Aquí puedes ver los resultados del ODROID-N2:

Figura 11 – Pruebas de rendimiento iperf3

El modo de tráfico inverso alcanza resultados más bajos, pero observé números similares al probar la placa RK3399.

Figura 12 – Pruebas de rendimiento iperf3 de tráfico inverso

Probé a deshabilitar la descarga de la suma de verificación de la red, un problema conocido en los SOC de Rockchip, pero el rendimiento no cambió.

Conclusión

La placa ODROID-N2 tiene un gran potencial y es la SBC ARM más potente que he visto. Los posibles usos son prácticamente infinitos, desde un mini servidor doméstico a un centro multimedia con todas las funciones o un escritorio que ejecute casi cualquier carga de trabajo vía instalación o a través de contenedores. Además, es fantástico para montar un clúster Kubernetes con varios nodos.

Su consumo de energía es sorprendente pudiendo estar siempre encendido con tan sólo un consumo de 2.8W mientras esté inactivo y de 6.5W mientras haces una evaluación comparativa con los 6 núcleos al 100%. Además, resulta muy fácil grabar nuevas imágenes, usando eMMC, y la conectividad es suficiente en la mayoría de los casos. Me encantaría ver una ranura PCI-E o una M.2. Un conector para unidades NVMe. Encontré un documento que indicaba que el S922X SOC contiene 1 carril PCI-E que en el caso de ODROID-N2 ha sido usado para el puerto USB 3.0. Otras empresas podrían utilizar este carril PCI-E como conector M.2 o ranura PCI-E.

En conjunto, recomiendo la placa y la ubico en el primer puesto de mi lista por sus prestaciones y su precio razonable teniendo en cuenta su rendimiento y las características que ofrece. Creo que podría transformarlo pronto en un escritorio ARM64 con una distribución Linux totalmente funcional como Ubuntu o si incluso Fedora, si puedo exportarlo.

Este artículo ha sido escrito por Carlos Eduardo y está publicado en su página, que está disponible en https://medium.com/@carlosedp/hardkernel-odroid-n2-review-and-benchmarks-b6996b002582.

Be the first to comment

Leave a Reply