ラズパイ5互換か?? ROCK 5A/5Bシングルボードコンピュータをレビュー

皆さんはシングルボードコンピュータ(SBC)と呼ばれる基板一枚で動作する小さなコンピュータを触ったことはありますでしょうか。イチケンチャンネルでは以前動画でRaspberry Pi 4を紹介しました。

今回はRSコンポーネンツ様から最新の高性能シングルボードコンピュータ「ROCK 5」シリーズをご提供いただきましたので、現在販売されているAモデルとBモデルそれぞれについて特徴と性能について掘り下げつつ、その使用感やRaspberry Piとの違いについてレビューします。

動画

詳細なレビューの様子についてはYouTube動画も公開していますので、ぜひあわせてご覧ください。

目次

各モデルのラインナップについて

ROCK 5シリーズには、基本的なフォームファクタがRaspberry Piシリーズと同じAシリーズと、さらに機能を増やした上位版であるBシリーズがラインナップされています。

両モデルともメモリ容量ごとに4, 8, 16GBの選択肢があり、それぞれの価格については以下のとおりです。(2024年2月時点)

RAM容量が最大24GBまで用意されているので幅広い用途に合わせて選択することができます。ただし、最近販売が開始されたRaspberry Pi 5の価格が8GBで15,000円程度ですので、競合モデルであるROCK 5Aは5000円程度割高となります。

SoCについて

ROCK 5AではCPU(他の機能も搭載しているので正しくはSoC)にRockchip RK3588Sを採用しています。これはRaspberry Pi5 でも使用されているCortex-A76の4コアに、さらにCortex-A55を4コア加えた合計8コアを搭載したものです。オクタコアですね。

ROCK 5BはRockchip RK3588で、PCIe3.0に対応した以外は基本的に前述のRK3588Sと同じようです。

ROCK 5Aモデルの特徴

外観

まず基本モデルとなるROCK 5Aから見ていきましょう。外観の形状はRaspberry Piシリーズそっくりです。

こちらのROCK 5シリーズを販売しているRSコンポーネンツは数年前までRaspberry Piシリーズの製造・販売を受託していましたが、現在は撤退しています。その後、RSコンポーネンツのグループ企業であるOKdo(radxaが開発)が取り扱うROCKシリーズの販売に注力するようになったというわけです。

競合との比較

ROCK 5Aは他のRaspberry Piフォームファクタを採用したSBCと同じように、外観は非常にRaspberry Piシリーズに似ています。左から順にROCK 5ARaspberry Pi 5Raspberry Pi 4を並べた様子です。

USB Type-CポートやmicroHDMI、ピンヘッダなどコネクタ類の位置、基板のネジ穴の位置は完全互換であることが分かります。

なお、Raspberry Pi4は何故か歴代モデルとUSB Type-AコネクタとLANポートの配置が入れ替わっていましたが5で元に戻っています。4の設計に影響を受けていると思われるRock 5Aはコネクタの配置がPi4と同じです。

Pi5も買いました

画像にも登場したようにRaspberry Pi 5も既に入手しています。近いうちにこちらのレビュー動画も公開したいと思いますので、是非お楽しみに。

ストレージ

ROCKシリーズも以前のモデルではオンボードで無線機能を搭載していたようですが、特にRaspberry Piと互換形状になったROCK 3以降はWi-Fiなどの無線機能を標準で搭載することはせず、M.2コネクタでの後付けや上位グレードで実装という形態をとっているようです。

ROCK 5Bモデルの特徴

外観

次にROCK 5Bの方を見ていきます。こちらはROCK 5Aと比べて一回りサイズが大きく、Raspberry Piというよりも謎の半導体メーカーNVIDIAのJetson Nanoに近い印象です。

ROCK 5Bの搭載機能

