プロが教える店舗&オフィスのセキュリティ対策術

コンピュータの話の
並列計算とは何ですか?

A 回答 (2件)

 普通のコンピューターには計算(情報処理)を行うCPUという部品が、1個だけ使われていますが、計算量が膨大で普通のコンピューターでは計算に時間が掛かり過ぎる場合の様に、特別速い計算速度が必要とされる場合には、CPUを複数持っているスーパーコンピューターが使われます。


 その場合、CPUの分業のやり方によって、並列方式とパイプライン方式の、2通りのやり方があります。
 例えば、「多種類の商品を仕入れて、原価の100円増しの税込み価格で売った場合に、利益は幾らになるのか?」という問題があるとします。
 普通のコンピューターではCPUが1個しかありませんから、

(1)メモリーに記録されているデータから呼び出した原価の値に100を足す
(2)(1)の計算結果の値を1.05で割る
(3)(2)の計算結果の値から原価の値を引く
(4)利益の値を記憶するメモリーに、記憶されている値に、(3)の計算結果の値を足す
(5)(4)の計算結果の値を、利益の値を記憶するメモリーに、記憶させる
(6)次の商品の原価の値を、メモリーに記録されているデータから呼び出し、(1)~(5)の作業を繰り返す

という計算処理を行います。
 これが、パイプライン方式では、

●1個目のCPUでは、上記の(1)の作業のみを行って、その結果を2個目のCPUへ送った後、次の商品に関する作業に移る
●2個目のCPUでは、上記の(2)の作業のみを行って、その結果を3個目のCPUへ送った後、次の商品に関する作業に移る
●3個目のCPUでは、上記の(3)の作業のみを行って、その結果を4個目のCPUへ送った後、次の商品に関する作業に移る
●4個目のCPUでは、上記の(4)の作業のみを行って、その結果を5個目のCPUへ送った後、次の商品に関する作業に移る
●5個目のCPUでは、上記の(5)の作業のみを行った後、次の商品に関する作業に移る

という、自動車工場の流れ作業の様なやり方で、分業して計算を行うため、普通のコンピューターよりも短い時間で、計算を行う事が出来ます。

 これが、並列方式では、多数のCPUが、それぞれ上記の(1)~(6)の作業を繰り返し行う処は、普通のコンピューターと同じですが、
1個目のCPUが、ある商品に関する作業を行っている間に、
2個目、3個目、4個目、・・・・・といった他のCPUは、それぞれ別の商品に関する作業を行います。
 計算を行っているCPUの数が多いため、全部の計算を終える時間が短くて済む、人海戦術の様なやり方です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
一人で計算するのでなく、数人で役割分担するのですね。

お礼日時:2010/06/21 16:18

通常、1つの計算機では1つのことしかできません。


ここでいう「計算機」とは、PCとかの複合したものではなく、もっとコアの部分、CPUのさらに中の部分と考えてください。
PCで「インターネット見ながらメールを書く」のように同時に複数の作業をやっているように見えますが、実際には1つ1つ順番にやっていて、それが高速なので「同時」に見える、というものです。


並列計算とは、複数の計算機を使って、真に「同時」に計算することです。
「複数の計算機」には、PCをネットワークで複数つないで使うものや、マルチコアCPUとか、計算専用の回路(高性能のグラフィックボード等)とかいったものがあります。

並列計算するのは、それなりの準備が必要です。複数計算機があるだけでは並列計算になりません。
PC2台ネットワークでつながっていても、そのうちの1台で動いているExcelが高速になるわけではありません。

単純計算すれば、n個同時に計算すれば、計算時間は1/nになります。
ただ、実際にはそうはなりません。
1例として、a * b + c は a * b が求まらければ +cの計算ができません。このかけ算と足し算を「並列」に計算できないことになります。つまり計算時間は変わりません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
計算時間はそんなに変わらないのですか。

お礼日時:2010/06/21 16:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!