*************************************************************************** セッションS5-c チュートリアル テーマ:Linuxのリアルタイム性能及びディペンダビリティ 講師:菅谷みどり氏(ディペンダブル組込みOS研究開発センター) 日時:2008/9/5 15:10〜16:40 参加人数:29人(終了時) *************************************************************************** ■発表内容 ○アジェンダ ・背景 ・システムのリアルタイム性能 ・システムのディペンダビリティの向上 ・まとめ ○背景 ・組込みシステムの傾向 PC並みの処理能力、ソフトウェアの大規模化や複雑化している。 ・組込みシステムへの要求 ・低価格化 → 汎用OSを検討し始める。 ・品質 → リアルタイム性能が求められている。 ・省電力 → ディペンダビリティ ・なぜ組込みシステムにLinuxが選ばれたのか。 理由 ・最新の技術が最も早くサポートされる。 ・カーネルが進化し続ける。 ・デバイスベンダーがデバイスドライバを提供している。 ・コミュニティにより規格が実施されている。 ○システムのリアルタイム性能 ・組込みシステムにおけるリアルタイム処理とは、 処理時間が時間に依存する処理のことで、 ソフトリアルタイム、ハードリアルタイム、ファームリアルタイムがある。 ・リアルタイムの基本概念 動作が論理的に一意に予測可能である決定性 スケジューリングや応答性、時間などの基本要素を持つ。 リソースや割込みによる競合やデータの依存などによる遅延が課題となる。 ・リアルタイム性能の実現にむけて 設計のアプローチとして、リアルタイム性能そのものより、 パフォーマンスやコストとの兼ね合いで、 1、高性能なCPUの利用 2、Linuxのチューニング 3、Linuxのリアルタイム拡張 4、RTOS+Linux構成 から、良い方法を選択する。 ・上記の方法を選択した場合について、詳しく考えてみる。 1、高性能なCPUの利用 周波数の高いチップが組込みにも普及してきた。 また、周波数が増大すればデッドラインをミスしなくなる。 CPUを交換するだけで、処理速度が向上するなど、 早いCPUを使えば遅延も気にならなくなる。 しかし、コストがかかってしまう。 2、Linuxのチューニング スケジューラやドライバを書き換えるることで、 アプリケーションに特化したシステムを作ることができるが、 その反面汎用性が低下してしまう。 また、カーネルのバーションアップが激しいため追随が困難である。 3、Linuxのリアルタイム拡張 ・Linuxのリアルタイム性能を考える場合、スケジュールや リアルタイム性能の向上機能が考えられる。 特にリアルタイム性能の向上機能は、応答性の向上 である遅延やジッタの軽減に寄与している。 ・遅延要因とコミュニティによる対策 割込み禁止区間に対する対応策は、割込み禁止区間の分割 割込みハンドラ処理に対する対応策は、Thread IRQ 非プリエンティブ区間に対する対応策は、Kernel Preemption スケジューラ、コンテキストスイッチに対する対応策は、 O(1)SchedulerとCFS Scheduler 4、RTOS+Linux構成 Linux to RT ・Native Linuxのリアルタイム化 コミュニティサポートによるリアルタイム性能改善 Native Linuxで動作しているものとの調整が必要になる。 ・単一OSでの制御 共有メモリ(SMP)を前提としていて、設計モデルがシンプル RTOSを用いたアプローチ ・ハイブリットOS RTOS自身がHypervisor層(HAL)を兼ねている。 ・Hypervisor層導入による異種OS共存 リアルタイムOSの処理が優先される。 ・RTOS+Linuxマルチコア対応(各コアに異種OS) Hypervisor層が存在しない。 ハイパーバイザー型の自由度を高めたもの。 ・RTSO+Linux+Hypervisorマルチコア対応型 各コアに異種OSがあり、ハイパーバイザーが介在している。 Hypervisor層が存在し、コアの切り離しを考慮した設計ができる。 ○システムのディペンダビリティの向上 ・ディペンダビリティの目的 5年後、10年後の基盤 マルチコアや分散システムが考えられる。 しかし、計算機上は非決定性問題を多く抱え、システムの複雑化は必須となる。 ミッション シンプルで安全、利用価値が高い基盤の提供や必要なサービスを提供すること。 また、継続的に信頼性の維持向上や並列や分散など多様な構成への対応が求め られる。 ・ディペンダブルOSの提案 組込み分野は従来高信頼なシステムを提供してきた。 高性能化、高機能化、ネットワーク接続するにしたがい、ユーザ要求が拡大し、 プログラムの規模も拡大してきた。 そこで、汎用OSや高機能OSが組込み分野で普及してきた。これらのOSを用いた信頼 性の高いプラットフォームの再検討が必要な段階になっており、第三世代の組込み システムの並列、分散への対応が考えれている。 よって、Dependable OSにすることで、将来にわたり、組込みシステムへの信頼性の 維持向上に対応可能なシステムとなるだろう。 ○まとめ リアルタイム性能の向上について システムのディペンダビリティの向上について 講義を行いました。 ■質疑応答 <質問者1> ディペンダブルOSは、中島研だけがおこなっているのですか? コミュニティとは話をしているのですか? <回答> 5つの研究室との合同研究である。 コミュニティとは十分なインタラクションはないが、部分的には行なっている。 <質問者2> Pバスの検証で、このようなものはLinuxとしてあるのですか? (上側のレイヤにバーチャルマシンがついている) <回答> ないです。しかし、Linuxの検証に興味が無いわけではない。 また、バーチャルマシンのテクノロジも様々なものがあります。 <質問者3> セキュリティ(攻撃)に関して行なっていることはなんですか? <回答> セキュリティ(脅威)を行うことは考えているが、具体的な案はない。 しかし、アイデアはあるので、これからである。