Raspberry Piシリーズと同じサイズという制約から解き放たれたROCK 5Bは、基板が大型化した分ペリフェラル周りの機能もだいぶ増えています。GPIOやUSBコネクタについてはROCK 5Aと変わらない印象ですが、HDMIコネクタはフルサイズが2つになっており、反対側のmicroHDMIポートは入力に対応しました。

また、最大の特徴として2.5Gbitイーサネットに対応しています。

基板表面にはROCK 5Aと同様の2230サイズのカードに対応したM.2 E-Keyコネクタがあり、また、裏面には2280サイズのNVMe SSDに対応したM.2 M-Keyコネクタがあります。

ROCK 5AではeMMCかmicroSDカードからの起動しかできませんでしたが、ROCK 5BではNVMe SSDを接続し、SSD上にインストールしたOSイメージを非常に高速にブートすることも可能です。これについては後ほど比較検証しています

また、RTC用の電池コネクタもあり、これによってネットワークに繋いでいない状態で電源を切った場合でも時刻を保持できるようになります。ROCK 5Aでもパターン自体は用意されていたようですが、コネクタが実装されているのはROCK 5Bの方だけです。

本体を見ていて気づいた点など

一応公式のアナウンスでは5A, 5Bともにファンレスでの動作も可能のようですが、周辺機器を繋いでGUIで使っているだけでもかなり熱くなります。ヒートシンクについてはファンマウントの穴位置などRaspberry Piシリーズと互換性はあるように見えますが、SoCの位置が異なるためPi4とヒートシンク自体の互換性はありません。

なお、ROCK 5Bでは基板裏面のM.2スロットにSSDが装着できますが、こちら両面実装の物を使うと純正ヒートシンクのプッシュリベットと干渉するようなので注意が必要です。

試用

ここまでスペックと外観について見てきましたが実際に電源を繋いで使用していきたいと思います。なお、今回は上位モデルであるROCK 5Bの方をメインに使用しています。

使い始めるまでの準備

OSイメージ

OSイメージにはradxa公式で配布されている、デスクトップ環境(KDE)の入ったrock-5b_debian_bullseye_kde_b39.img.xzを使用しています。公式のビルド以外にもユーザーがビルドした 他のディストリビューションイメージ も多数あるようなので、いろいろ試してみるのもいいかもしれません。

ログイン

標準でSSHが有効になっていたので、まず最初にSSH接続を試してみました。また、標準でmDNSが有効になっているのでrock-5bで名前解決して接続できるのは親切ですね。

SSH接続した様子

また、SSH経由でapt intstallを叩くことで、xrdpなどのリモートデスクトップ環境のインストールまでヘッドレスで行うことが出来ます。実際にWindows側から接続も試しましたが、非常に快適に使用できます。

WindowsからRDP接続した様子

webブラウジングテスト

基本的なネットサーフィンや、YouTubeでの動画再生などは問題なくできました。デスクトップPC等との使用感と比べてしまうと多少モッサリな感じはありますが、特に支障はありません。

サーモグラフィで基板本体の発熱を確認してみると、動画再生中で71~73℃アイドル時で61℃程度となりました。CPUが8コア構成になっているということもありそこそこ発熱している印象ですが、それでも通常のネットブラウジング程度では周辺回路など他の部分の発熱のほうがまだ目立つ程度の発熱と言えます。

動画編集ソフト

次に、もう少し重い動作をさせてみるため、Linux上で動く動画編集ソフトのOpenShot Video Editorを使用して動画素材のエンコードを行ってみました。後述するROCK純正ヒートシンクを取り付けての試験です。

エンコードを開始すると段々と温度が上昇していき、ヒートシンクのファンが回転した状態で概ね50℃台で安定します。GUI上でソフトを使用しながらフルHDのエンコードをかけていますが、これといって動作に問題があるわけでもなく普通のパソコンと同じように使用できています。

カメラモジュールデモ

Raspberry Piにもありましたが、ROCK純正のカメラモジュールについてもRSコンポーネンツ様より提供いただきましたので、こちらも接続して動作を確かめていきたいと思います。

