Raspberry Pi 2 / 3 向け CentOS 7 RT Kernel の評価@Kernel 4.9.13

4.9.y ブランチに移行したRaspberry Pi 向け CentOS 用 Real-Time Kernel を検証してみた。

■テスト手法とか
基本的には前回と同様に実施。

■Cyclictest を使って実際にテスト
・Cyclictest の実行
次のように実行。
なお、出力結果をリダイレクトで残して後程集計に使った。
 Priority 90
 Interval 200
 Loops 50000
で設定。

# cyclictest -p 90 -m -c 0 -i 200 -n -v -q -l 50000 > `uname -r`_default.log

・測定結果
Kernel 4.4.46 + チューニング
 T: 0 ( 3696) P:90 I:200 C:50000 Min:5 Act:5 Avg:5 Max: 63
Kernel 4.9.13 + チューニング
 T: 0 ( 1740) P:90 I:200 C:50000 Min:5 Act:6 Avg:5 Max: 18
Real-Time Kernel 4.4.46 + チューニング
 T: 0 ( 1790) P:90 I:200 C:50000 Min:6 Act:7 Avg:6 Max: 22
Real-Time Kernel 4.9.13 + チューニング
 T: 0 ( 4021) P:90 I:200 C:50000 Min:7 Act:7 Avg:7 Max: 23

■実行結果を絵にしてみた
・レイテンシー分布図
レイテンシー分布図
4.4.46 の時に出ていたスパイクが出なくなってる・・・っ!
これにはびっくりした。
以前よりもよりリアルタイム性能が上がったっていうことになるのかな!
よくわかっていないけど。

・レイテンシーサマリ
レイテンシーサマリ
このままだとレスポンスタイムがちょっと悪くなっている風に見える。
でもまあ、実際1マイクロ秒くらい遅くなってるけど、それ以上にスパイク出てないことのが大事。

・レイテンシーサマリ拡大
レイテンシーサマリ拡大
Real-Time Kernel でなくても、ブレが少なくなってるのには驚いた。
チューニングしていない状態での比較は・・・めんどくさいのでやらなかった。
というか、Bootstrap にチューニング項目埋め込んじゃったから、取っ払うの忘れてた。

■感想
Kernel 4.9.y になると、今まで以上にレイテンシーはぶれなくなった。
ただ、私にはこれを有効利用できるシステムを作る技巧はなかった。

■おまけ:Raspberry Pi に入れているカーネルチューニング
tuned のプロファイルから、スループットのプロファイルにレイテンシーのプロファイルを被せたものを作って使っている。
/etc/sysctl.d/tune.conf

kernel.sched_min_granularity_ns=10000000
vm.dirty_ratio=10
vm.dirty_background_ratio=3
vm.swappiness=10
kernel.sched_migration_cost_ns=5000000
net.core.busy_read=50
net.core.busy_poll=50
net.ipv4.tcp_fastopen=3
カテゴリー: めも パーマリンク

コメントを残す

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