ODROID-N1 vs ODROID-XU4: A Real-World Benchmark Comparison

ODROID-N1 benchmark

In keeping with their timely innovations, Hardkernel has just announced their latest SBC offering, the ODROID-N1, based on the Rockchip RK3399 SOC (http://goo.gl/2BpMuQ). Here is a very early and quick real world comparison of the ODROID-N1 with their current flagship offering, the ODROID-XU4. Note that the ODROID-N1 tested here is an engineering sample and not a released product. It is running Debian on the interim kernel 4.4 and there has not been adequate time to fully tune its OS or crypto algorithms, and other relevant components. However, some very interesting results have been observed.

The head to head comparison comprised of a single ODROID-N1 and a ODROID-XU4 pool mining (stratum server) Verium (VRM) at sustainable frequency settings. At an ambient temperature of 71 0F (21.66 0C), the ODROID-XU4 running at 1.7Ghz maintained an average temperature in the 70’s 0C and while the ODROID-N1 at 1.99Ghz never saw its temperature exceed 51 0C. The ODROID-N1 feels like a refrigerator in disguise.

The tools used include:

  • odroid-cpu-control
  • cpuminer-fireworm

The results listed below have been formatted for better readability.

ODROID-N1 results

odroid@odroid-n1:~$ uname -a
Linux odroid-n1 4.4.112 #2 SMP Thu Feb 8 21:25:35 -02 2018 aarch64 GNU/Linux

odroid@odroid-n1:~$ odroid-cpu-control -l
CPU0: governor ondemand current 408.00MHz       
 min 408.00MHz [408.00MHz]  max 1.51GHz [1.51GHz]
CPU1: governor ondemand current 408.00MHz       
 min 408.00MHz [408.00MHz]  max 1.51GHz [1.51GHz]
CPU2: governor ondemand current 408.00MHz       
 min 408.00MHz [408.00MHz]  max 1.51GHz [1.51GHz]
CPU3: governor ondemand current 408.00MHz       
 min 408.00MHz [408.00MHz]  max 1.51GHz [1.51GHz]
CPU4: governor ondemand current 408.00MHz       
 min 408.00MHz [408.00MHz]  max 1.99GHz [1.99GHz]
CPU5: governor ondemand current 408.00MHz       
 min 408.00MHz [408.00MHz]  max 1.99GHz [1.99GHz]

odroid@odroid-n1:~$ ~/cpuminer-fireworm -o stratum+tcp://stratum.poolsloth.com:3333 -u xxxx -p xxxx --randomize --no-redirect -t 9

 Verium Miner forked from cpuminer 1.4 {fireworm} by fireworm@github **
              credits to tpruvot et al. & effectsToCause et al. **

[2018-02-18 18:31:05] Starting Stratum on stratum+tcp://stratum.poolsloth.com:3333
[2018-02-18 18:31:05] HugePages unavailable (22)

[2018-02-18 18:31:05] 9 miner threads started, using scrypt algorithm.
[2018-02-18 18:31:09] Stratum difficulty set to 0.025
[2018-02-18 18:31:09] stratum.poolsloth.com:3333 scrypt² block 181936
[2018-02-18 18:32:39] Total: 538.110 H/m
[2018-02-18 18:32:59] accepted: 1/1 (100.00%), 0.00837 kH/s yes!
[2018-02-18 18:33:10] Total: 479.410 H/m
[2018-02-18 18:33:43] Total: 530.087 H/m
[2018-02-18 18:35:03] Total: 512.673 H/m
[2018-02-18 18:35:10] accepted: 2/2 (100.00%), 0.00822 kH/s yes!
[2018-02-18 18:36:04] Stratum difficulty set to 0.0171756
[2018-02-18 18:36:39] Total: 534.344 H/m
[2018-02-18 18:37:08] accepted: 3/3 (100.00%), 0.00829 kH/s yes!
[2018-02-18 18:37:31] accepted: 4/4 (100.00%), 0.00932 kH/s yes!
[2018-02-18 18:38:09] Total: 558.247 H/m
[2018-02-18 18:39:40] Total: 536.414 H/m
[2018-02-18 18:41:00] accepted: 5/5 (100.00%), 0.00915 kH/s yes!
[2018-02-18 18:41:02] Total: 537.398 H/m
[2018-02-18 18:41:21] accepted: 6/6 (100.00%), 0.00825 kH/s yes!
[2018-02-18 18:42:40] Total: 555.318 H/m
[2018-02-18 18:44:06] Total: 533.703 H/m
[2018-02-18 18:44:48] accepted: 7/7 (100.00%), 0.00930 kH/s yes!
^C
[2018-02-18 18:45:08] SIGINT received, exiting

Odroid XU4 results

root@c3n0:~# uname -a
Linux c3n0 4.14.5-92 #1 SMP PREEMPT Mon Dec 11 15:48:15 UTC 2017 armv7l armv7l armv7l GNU/Linux

root@c3n0:~# odroid-cpu-control -l
CPU0: governor performance      
    current 1.40GHz min 200.00MHz [200.00MHz]  max 1.40GHz [1.40GHz]
CPU1: governor performance      
    current 1.40GHz min 200.00MHz [200.00MHz]  max 1.40GHz [1.40GHz]
CPU2: governor performance      
    current 1.40GHz min 200.00MHz [200.00MHz]  max 1.40GHz [1.40GHz]
CPU3: governor performance      
    current 1.40GHz min 200.00MHz [200.00MHz]  max 1.40GHz [1.40GHz]
CPU4: governor performance      
    current 1.70GHz min 200.00MHz [200.00MHz]  max 1.70GHz [2.00GHz]
CPU5: governor performance      
    current 1.70GHz min 200.00MHz [200.00MHz]  max 1.70GHz [2.00GHz]
CPU6: governor performance      
    current 1.70GHz min 200.00MHz [200.00MHz]  max 1.70GHz [2.00GHz]
CPU7: governor performance      
    current 1.70GHz min 200.00MHz [200.00MHz]  max 1.70GHz [2.00GHz]

root@c3n0:~# ~/cpuminer-fireworm -o stratum+tcp://stratum.poolsloth.com:3333 -u xxxx -p xxxx --randomize --no-redirect -t 4 -1 2 --cpu-affinity-stride 1 --cpu-affinity-default-index 4 --cpu-affinity-oneway-index 0

 Verium Miner forked from cpuminer 1.4 {fireworm} by fireworm@github **
          credits to tpruvot et al. & effectsToCause et al. **

[2018-02-18 18:31:05] Starting Stratum on stratum+tcp://stratum.poolsloth.com:3333
[2018-02-18 18:31:05] Binding thread 0 to cpu index 0
[2018-02-18 18:31:05] Binding thread 1 to cpu index 0
[2018-02-18 18:31:05] HugePages unavailable (22)

[2018-02-18 18:31:05] Binding thread 2 to cpu index 0
[2018-02-18 18:31:05] Binding thread 3 to cpu index 0
[2018-02-18 18:31:05] 6 miner threads started, using 'scrypt²' algorithm.
[2018-02-18 18:31:05] Binding thread 4 to cpu index 0
[2018-02-18 18:31:05] Binding thread 5 to cpu index 0
[2018-02-18 18:31:09] Stratum difficulty set to 0.025
[2018-02-18 18:31:09] stratum.poolsloth.com:3333 scrypt² block 181936
[2018-02-18 18:31:43] Total: 388.377 H/m
[2018-02-18 18:32:14] Total: 387.199 H/m
[2018-02-18 18:32:45] Total: 387.127 H/m
[2018-02-18 18:33:16] Total: 384.155 H/m
[2018-02-18 18:33:47] Total: 385.000 H/m
[2018-02-18 18:34:18] Total: 385.126 H/m
[2018-02-18 18:34:49] Total: 384.142 H/m
[2018-02-18 18:35:20] Total: 383.299 H/m
[2018-02-18 18:35:51] Total: 383.115 H/m
[2018-02-18 18:36:22] Total: 384.423 H/m
[2018-02-18 18:36:54] Total: 385.171 H/m
[2018-02-18 18:37:25] Total: 385.309 H/m
[2018-02-18 18:37:35] accepted: 1/1 (100.00%), 0.00640 kH/s yes!
[2018-02-18 18:37:39] accepted: 2/2 (100.00%), 0.00639 kH/s yes!
[2018-02-18 18:37:44] accepted: 3/3 (100.00%), 0.00639 kH/s yes!
[2018-02-18 18:37:56] Total: 383.180 H/m
[2018-02-18 18:38:27] Total: 382.897 H/m
[2018-02-18 18:38:58] Total: 382.540 H/m
[2018-02-18 18:39:29] Total: 383.798 H/m
[2018-02-18 18:40:00] Total: 383.192 H/m
[2018-02-18 18:40:31] Total: 383.481 H/m
[2018-02-18 18:41:02] Total: 383.795 H/m
[2018-02-18 18:41:33] Total: 384.514 H/m
[2018-02-18 18:42:04] Total: 383.588 H/m
[2018-02-18 18:42:35] Total: 383.282 H/m
[2018-02-18 18:43:07] Total: 382.776 H/m
[2018-02-18 18:43:38] Total: 383.951 H/m
[2018-02-18 18:44:09] Total: 384.540 H/m
[2018-02-18 18:44:13] accepted: 4/4 (100.00%), 0.00642 kH/s yes!
[2018-02-18 18:44:17] Stratum difficulty set to 0.0169173
[2018-02-18 18:44:29] accepted: 5/5 (100.00%), 0.00642 kH/s yes!
[2018-02-18 18:44:40] Total: 385.162 H/m
^C
[2018-02-18 18:45:04] SIGINT received, exiting
The average hash rate for the ODROID-N1 was 531.57 H/m and 384.35 H/m for the ODROID-XU4. It indicates that there is a 38.3% increase in hash rate for the ODROID-N1 in real world operations. I only spent a relatively short amount of time quickly going through a bunch of thread and core combinations on the ODROID-N1, so there is bound to be some room for improvement. Even though the ODROID-N1 was running 9, 3-way threads for the test, I was successful in running 24 1-way threads. I did not try any higher number of 1-way threads because the performance was deteriorating. It just demonstrates the flexibility and advantage of having 4GB of RAM (memory). In the future, a 6-way thread test can be performed to study the issue further. For the record, even though the ODROID-XU4 was running at 2Ghz, the hash rate was lower and unsustainable.
root@c3n0:~# odroid-cpu-control -s -M 2.0G
CPU0: max 1.40GHz [1.40GHz] -> 1.40GHz [1.40GHz]
CPU1: max 1.40GHz [1.40GHz] -> 1.40GHz [1.40GHz]
CPU2: max 1.40GHz [1.40GHz] -> 1.40GHz [1.40GHz]
CPU3: max 1.40GHz [1.40GHz] -> 1.40GHz [1.40GHz]
CPU4: max 1.70GHz [2.00GHz] -> 2.00GHz [2.00GHz]
CPU5: max 1.70GHz [2.00GHz] -> 2.00GHz [2.00GHz]
CPU6: max 1.70GHz [2.00GHz] -> 2.00GHz [2.00GHz]
CPU7: max 1.70GHz [2.00GHz] -> 2.00GHz [2.00GHz]

root@c3n0:~# ~/cpuminer-fireworm -o stratum+tcp://stratum.poolsloth.com:3333 -u xxxx -p xxxx --randomize --no-redirect -t 4 -1 2

 Verium Miner forked from cpuminer 1.4 {fireworm} by fireworm@github **
              credits to tpruvot et al. & effectsToCause et al. **

[2018-02-18 20:37:32] Starting Stratum on stratum+tcp://stratum.poolsloth.com:3333
[2018-02-18 20:37:32] HugePages unavailable (22)

[2018-02-18 20:37:32] 6 miner threads started, using 'scrypt²' algorithm.
[2018-02-18 20:37:36] Stratum difficulty set to 0.025
[2018-02-18 20:37:36] stratum.poolsloth.com:3333 scrypt² block 181963
[2018-02-18 20:37:42] accepted: 1/1 (100.00%), 0.00429 kH/s yes!
[2018-02-18 20:38:31] accepted: 2/2 (100.00%), 0.00642 kH/s yes!
[2018-02-18 20:38:48] Total: 356.060 H/m
[2018-02-18 20:39:58] Total: 357.322 H/m
[2018-02-18 20:41:01] Total: 353.908 H/m
[2018-02-18 20:41:02] accepted: 3/3 (100.00%), 0.00590 kH/s yes!
[2018-02-18 20:41:32] accepted: 4/4 (100.00%), 0.00611 kH/s yes!
[2018-02-18 20:42:12] Total: 347.295 H/m
^C
[2018-02-18 20:42:18] SIGINT received, exiting
Another good point of reference for comparison is KaptainBlaZzed's hardware hash rate comparison sheet for VRM at http://goo.gl/hrYs2Q. On the second sheet, accessed by the tab at the bottom, there is a comparison of other SBC's. Again, some context is in order. My ODROID-XU4 posted hash rate is for solo mining (get-work not a stratum server) and is a sustainable hash rate at 1.7Ghz. If someone has improved their cooling, has better OS or crypto-algorithm tuning, they could possibly see better hash rates. At the far right of the spreadsheet you can see the Hashes/Watt results which also shed some light on the efficiency of the SBC's. One other important number missing is the Hashes/Dollar (capital cost). It is another area that the ODROID SBC's in general are at or near the top.

Observations

It appears the PoP memory could be affecting system thermal profiles. For the moment at least, based on the thermal profiles of the ODROID-XU4 and the likes of the ODROID-MC1, they seem to be more cost-effective than ODROID-N1 for mining rigs.  For comments, questions, and suggestion, please visit the original ODROID Forum thread at https://forum.odroid.com/viewtopic.php?f=149&t=30174. Additional information about the upcoming ODROID-N1, along with updates on the production release date, is available at https://forum.odroid.com/viewtopic.php?f=149&t=29932.

Be the first to comment

Leave a Reply