今回はカメラデモンストレーションとしてOpenCVで顔検出を行うPythonスクリプトを作成しました。今回のデモンストレーションで使用したソースコードはイチケンのGitHubリポジトリ上で公開していますので、興味のある方は是非覗いてみてください。

今回のデモでは、検知した人の顔部分に緑の枠を描画し、さらにその範囲内から目を検出して赤色の枠を描画する処理を行っています。

放熱について

発熱について。撮影以外でも色々と検証を重ねていましたが、多少重たい処理が走った際などはサーマルスロットリングが起きているのかCPUのクロックが如実に下がってパフォーマンスが低下するような場面がありました。

約80℃程度でサーマルスロットリングが発生するようでしたので、やはりヒートシンクはあった方が良いかと思います。

ヒートシンクの取り付け

今回はradxa純正ヒートシンクを使用しました。ヒートシンク自体はアルミむき出しの状態で届きましたので、必要に応じてCPUグリスなどを用意してください。

今回は付属のカット済み熱伝導シートを貼り付け、CPUグリスを塗って取り付けます。なお、ヒートシンクは2枚あるRAMのうち1枚に熱伝導シート越しに触れる構造なのですが、基板外側の方のRAMには接触しない構造になっています。これで正しいようです。

なお、(恐らくPi 5にも使える)ROCK純正ヒートシンクは上記リンクから700円程度で購入できます。

ファンコントロールについて

標準のOSのイメージにはファンをコントロールするようなプログラムは特に含まれていませんでした。一応ファンの制御自体はできるようで、有志が制御ソフトウェアを開発してGitHubで公開しているものを見つけましたので、以下にリンクを付しておきます。

ベンチマーク比較

次に、ROCK 5Aと5Bの性能評価を行っていきます。

CPU

unixBenchによってSoC(CPU)の性能を比較した結果、以下のようになりました。

ROCK 5Aと5Bで計算能力に差は無いという結果になりました。50程度あるスコア差もボードを動かしている環境による誤差かと思います。

参考までに、Raspberry Pi 5(8GBモデル)でも同じunixBenchをビルドして走らせています。こちらはROCK 5シリーズの5200に比べて3500程度とかなり差がついた印象です。ですので、特にCPU処理を重要視する場合にはROCKシリーズは良い選択肢となるのではないでしょうか。

グラフィック

GPUの処理性能比較についてはmixBenchを使用しました。ROCKのスコアを以下に示しますので、他の製品と比較する際の参考にしてください。

ネットワークI/Fのベンチマーク

ROCK 5Bでは2.5Gbitイーサネットを搭載しています。M.2スロットに搭載したWi-Fiモジュールと有線でネットワーク速度テストも実施しました。ここでは結果のみで、実際のセッティングなどは動画の方で詳しく取り上げていますので、そちらも是非ご覧下さい。

計測結果は以下のとおりです。

同じLAN内にあるiperf3のサーバに対してクライアントモードで速度テストを行いました。

有線LANでは2350Mbpsと、ほぼ2.5Gbitイーサネットの帯域を使い切れている結果でした。Wi-Fiでは620Mbpsという結果に落ち着きましたが、こちらも思ったよりは良い数字かと思います。

なお、イチケンの事務所内は10Gbpsネットワークで構成されています。今回使用したiperf3サーバーについても、他のマシンから9Gbps以上のスループットを確認した上で試験しています。

NVMe SSDで何が変わる?

ROCK 5Bでは基板裏面のM.2 M-Keyスロットに搭載した2280サイズの普通のNVMe SSDから起動することができることは先程紹介したとおりです。今回はストレージの速度テストと、OSの起動時間の比較を行いました。

起動速度比較

起動速度計測と指標としてSDカードを使用した場合との起動速度の計測を行いました。同じOSをインストールし、電源ボタンを押してからログイン画面が表示されるまでを起動時間と定義しています。

