連載
» 2005年06月28日 00時00分 公開

スタンドアロン方式とリアルタイム性能LinuxによるRTOSの実現(3)(3/3 ページ)

[近藤 純司 富士通プライムソフトテクノロジ,@IT MONOist]
前のページへ 1|2|3       

ジッターによる性能評価

 マイクロカーネル方式と同様に、ジッターを測定することでスタンドアロン方式の性能を評価した。

リアルタイム・プリエンプションの測定結果

 評価に使用したハードウェア構成は以下のとおり。前回と同様である。

  • CPU:Pentium M 866MHz(400MHzに固定して使用/BogoMips:約798(編注))
  • メモリ:360Mbytes
※編注:
BogoMipsについては、BogoMips mini-Howto(http://www.linux.or.jp/JF/JFdocs/BogoMips/)を参照。


 ソフトウェア環境は以下のとおり。リアルタイム・プリエンプション・パッチを適用したカーネルで測定を行った。

  • カーネル:2.6.12
  • リアルタイム・プリエンプション・パッチ:2.6.12-final-V0.7.50-17

 測定方法も前回と同様である。hackbenchによってシステムに負荷を掛けた状態で、rtc_wakeupを用いてジッターを測定した。

 測定結果をグラフ化したものが下の図である。

ジッターの測定結果 グラフ ジッターの測定結果

 前回測定したupstreamカーネルの測定結果と比較して、特異的なジッターもなく振れ幅も少ない。測定結果から算出した数値を下表にまとめる。

各ベンチマークテストのまとめ 表 各ベンチマークテストのまとめ(単位:マイクロ秒)

スタンドアロン方式の今後の課題

 リアルタイム・プリエンプション・パッチは、Linuxカーネルのリアルタイム性を著しく向上させるが、課題も多い。例えば、サポートされているCPUの種類が少ないことや、ユーザープログラムへのAPIが用意されていないことが挙げられる。前者は組み込み用途では大きな課題である。後者については、OSDLのRobust Mutexとの融合がMutexes SIGで検討されている。Robust Mutexでは、ユーザープログラムに優先度継承や優先度上限プロトコルを備えた同期プリミティブが提供される。現時点では、リアルタイム・プリエンプション・パッチとRobust Mutexを同時に用いると、それぞれの優先度継承機能が干渉して予期せぬ振る舞いを引き起こす弊害が考えられる。

 これらの課題を解決してupstreamカーネルに取り込まれるのはしばらく先かもしれないが、興味深い機能として注目していきたい。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.