理学部情報科学科

メニュー

マルチコアプロセッサで並列処理(2/4)

2.並列処理の概念

 マルチコアプロセッサは、複数のプロセッサコアを持っており、同時に複数の計算を行うことができます。このように複数の計算処理を同時に行うことを並列処理と呼びます。並列処理の研究は、1972年に米国イリノイ大学がILLIAC IVと呼ぶ64プロセッサの並列コンピュータを開発した頃に始まります。その後、並列処理の対象は、マルチプロセッサのみならず、スーパーコンピュータ、PCクラスタ、グリッド、マルチコアプロセッサへと発展してきました。
 並列処理のイメージをつかむため、以下の簡単な計算例を使って並列処理の様子を見ていきましょう。
 (1×1)+(2×2)+(3×3)+(4×4)+(5×5)+(6×6)+(7×7)+(8×8)
 この計算を従来のコンピュータ(1コア)で行う場合、一時的にデータを保持するための変数領域が必要になります。今回は、配列変数として8データ分(a[1]~a[8])とスカラ変数として1データ分(total)をメモリに用意します。図3に示す実行イメージのように、まず、配列変数a[1]の領域に1×1の計算結果を格納し、a[2]の領域に2×2の計算結果を格納し、同様にa[8]の領域まで計算結果を格納します。次に配列変数a[1]~a[8]の値を加えると、答えは、total(=204)に求まります。
2.並列処理の概念01
 デュアルコアプロセッサで並列計算を行う場合、配列変数として8データ分(a[1]~a[8])とスカラ変数として1データ分(total、total0、total1)をメモリに用意します。図4に示す実行イメージのように、まず、プロセッサコア0とプロセッサコア1で、計算の担当領域を半分ずつに分けます。コア0ではa[1]~a[4]を計算し、コア1ではa[5]~a[8]を計算します。その後、コア0でa[1]~a[4]の小計をtotal0(=30)に求め、コア1でa[5]~a[8]の小計をtotal1(=174)に求めます。最後に、小計total0とtotal1を足し合わせると、全体の合計total(=204)が求まります。このように並列処理を行うと、デュアルコアプロセッサで2倍の高速化が可能になります。
2.並列処理の概念02

お問い合わせ先

東邦大学 理学部

〒274-8510
千葉県船橋市三山2-2-1
習志野学事部

【入試広報課】
TEL:047-472-0666

【学事課(教務)】
TEL:047-472-7208

【キャリアセンター(就職)】
TEL:047-472-1823

【学部長室】
TEL:047-472-7110

お問い合わせフォーム