始めに
近年、シングルボードコンピュータ(以下SBC)でもnvme SSDが使えるようになり、低消費電力のPCとして使えそうな状況になりつつあります。有名なのはRaspberry Piの最新機5で、Windows11も動きPCとしても使えそうな感じなのですが、冷却ファンも必須となり実際に何に使うのかピンと来ません。そこにintel N100を搭載したSBC Radxa X4が出ました。インテルチップなので、Windwows11もubuntuも簡単に動くということで、早速購入。日本での技適がまだ認証されていないので、「技適未取得機器を用いた実験等の特例制度」を利用して、半年間使えるようにし、実験をすることにしました。今回はまずは、Unix-benchを流してみて、実際に動かすアプリの性能がどうなのか分析するための一助にしようと考えました。
システム比較
今回比較するシステムの概略を示します。
項目 | RadxaX4 | RPi5 | RPi4 |
---|---|---|---|
CPU | Intel N100 | Arm Cortex-A76 | Arm Cortex-A72 |
clock | Max 3.4GHz | 2.4GHz | 1.5GHz |
Memory | LPDDR5 | LPDDR4 | LPDDR4 |
size | 8GB | 8GB | 8GB |
SSD | PCIe 3.0 4-lane | PCIe 2.0 1-lane | USB 3.0 |
※全てのSBCでSSDを接続し、OSを搭載。その上でUnix-benchを測定。RPi4はUSB SSDを用意しUSB3.0でOSをブートさせて使用。
Radxa X4が足回りで圧倒している感があります。
測定条件
・OS Ubuntu-24.04 LTS
・ベンチマーク Unix-bench
・BIOSはデフォルトで使用
測定結果
シングルプロセッサ結果
マルチプロセッサ結果
・シングルプロセッサ結果では、コアの演算能力を示すDhrystoneではRadxa X4の圧勝なのにマルチプロセッサではRPi5のほうが勝っている。電力or発熱の関係ですべてのコアをターボで動かせないため、低くなっていると考得られる。浮動小数点演算のWhetstoneにおいてもマルチコアではRadxa X4が伸び悩んでRPi5が勝った。
・足回りがわかるFile Copyは軒並みRadxa X4の圧勝となっている。また、システム系も大きくRadxa X4が勝っている。シングルスレッド性能と、足回りの差が表れていると考えられる。
・これらにより総合スコアにおいても、シングルはダブルスコア、マルチでも4割ほど差をつけられている。
よって、足回り、特にSSDがあまり性能にかかわらない、コアでの計算が多いアプリにおいてはRadxa X4とRPi5の差が小さいと考えられます。例えば、ストレージアクセスの多いリレーショナルデータベースではRadxa X4が有利、同じデータベースの類でもオンメモリでインデックス計算を行うベクトルデータベースでは、RPi5が善戦する可能性があります。
そこで、オープンソースで使えるベクトルデータベース、PostgresqlのPgvector拡張を使って、Radxa X4,RPi5,RPi4での上記の動作条件で性能を比較してみました。(今回は演算が重いivfflatインデックスを使っております)
すると、Unix-benchでは大きく差がついていたRPi5ですが、このアプリではわずかにRadxa X4に及ばないものの近い性能を示しています。(グラフが上にあるほうが高性能と考えてください)
最後に
Radxa X4が優れていますよー!という記事にするつもりだったのですが、あまりにも当たり前すぎる結果(DDR5とPCI-eの差が大きすぎます)で面白くなかったので、RPi5を応援するような記事になってしまいました。まあ、SBCでベクトルデータベースを動かすニーズは無いと思いますので、あくまでもこんな場合もありますよという話になります。
ハイパフォーマンス(?)なSBCの分野がどのように使われていくか楽しみです。もう少しセレクションが欲しいところではあります。