NanoPi NEO3冷却力強化後のUnixBench

NanoPi NEO3のSoCの冷却力を高めたのでこれで全力で動いても大丈夫になった筈。
これまで2回計測したUnixBenchではガッカリな結果だったが・・・

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: nanopineo3: GNU/Linux
   OS: GNU/Linux -- 5.7.10-rockchip64 -- #trunk SMP PREEMPT Mon Jul 27 22:40:16 JST 2020
   Machine: aarch64 (unknown)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   11:00:01 up 2 days, 23:00,  1 user,  load average: 0.22, 0.53, 0.37; runlevel 5

------------------------------------------------------------------------
Benchmark Run: 金  8月 14 2020 11:00:01 - 11:28:46
0 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        7656264.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1765.9 MWIPS (9.8 s, 7 samples)
Execl Throughput                                870.2 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        140216.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           39513.3 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        392950.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                              285418.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  50954.1 lps   (10.0 s, 7 samples)
Process Creation                               1769.8 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2341.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    608.9 lpm   (60.0 s, 2 samples)
System Call Overhead                         466137.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    7656264.5    656.1
Double-Precision Whetstone                       55.0       1765.9    321.1
Execl Throughput                                 43.0        870.2    202.4
File Copy 1024 bufsize 2000 maxblocks          3960.0     140216.0    354.1
File Copy 256 bufsize 500 maxblocks            1655.0      39513.3    238.8
File Copy 4096 bufsize 8000 maxblocks          5800.0     392950.9    677.5
Pipe Throughput                               12440.0     285418.7    229.4
Pipe-based Context Switching                   4000.0      50954.1    127.4
Process Creation                                126.0       1769.8    140.5
Shell Scripts (1 concurrent)                     42.4       2341.6    552.3
Shell Scripts (8 concurrent)                      6.0        608.9   1014.9
System Call Overhead                          15000.0     466137.3    310.8
                                                                   ========
System Benchmarks Index Score                                         331.3

------------------------------------------------------------------------
Benchmark Run: 金  8月 14 2020 11:28:46 - 11:57:58
0 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       30564936.4 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     7065.3 MWIPS (9.8 s, 7 samples)
Execl Throughput                               2497.8 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        242698.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           65123.7 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        730181.3 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1133962.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 165331.0 lps   (10.0 s, 7 samples)
Process Creation                               4611.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4812.3 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    629.3 lpm   (60.2 s, 2 samples)
System Call Overhead                        1818031.4 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   30564936.4   2619.1
Double-Precision Whetstone                       55.0       7065.3   1284.6
Execl Throughput                                 43.0       2497.8    580.9
File Copy 1024 bufsize 2000 maxblocks          3960.0     242698.9    612.9
File Copy 256 bufsize 500 maxblocks            1655.0      65123.7    393.5
File Copy 4096 bufsize 8000 maxblocks          5800.0     730181.3   1258.9
Pipe Throughput                               12440.0    1133962.0    911.5
Pipe-based Context Switching                   4000.0     165331.0    413.3
Process Creation                                126.0       4611.3    366.0
Shell Scripts (1 concurrent)                     42.4       4812.3   1135.0
Shell Scripts (8 concurrent)                      6.0        629.3   1048.9
System Call Overhead                          15000.0    1818031.4   1212.0
                                                                   ========
System Benchmarks Index Score                                         836.9

UnixBenchを走らせる前にCPUのクロックは1.5GHz固定にした。(終了後もそのまま1.5GHz)

インデックスのスコア(黄字)を見ると、シングルで前回の1.1倍、4パラレルで1.4倍。前回は特に4パラレルで異常にスコアが悪かったのでこれで正常感が強い。前回はNanoPi NEO3標準ヒートシンクで放熱ができてなくて、おそらくリミッターがかかる直前ぎりぎりの温度でUnixBenchを走らせ始めてて、そこから僅かに温度が上がったところでクロックが落とされていたということかしら。

CPUクロック変更

/etc/default/cpufrequtils (変更部分)
1
2
MAX_SPEED=1512000
GOVERNOR=performance
クロック上限を1.5GHzに指定してガバナーをパフォーマンス(上限側で固定)にした。
$ sudo systemctl restart cpufrequtils
cpufrequtilsサービスを再起動すると1.5GHz固定になる。(システム起動時などは一時的に他のクロックが使われることがある)

CPU温度推移

温度推移
10:50にCPUクロックを1GHzから1.5GHzに変更。11:00から12:00までUnixBenchが動いている。毎日8:00から16:00にかけて温度の上昇局面なのでそれを考慮するとクロック変更後は5℃ほど温度が上昇している感じ。UnixBench中は急上昇しているがそれでも突出したときで70℃程度なので冷却力を高める前の1.5GHzのアイドル時より良好。冷却が効いているなら負荷が高いとき以外は意外と温度は大きく上がらないといえる。NanoPi NEO3標準のちっちゃいヒートシンク使用時は冷却力がきびしくて負荷が小さくて(アイドルで)もクロックの違いで温度が大きく変わるみたい。

関連記事:

コメント: NanoPi NEO3冷却力強化後のUnixBench

  1. 自分のNeo3もUnixBenchが振るわなかったんですが(OSはFriendlyWrt クロックはデフォルト。頑張って冷却してUnixBench実行時Max57℃)
    ベンチ時グラフを見ていたらShell Scriptsテスト時だけ、システム負荷が特別に大きくなり(他のテストでは上がらない)、あれ?と思い、
    試しにマウントしたUSBメモリ(そこそこ速い)にUnixBenchを入れて実行したところ、シングル 302.7 4パラレル 837.2 という結果に。
    実行する場所によって変わるみたいです。特にFile Copy のテストが足を引っぱっている。
    ご参考までに。

  2. UnixBenchのインデックススコアはCPUの処理以外の結果も含まれるのでストレージの読み書き速度が速くなればその項目が反映されてスコアは向上します。
    ただ、今回はCPUの冷却によるスコアの違いを見たかったので冷却変更前と変更後ではおなじmicroSDカードを使っています。
    シングルボードコンピュータ(特にmicroSDを使う場合で)は多くの場合はストレージの読み書きが多くない用途で使うと思うのでストレージの読み書き性能はあまり気にしていません。「がとらぼ」では他のUnixBenchの計測でも速さを競おうとは思っていないので速いmicroSDカードは使っていません。余り物のClass2とか4とかクソ遅いのを平気で使ってます。

コメントは締め切られています。