結果として、microSDでは22秒だった起動時間を、13秒まで縮めることができました。

また、NVMe SSDが使用できるということで、速度だけでなく書き換えに対する耐久性などの面でも他のmicroSDを起動ドライブとしているシングルボードコンピュータに対して大幅なアドバンテージが得られます。

SSDの速度ベンチマーク

次に、純粋なストレージ速度のベンチマークも行いました。結果は以下のとおりです。

ベンチマーク実行結果
SSD計測時のdiskspdコマンドのログはこちら

今回、SSDにはLexar NM620の256GBモデルを使用しました。lsblkコマンドでNVMeのSSDがマウントされていることが確認できます。

rock@rock-5b:~$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
mtdblock0    31:0    0    16M  0 disk
zram0       254:0    0   3.8G  0 disk [SWAP]
nvme0n1     259:0    0 238.5G  0 disk
├─nvme0n1p1 259:1    0    16M  0 part /config
├─nvme0n1p2 259:2    0   300M  0 part /boot/efi
└─nvme0n1p3 259:3    0 238.2G  0 part /

シーケンシャルリードの結果(SSD)

rock@rock-5b:~$ diskspd -c1G -Zr -b1M -d5 -o8 -t1 -W0 -Sd -w0 -L ./SEQ1M_Q8T1

Command Line: diskspd -c1G -Zr -b1M -d5 -o8 -t1 -W0 -Sd -w0 -L ./SEQ1M_Q8T1

System info:
        processor count: 8
        caching options: fua=0

Input parameters:

        job:   1
        ________
        duration: 5s
        warm up time: 0s
        measuring latency
        random seed: 0
        total threads: 1
        path: './SEQ1M_Q8T1'
                size: 1073741824B
                using O_DIRECT
                performing mix test (read/write ratio: 100/0)
                block size: 1048576
                using sequential I/O (stride: 1048576)
                number of outstanding I/O operations: 8)
                thread stride size: 0
                filling I/O buffers with random data
                threads per file: 1
                block device: nvme0n1
                device scheduler: none

Results for job 1:
test time:         5s
*****************************************************

 CPU  |  Usage  |   User  |  Kernel | IO Wait |   Idle
-------------------------------------------------------
    0 |  99.80% |   7.41% |  92.38% |   0.00% |   0.20%
    1 |   0.00% |   0.00% |   0.00% |   0.00% | 100.00%
    2 |   0.40% |   0.20% |   0.20% |   0.00% |  99.60%
    3 |   0.00% |   0.00% |   0.00% |   0.00% | 100.00%
    4 |   0.20% |   0.20% |   0.00% |   0.00% |  99.80%
    5 |   0.80% |   0.00% |   0.80% |   0.00% |  99.20%
    6 |   0.00% |   0.00% |   0.00% |   0.00% | 100.00%
    7 |   0.00% |   0.00% |   0.00% |   0.00% | 100.00%
-------------------------------------------------------
 avg:    12.65% |   0.98% |  11.67% |   0.00% |  87.35%

Total IO
thread |           bytes |         I/Os |       MB/s |  I/O per s | AvgLat(ms) | LatStdDev  | file
-------------------------------------------------------------------------------------------------------
     0 |     15956180992 |        15217 |    3043.40 |    3043.40 |    1252.712 |    58271.292 | ./SEQ1M_Q8T1 (1073741824B)
-------------------------------------------------------------------------------------------------------
total:       15956180992 |        15217 |    3043.40 |    3043.40 |    1252.712 |    58271.292

Read IO
thread |           bytes |         I/Os |       MB/s |  I/O per s | AvgLat(ms) | LatStdDev  | file
-------------------------------------------------------------------------------------------------------
     0 |     15956180992 |        15217 |    3043.40 |    3043.40 |    1252.712 |    58271.292 | ./SEQ1M_Q8T1 (1073741824B)
