2011年5月1日日曜日

ミニミニ講義:これが並列処理だ!

みなさんの使う最近のノートPCをはじめ、ほとんどのPCには複数のプロセッサが内蔵されていて、それらの上で同時にプログラムが実行されます。それによって処理の高速化が図られています。また、大規模な処理を、ネットワークに接続された多数のPCで分担し、それらを同時に動かすことで高速化がなされています。そのような処理の仕方を並列処理と呼びます。

クリックで拡大

それでは現実の並列処理の様子を見てみましょう。図は32台のプロセッサ構成での並列処理の実例です。解いているのは物理に関する計算(偏微分方程式の数値解法)です。縦軸にプロセッサが、0番から31番まであります。横軸は時間の進行です。赤い部分は各プロセッサが処理を実行中であることを意味します。一方、黄色の部分では、隣接するプロセッサからのデータ到着を待つため、処理が停止しています。この例では、全体としては赤い部分が圧倒的に多いです。すなわち、非常にうまく並列処理が進行していることを意味します。

しかし、現実の多くの問題はこんなにうまく並列処理はできません。黄色の部分(データ到着待ち)がもっと多くなるのが普通です。処理の仕方の工夫(並列処理向けのアルゴリズムの考案)で赤い部分(処理続行部分)を増やすことがひとつの課題なのであります。

さらに詳しくは下記Webページをご覧下さい。
http://web.me.com/yamlab2/Parallel_Distributed/Podcast/Podcast.html
(特別ミニ講義:これが並列処理だ!(第1話〜第3話))

0 件のコメント:

コメントを投稿