• 検索結果がありません。

XX 70 MPI による並列計算

N/A
N/A
Protected

Academic year: 2021

シェア "XX 70 MPI による並列計算"

Copied!
1
0
0

読み込み中.... (全文を見る)

全文

(1)

70 MPI による並列計算

情報論理工学研究室 坂東 憲治

1.

CPU の性能は年々向上しており、従来は高価なサー バーしか搭載されていなかったマルチコアCPUも、一 般的なPCに普及しつつある。並列処理の概念自体は新 しいものではないが、このCPUのマルチコア化によっ て並列処理はより重要なものとなった。そこで、改めて 並列計算の有用性を実証するために、ネットワークを利 用した仮想並列計算を行った。

本 研 究 で は 、 並 列 計 算 ソ フ ト ウ ェ ア で あ る MPI(Message Passing Interface)1) 2)を用いて仮想並列 計算を行い、結果を検証する。MPIはライブラリレベル で並列化するため言語を問わず利用でき、並列プログラ ミングの規格として広く使われている。

2. 研究内容

2.1 目的

本研究では並列計算の有用性を示すために、MPIを用 いて以下の計算を行う。行列計算を1つのコンピュータ で計算する場合と、MPIを用いて複数のコンピュータに 計算する場合と分けて、処理時間にどれだけ差があるか を計測する。

2.2 計算方法

本研究では、ランダムに生成された正方行列を使用す る。また、行列のサイズを10*10、100*100、500*500、

1000*1000と変化させて、それぞれ測定を行う。

図1:行列計算の概念図

図1に計算の概念図を示す。初期条件では、ホストコ ンピュータがすべての行列を保持している。ホストコン ピュータは、他のサブコンピュータに生成した行列を2 つずつ送信する。各コンピュータにて、受け取った行列 同士の積を計算し、その結果を上位コンピュータに渡し、

また計算を繰り返す。最後に、ホストコンピュータに送 り、それらをホストコンピュータで計算する。この結果

を表示するまでの時間を計測し、この作業を1台で行っ たときと、複数台で行ったときの計測時間を判定する。

3. 結果・考察

1:行列計算の処理時間(秒)

CPU\行列数 10 100 500 1000

1台 0.015 0.066 10.87 167.2 4台 0.012 0.051 7.29 86.3 向上率 1.3倍 1.3倍 1.5 1.9

上記の表1がMPI において行列計算を行った時の処 理時間である。各場合において50回のテストを行い、

その平均値を取った。CPU の数に関係なく、行列数が 増えるにつれ処理時間が増えている。台数の違いを見る と、CPU 1 台のときに比べ、4 台のときはいずれも 速度が向上しているのがわかる。特に 1000*1000 の行 列計算のときの処理時間の向上率は2 倍近くにもなり、

処理数が多くなるほど向上率も大きくなると考えられ る。これは処理の少ない場合より、処理の多い場合のほ うが、送受信や同期の時間による影響が少ないため、向 上率が上昇すると考えられる。また、1台の計算時間は ややばらつきがあることに対し、複数のコンピュータに よる処理は安定した処理速度となった。これは、コンピ ュータの数が少なくなればなるほど、1台のコンピュー タにかかる負担が大きくなるためであろうと考えられ る。

4.

本研究により、並列計算による処理速度の向上を確認 することができ、並列処理は有用性が高いということが わかった。しかし、単にCPUを増やせば処理が高速に なるというわけではないので、今後更なる研究が必要と なる。近い未来、進化するマルチコアCPUと並列計算 の進歩によって、より膨大なデータを処理することが可 能になるだろう。

参考文献

1) P.パチェコ , 秋葉博 訳:MPI並列プログラミング 培風館(2001)

2) 渡邉真也 著:MPIによる並列プログラミングの基礎 3) 木下是雄:理科系の作文技術, 中公新書 624 (1981) 4) 小林康夫, 船曳建夫編:知の技法, 東京大学出版(1994)   ホスト

  ホスト   サブ2

結果送信 結果送信

ホスト サブ1 サブ2 サブ3

結果送信

6

5

A

AA

7

A

8

4

3

A

A

2

1

A

A

X X

Result

参照

関連したドキュメント

◼ 自社で営む事業が複数ある場合は、経済的指標 (※1) や区分計測 (※2)

そればかりか,チューリング機械の能力を超える現実的な計算の仕組は,今日に至るま

前章 / 節からの流れで、計算可能な関数のもつ性質を抽象的に捉えることから始めよう。話を 単純にするために、以下では次のような型のプログラム を考える。 は部分関数 (

本節では本研究で実際にスレッドのトレースを行うた めに用いた Linux ftrace 及び ftrace を利用する Android Systrace について説明する.. 2.1

テューリングは、数学者が紙と鉛筆を用いて計算を行う過程を極限まで抽象化することに よりテューリング機械の定義に到達した。

事業セグメントごとの資本コスト(WACC)を算定するためには、BS を作成後、まず株

 「時価の算定に関する会計基準」(企業会計基準第30号

⑥ニューマチックケーソン 職種 設計計画 設計計算 設計図 数量計算 照査 報告書作成 合計.. 設計計画 設計計算 設計図 数量計算