-------------------------------------------------------------------------------------------------------
total:       15956180992 |        15217 |    3043.40 |    3043.40 |    1252.712 |    58271.292

Write IO
thread |           bytes |         I/Os |       MB/s |  I/O per s | AvgLat(ms) | LatStdDev  | file
-------------------------------------------------------------------------------------------------------
     0 |               0 |            0 |       0.00 |       0.00 |       0.000 |       N/A | ./SEQ1M_Q8T1 (1073741824B)
-------------------------------------------------------------------------------------------------------
total:                 0 |            0 |       0.00 |       0.00 |       0.000 |          N/A


  %-ile |       Read (ms) | Write (ms) | Total (ms)
----------------------------------------------
    min |      1.669 |        N/A |      1.669
   25th |      2.605 |        N/A |      2.605
   50th |      2.621 |        N/A |      2.621
   75th |      2.642 |        N/A |      2.642
   90th |      2.674 |        N/A |      2.674
   95th |      2.706 |        N/A |      2.706
   99th |      2.759 |        N/A |      2.759
3-nines |      3.705 |        N/A |      3.705
4-nines | 2717506.49 |        N/A | 2717506.496
5-nines | 2717506.82 |        N/A | 2717506.823
6-nines | 2717506.82 |        N/A | 2717506.823
7-nines | 2717506.82 |        N/A | 2717506.823
8-nines | 2717506.82 |        N/A | 2717506.823
9-nines | 2717506.82 |        N/A | 2717506.823
    max | 2717506.82 |        N/A | 2717506.823

シーケンシャルライトの結果(SSD)

rock@rock-5b:~$ diskspd -Zr -b1M -d5 -o8 -t1 -W0 -Sd -w100 -L ./SEQ1M_Q8T1

Command Line: diskspd -Zr -b1M -d5 -o8 -t1 -W0 -Sd -w100 -L ./SEQ1M_Q8T1

System info:
        processor count: 8
        caching options: fua=0

Input parameters:

        job:   1
        ________
        duration: 5s
        warm up time: 0s
        measuring latency
        random seed: 0
        total threads: 1
        path: './SEQ1M_Q8T1'
                size: 1073741824B
                using O_DIRECT
                performing mix test (read/write ratio: 0/100)
                block size: 1048576
                using sequential I/O (stride: 1048576)
                number of outstanding I/O operations: 8)
                thread stride size: 0
                filling I/O buffers with random data
                threads per file: 1
                block device: nvme0n1
                device scheduler: none

Results for job 1:
test time:         5s
*****************************************************

 CPU  |  Usage  |   User  |  Kernel | IO Wait |   Idle
-------------------------------------------------------
    0 |  37.31% |   1.95% |  35.36% |  62.69% |   0.00%
    1 |   0.60% |   0.40% |   0.20% |   0.00% |  99.40%
    2 |   0.20% |   0.00% |   0.20% |   0.00% |  99.80%
    3 |   0.20% |   0.00% |   0.20% |   0.00% |  99.80%
    4 |   0.00% |   0.00% |   0.00% |   0.00% | 100.00%
    5 |   0.00% |   0.00% |   0.00% |   0.00% | 100.00%
    6 |   0.00% |   0.00% |   0.00% |   0.00% | 100.00%
    7 |   0.20% |   0.00% |   0.20% |   0.00% |  99.80%
-------------------------------------------------------
 avg:     4.81% |   0.29% |   4.52% |   7.84% |  87.35%

Total IO
thread |           bytes |         I/Os |       MB/s |  I/O per s | AvgLat(ms) | LatStdDev  | file
-------------------------------------------------------------------------------------------------------
     0 |      6055526400 |         5775 |    1155.00 |    1155.00 |    2274.719 |    65097.881 | ./SEQ1M_Q8T1.dat (1073741824B)
-------------------------------------------------------------------------------------------------------
total:        6055526400 |         5775 |    1155.00 |    1155.00 |    2274.719 |    65097.881

