I-27-2. マルチプロセッサシステム活用上の留意点、構成例

タスクのスケジューリング、プロセッサ間の同期と通信、ハードウェアの制限など、マルチプロセッサシステムを活用する際に留意すべき事項を説明する。またマルチプロセッサシステムの具体的な構成例を紹介し、その特徴について説明する。

【学習の要点】

* タスクのスケジューリング、プロセッサ間の同期と通信、ハードウェアの制限など、マルチプロセッサシステムを活用する際に留意すべき事項を説明する。またマルチプロセッサシステムの具体的な構成例を紹介し、その特徴について説明する。

* マルチプロセッサシステムを用いることにより、複数事象の制御、タスクのスケジューリング、プロセッサ間の同期・通信について考慮する必要が生じる。

* マルチプロセッサシステムは、汎用CPU2個による小さな構成のものから、数万個のCPUを接続した超並列コンピュータまで幅広く存在する。

図I-27-2. マルチプロセッサの性能低下要因

 

【解説】

1) マルチプロセッサシステムの活用方法

* ロックと相互排除

- マルチプロセッサの環境では、ハードウェアロックが用いられる。

- プログラマは相互排除のため、明示的にロックを利用する必要がある。

* 対称・非対称マルチプロセッサでのプログラミング

- 対称プロセッサのプログラミングの方が非対称プロセッサの場合よりも容易とされる。

- プログラマが理解する必要のあるプロセッサの命令セットが1種類で済む、タスクをどのプロセッサに割り当てるか考慮せずに済む、などの理由による。

2) マルチプロセッサシステムの性能への障壁

直観的にはマルチプロセッサシステムの処理能力の方が、単一プロセッサアーキテクチャの能力よりも優る。しかし、N個のCPUにより処理をすることにより速度がN倍になるわけではない。性能の障壁となる要因は以下の3点が挙げられる。

* 通信

- プロセッサ間、メモリ、入出力間で生じる通信のオーバヘッドは無視できないものとなる。

* 協調

- プロセッサ間で協調して動作するための制御機構が必要になる。

* 競合

- 共有リソースへの同時アクセスによりタスクがアイドル状態にされる。これにより劇的な性能低下を招く。

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