唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

『並行コンピューティング技法』☆☆☆☆☆

並列アルゴリズムの一般的な話だけでなく、具体的なアルゴリズムの逐次版を並列版に変える話が載っていて面白かった。
後半のアルゴリズムの並列化では、ソートやサーチやグラフアルゴリズムについて扱われているが、一目読んだ限りでは簡単でなくてまだ理解できていない。
サンプルコードが色々なスレッドライブラリを使って実装されているのが、少し読みづらかったです。

メモ

並列(parallel)と並行(concurrent)の違い

マルチコア・プロセッサなどで、同時に実行される場合が並列。
マルチスレッドだけどシングルコアなどの場合が並行。
ただし並行は並列を包含する。
言い換えると同時に複数のスレッドが実行状態であれば並行

高速化率

逐次実行時間と並列実行時間の比率。
少ない入力データだと稀に高速化率が並列数を上回る場合もある(キャッシュの影響)

スレッドライブラリ

単純なスレッドの実装を使うよりも、以下の様なライブラリを使うほうが便利。



並行コンピューティング技法 ―実践マルチコア/マルチスレッドプログラミング

並行コンピューティング技法 ―実践マルチコア/マルチスレッドプログラミング