I recently received from Hardkernel an Odroid N2 SBC. A new board replacing the previous N1 that got cancelled. I got the Odroid N2 board, power supply, the clear case, WiFi USB adapter and a 32GB eMMC card (eMMC is way faster than SD cards).
The nice thing about the N2 is that is uses a different SOC, an Amlogic S922X, giving a new perspective compared to most RK3399 top-end boards we see these days.
Some board specs:
- Hexa-core Amlogic S922X CPU with quad ARM Cortex-A73 and dual Cortex-A53 cores
- 4GB DDR4 RAM
- 1Gbps Ethernet
- 4 USB 3.0 ports (USB 3.0 hub behind a single USB 3.0 port from the SOC)
More details can be seen here.
My tests are always focused on server and console workloads. There are lots of benchmarks on Youtube and other blogs running games on Android or Linux desktop.
Now with latest features from Docker where you can build ARM images as easy as for x86 as I wrote here, there is almost no drawbacks to use an ARM SBC for your server needs.
First think I did was installing DietPi, a lightweight Linux distribution based on Debian. They already have an image for the N2. I just downloaded and unpacked the file and flashed it to the eMMC memory using Balena Etcher. Remember to order the eMMC-USB reader to make your life easy.
Here I compare synthetic benchmarks (DietPi benchmark and 7zip). These tests give a brief overview of the performance for the boards.
In average, Odroid N2 is 30–35% faster than Firefly RK3399, my default board. Also it has way better memory throughput, up to 40% faster. I also benchmarked other RK3399 boards in the past and they all score close numbers.
Here I ran some Java benchmarks aligned with my previous post comparing results on SPECjvm2008. On those tests, I ran in the Firefly RK3399 as well so the results will be aligned with the other benchmarks already done here.
The benchmarks were run in a Docker container with the parameters:
docker run -it --rm -v $(pwd):/test openjdk:8u181-jdk-stretch bashjava -jar SPECjvm2008.jar -wt 30s -it 1m -bt 6 -i 3 -ikv -ict [benchmark]
Here are the Core speeds and a temperature during the benchmarks (100% on all cores)
As can be seen, the performance increase around 30% persists compared to RK3399.
Here I test the network using iperf3. I test both TX and RX using the 1Gbps Ethernet connected to the same switch as the other computer.
As server I used my Macbook Pro connected with a 1Gbps Ethernet adapter.
Here you can see the results from the Odroid N2:
Reverse traffic mode gets lower numbers but I saw similar numbers while testing the RK3399 board.
I tried disabling network checksum offload (a known issue on Rockchip SOCs) but the performance numbers kept the same.
The board has a huge potential and is the most powerful ARM SBC I’ve seen. It’s use cases are infinite ranging from a home/mini server to a full-featured media center or desktop running almost any workload either installed or on containers. Also it’s fantastically suited for a Kubernetes cluster with multiple nodes.
Also it's power consumption is amazing and can be always on with only 2.8W while idle and 6.5W while benchmarking with all 6 cores at 100%.
It’s easy to flash new images (using eMMC) and connectivity is plenty for most uses. I would love to see a PCI-E slot or an M.2. connector for NVME drives. ̶U̶n̶f̶o̶r̶t̶u̶n̶a̶t̶e̶l̶y̶ ̶t̶h̶e̶ ̶S̶9̶2̶2̶X̶ ̶S̶O̶C̶ ̶d̶o̶e̶s̶n̶’̶t̶ ̶s̶u̶p̶p̶o̶r̶t̶ ̶a̶n̶y̶ ̶P̶C̶I̶-̶E̶ ̶l̶a̶n̶e̶s̶ ̶f̶o̶r̶ ̶t̶h̶e̶s̶e̶ ̶f̶e̶a̶t̶u̶r̶e̶s̶.̶ Actually I found a document that states that the S922XSOC contains a 1 lane PCI-E that in Odroid N2 case was used for the USB 3.0 port. Other companies could provide this PCI-E lane as a M.2 connector or PCI-E slot.
All in all, I highly recommend the board and place it on top of my list with it’s features and within a reasonable price point for it’s performance and features. Also I think I might transform it soon into an ARM64 desktop with a full-featured Linux distribution like Ubuntu or if I can port it, Fedora.