II-27-6. システム資源のトレードオフを考慮した性能向上

組み込みシステムにおける限られたシステム資源によるトレードオフを考慮して、性能や信頼性の向上という課題を解決するためのポイントを説明する。具体的な事例として、組み込みLinuxのCPUリソース管理を行うことで全体の性能向上を図ることを目的としたアカウンティングシステム(CABI)について説明する。

【学習の要点】

* 性能向上や信頼性向上のために、組み込みシステム特有の制限である限られたリソースを効率的に管理する枠組みが必要になる。

* 組み込みLinuxにおいて、CPUのリソースを管理することで全体の性能向上を図るアカウンティングシステムCABI (CPU Accounting & Blocking Interface)が提案されている。

図II-27-6. CPU利用の最適化による性能向上

【解説】

1) 限られたリソースにおける性能向上・信頼性向上のポイント

組み込みシステムの限られたリソースのなかでシステムの性能向上や信頼性向上を狙うには、いくつかのパターンがある。

* 組み込みシステムにおける性能向上・信頼性向上策

システム全体の性能向上や信頼性向上を目的としたシステム設計の例を示す。

- リアルタイムOSの利用

- 部分的なハードウェア化(FPGAやASICを利用した特定処理のハードウェア化)

- 必要最低限の機能に絞ったシステム環境の利用

* BusyBoxの利用

組み込みシステムに特化したLinux環境として広く利用されているものにBusyBoxがある。BusyBoxには、以下のような特長がある。

- フットプリントが小さい(ファイルサイズを小さくできる)

- システム構築が比較的容易

2) リソース管理の必要性

潤沢なリソースの存在を前提として、アドホックな利用が許されている一般のコンピュータシステムと異なり、限られたリソースを有効に使うことが求められている組み込みシステムでは、リソースを効率的に管理するフレームワークが必要になる。

* メモリリソースの管理

一般的に組み込みシステムは一次記憶、二次記憶とも容量が限られていることが多い。そのため使わないソフトウェアコンポーネントはあらかじめ削除しておいたり、メモリを効率的に利用したりするための管理が必要である。

* CPUリソース(計算リソース)の管理

CPU性能も一般的なコンピュータに比べると高くはない。そのため限られたCPUを効率的に使用するには、できるだけアイドル時間を減らして計算リソースを必要な処理に振り分けなければならない。

* 入出力デバイスの管理

入出力デバイスに対するデータのやりとりは無用な割り込みや待ち時間発生の原因となる。したがってシステム全体の最適化に向けては、入出力管理もリソース管理として欠かせない項目のひとつである。

3) アカウンティングシステムCABI (CPU Accounting & Blocking Interface)

組み込みシステムにおいて特定のアプリケーションがCPUを独占使用してしまうことがないように、CPUの利用時間を管理してシステムの全体最適化を目指すためのリソース管理システムである。IPAによる2004年度OSS活用基盤整備事業の一環として開発された。

* CABIによって実現される効果

適切なCPU利用時間管理を行うことで、以下の効果が期待される。

- 応答性の向上

- セキュリティ向上

- リアルタイム性の保証

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。