並列処理/並列化


このページの末尾に マルチスレッドプログラミング最新動向 について述べている。演習の位置づけを知るためにも参考にしてほしい。

マルチプロセッサ(マルチコア)とマルチスレッド


pthread ライブラリ (POSIX.1c threads)


Linux での pthread ライブラリ


スレッドによる並列プログラミング

などを記述する。
スレッドの実行の完了についてはその自体を記述しなくても、 新たなスレッドの生成の際に実行すべき処理が指定するので、 その処理が完了したらスレッドの実行が完了するとすればよい。

台数効果(スピードアップ)


データレース(data race)


スレッド・セーフ関数とC標準ライブラリ


分割統治型並列処理


パイプライン型並列処理


同期(待ち合わせ)


デッドロック(deadlock)


機械語プログラムから見た共有メモリ


ハードウェアから見た共有メモリ


OSの役割


Cプログラムから見た共有メモリ


命令レベル並列処理 (のキーワード)


マルチスレッドプログラミング最新動向

C言語の最新仕様といえる C11 では、スレッドが取り入れられた。

一方、pthreads の最新仕様は、IEEE POSIX 1003.1c-1995 以降、

に含まれている。 SUS (Single UNIX Specification)の仕様(英語)は、 登録すればみることができる。

より抽象度が高いマルチスレッドプログラミングもある。

これらに比べると、pthreads は低水準(より基礎的)である。 OpenMP などで可能な並列処理も多く、その場合はそのほうが簡単である。

マルチスレッドプログラミングに限定しない場合、 他にも様々な並列プログラミングの方法がある。キーワードをあげておく。


並列プログラミング, 先頭ページへ
Masahiro Yasugi