Raspberry PiでIoTなIT:WheezyとJessieで割り込み性能に違いはあるのか

Raspberry PiでIoTなシステム開発:リアルタイムパッチは割り込みでも効果を発揮するのか先日最新のJessieを使って割り込みレスポンスを実験してみた所なのですが、カーネルの違いで決定論的動作や応答性に違いがあるのか実験してみるべく、Wheezyでも同じ実験をやってみました。結果はこちら。カーネルのバージョン違いで大きな違いが出るわけないのだけれどという想定での実験です。

細かい版

https://youtu.be/ucLWJqxlUPk

拡大版

流石にこちらは想定通り、結果はまず変わりません。時々大きな遅延が出ているようなのですが、これを定量的に計測しようとするとマイコン側に再度入力して測定をしないといけないですね。負荷用のコマンドはこれです。

pi@navio-rpi ~ $ stress --cpu 99 --vm 2 --timeout 10m

念のため大拡大版を。

Wheesy(preempt_rt無し)

Wheesy(preempt_rt有り)

preempt_rt有りの方がぶれ幅が少ないように見えます。ただ遅延が3〜4割減ですね。リアルタイム優先度の決定プロセスが大分と性能に影響を与えているのだと思います。タイムスライスの短縮化も影響しているのでしょう。他のタスクの性能にも影響を与えるはずです。リアルタイムタスクだけでシステムを作るわけでは無いので、システム全体の目的から考えて、どの程度の遅延を許容できるのかという観点から判断をしたいと思います。今回のぼっちプロジェクトでは「ぎりぎりのリアルタイム性能よりはシステム全体のパフォーマンス優先で」いきたいと思います。”””

コメントをどうぞ

メールアドレスが公開されることはありません。 が付いている欄は必須項目です