2019/12/09

USBの違いによるRaspberryPi実行速度の検討

この記事はTDU CPS Lab Advent Calender 2019の8日目の記事です。
遅刻してごめんなさい。
7日目:https://hackmd.io/@QSzmG9ZlS9acsKsGbpLbvg/ryfVN3NTS
9日目:https://note.com/arm_omoshirokun/n/nf9b3067ce373

背景

以前Raspberrypi3B+経由でinsta360airで撮影したDualFisheye画像をRICOHThetaの形式に変換するソフトを作成し動かしている際に、使用するUSBケーブルによっては実行終了までの時間が2倍くらい違うことに気がついた。
そこで今回は手元にあったUSBケーブル3種類について実行時間がどれくらい変わるのか検証とその時のテスターの値を比べてみることにする。


実験装置

  • ラズパイ:RaspberryPi3B+(2019-07-10-raspbian-buster-full)
  • テスター1:RT-USBVAC3QC(ラズパイに差すUSBの電源側との間に接続)
  • テスター2:OWON B35(ラズパイのTP2、TP5間の電圧を測定)
  • USB電源:ECJ-PD45ACQ(5V2.4A出力)
  • 安定化電源:MCH-K3010D
  • テスト用コード
  • USBケーブル(後述)

実験1

アイドル時(電源入れた直後の何もプログラムを走らせないコマンド待受状態)とスクリプト実行時においてテスター1有りの実行時間とテスター1なしの場合の実行速度を3種類のUSBケーブルで比較

千石で買った50円のUSBケーブル

テスター1有り

テスター1 テスター2
アイドル時 4.89V 0.44A 4.77V
実行時 4.88V 0.49A 4.76V
実行時間(sec) 79.31349300000001

テスター1無し
テスター2
アイドル時 4.85V
実行時 4.82V
実行時間(sec) 32.011504


WioLTE同梱のUSBケーブル

テスター1有り


テスター1 テスター2
アイドル時 4.91V 0.45A 4.63V
実行時 4.86V 0.50A 4.60V
実行時間(sec) 75.418308


テスター1無し
テスター2
アイドル時 4.88V
実行時 4.87V
実行時間(sec) 31.965135


HL7800同梱のUSBケーブル

テスター1有り


テスター1 テスター2
アイドル時 4.94V 0.44A 4.72V
実行時 4.95V 0.49A 4.73V
実行時間(sec) 81.244389


テスター1無し
テスター2
アイドル時 4.79V
実行時 4.77V
実行時間(sec) 78.229005

実験2

実験1で電圧と実行時間の関係がいまいち見えてこないので安定化電源で電圧を変えながら実行時間を計測した結果が以下のグラフになる
5.0Vからはじめて4.0Vまで0.1V刻みで電圧を落として計測した。4.0Vを下回ると不安定になってきて3.7V以下でラズパイが落ちたためプロットは4.0V~
またOCも兼ねて5.5Vでの動作もさせてみたそれ以上はICが燃える危険性も考慮して行っていない。


考察

実験1、2の結果からRaspberrypi3B+は電源電圧が4.8V以上でより力を発揮できるように見える。また電源電圧を高めてOCしてもあまり効果がないこともわかる。
今回は参考リンクのモンテカルロ方による計算時間だけを見ているので他の方法で負荷をかけた場合はまた違ってくるかもしれない。

USBケーブルを選ぶ際の指標にケーブルの抵抗値なるものがあるらしいのでこれと電源電圧、引き出し電流の関係性を今後明らかにしていこうと思う。

結論

結論としてラズパイをフルスペックで動かすには良い電源を使いましょう。

0 件のコメント:

コメントを投稿