Read IO
thread |           bytes |         I/Os |       MB/s |  I/O per s | AvgLat(ms) | LatStdDev  | file
-------------------------------------------------------------------------------------------------------
     0 |               0 |            0 |       0.00 |       0.00 |       0.000 |       N/A | ./SEQ1M_Q8T1.dat (1073741824B)
-------------------------------------------------------------------------------------------------------
total:                 0 |            0 |       0.00 |       0.00 |       0.000 |          N/A

Write IO
thread |           bytes |         I/Os |       MB/s |  I/O per s | AvgLat(ms) | LatStdDev  | file
-------------------------------------------------------------------------------------------------------
     0 |      6055526400 |         5775 |    1155.00 |    1155.00 |    2274.719 |    65097.881 | ./SEQ1M_Q8T1.dat (1073741824B)
-------------------------------------------------------------------------------------------------------
total:        6055526400 |         5775 |    1155.00 |    1155.00 |    2274.719 |    65097.881


  %-ile |       Read (ms) | Write (ms) | Total (ms)
----------------------------------------------
    min |        N/A |      5.854 |      5.854
   25th |        N/A |      6.283 |      6.283
   50th |        N/A |      6.394 |      6.394
   75th |        N/A |      6.493 |      6.493
   90th |        N/A |      6.585 |      6.585
   95th |        N/A |      6.693 |      6.693
   99th |        N/A |     19.315 |     19.315
3-nines |        N/A | 1870934.03 | 1870934.030
4-nines |        N/A | 1870937.57 | 1870937.571
5-nines |        N/A | 1870937.57 | 1870937.571
6-nines |        N/A | 1870937.57 | 1870937.571
7-nines |        N/A | 1870937.57 | 1870937.571
8-nines |        N/A | 1870937.57 | 1870937.571
9-nines |        N/A | 1870937.57 | 1870937.571
    max |        N/A | 1870937.57 | 1870937.571

まとめ

ここまでRSコンポーネンツの販売するradxaのROCK 5AとROCK 5Bについて色々とレビューしてきました。

イチケンとしては、個人用ファイルサーバや、防犯カメラ用の録画サーバなどの用途に最適なのではないかと思いました。

皆さんでしたらROCK 5シリーズの使い方としてどのような用途が思いつくでしょうか。

Raspberry Pi同様、本機はIoT機器としても非常に魅力的です。その可能性と市場への影響について考察します。

ROCKの特徴とそれらを活かせる場

ここまでレビューしてきて見えたROCK 5シリーズとRaspberry Piとの決定的な違いは

・microSDと比べて大容量かつ高速なストレージが使えること
・Wi-Fiを非搭載であること

の2点でした。

今回ご依頼を頂いたRSコンポーネンツの方に聞いた話では、大容量のSSDを積んで、アニメの制作スタジオでデータ保存用のファイルサーバとして使われている事例などもあるようです。

また、産業用途で使用するメーカーの視点に立って考えてみると、Wi-Fi非搭載であるが故に各国の電波に関する法規の影響を受けずに素早く流通させることができ、製品の開発期間を短縮できる点はメリットと言えます。

実際ROCK 5はRaspberry Pi 5よりもだいぶ早く2023年1月ごろには日本国内で入手できる状態になっていたようです。

また、Raspberry Piにはない機能としてA/Dコンバータを搭載しています。アナログセンサを接続してIoT機器のような使い方もできるかと思います。CPUの処理性能もRaspberry Piシリーズより優れていますので、計算能力を活かしたエッジコンピューティング的な用途にも向いているかもしれません。

もしROCKシリーズが気になった方は、ぜひRSコンポーネンツのホームページをご確認ください。

このように、尖った性能を持ったSBCが登場することに期待しつつ、業界の今後の動向に注目していきたいと思います。

SNSでシェア

コメント

コメントする

CAPTCHA


目次