第2章 並列コンピューティング概観
- 並列システムのアーキテクチャについて述べ、これらの上でのプログラミングの技法を概観する。
2.2 ソフトウェアの問題
2.2.1 共有メモリシステムのプログラミング
- 通常、共有メモリシステム=複数のCPUが全てのメモリロケーションにアクセス可能
- 物理的に分散メモリであっても、仮想的な全体メモリ空間を(何らかの手法で)作ることが出来ればそれは共有メモリシステムと言える
- 共有メモリプログラムでは、(メモリを共有するので)プロセス間の協調が必要である。それは、3つの基本事項がある。
- 全てのプロセスからアクセス可能な変数を指定する
- 共有リソースへのプロセスからの不適切なアクセスを防ぐ
- プロセス間の同期を取る方法