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

58 JAVA による PRAM コンパイラの作成

N/A
N/A
Protected

Academic year: 2021

シェア "58 JAVA による PRAM コンパイラの作成"

Copied!
1
0
0

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

全文

(1)

58 JAVA による PRAM コンパイラの作成

情報論理工学研究室:板東俊助  共同研究者:池田直樹  神谷道利

1.  序論

並列アルゴリズムの設計およびその計算量の解析は 多くの場合PRAM(Parallel Random Access Machine) 上で行われるが、それを実現するには非常に困難であ る。そこで本研究では、並列アルゴリズムの設計およ びその計算量の解析の容易化を支援するために PRAM シミュレータの一部であるPRAMコンパイラを設計す る。

2.  研究内容

PRAMシミュレータは、PRAMコンパイラ、高級言 語、アセンブラ、VSM(Virtual Stack Machine)これ らの4つからなるが、本研究では、このPRAMシミュ レータの一部であるPRAMコンパイラを作成する。

本研究では、高級言語としてk05言語、アセンブラ としてVSMアセンブラを用いる。本研究では、k05 語に以下のPRAM上での並列処理を行う命令“parallel 文”および特殊記号“$p”を加えた。parallel 文の文 法は、「parallel(式①,式②)文」という構成であり、プ ロセッサ番号式①から式②のプロセッサを用いて後ろ に続く文の並列処理を行う命令である。また“$p”を は、“parallel 文”実行中のプロセッサ番号を表す記号 である。

また、本研究ではVSMアセンブラに以下の3つの命 令 、 プ ロ セ ッ サ を 並 列 に 処 理 す る 開 始 命 令 で あ る

“PARA”、並列処理の終了とプロセッサ間の同期を表 示する命令“SYNC”、プロセッサ番号をスタックに入 れる命令“PUSHP”を加えた。

さらに本研究では、拡張した高級言語k05 言語をア センブリコードに変換するコンパイラを作成した。本 研究で作成したコンパイラで変換された VSM アセン

ブラをPVSM(Parallel Virtual Stack Machine)で実 行することにより、PRAMアルゴリズムの実行をシミ ュレートでき、PRAM上で実行させた際の実行時間を 計測できる。これにより逐次状態と並列状態の PRAM アルゴリズムの計算量を実験的に評価できる。

3.    結果・考察

以下に本研究での結果を示す。

図1は0番から15番までのプロセッサ番号を出力す る、PRAM 用並列言語プログラムである。本研究で作 成したPRAMコンパイラを用いることにより、図1の プログラムは図2に示す VSM アセンブラに変換され る。図2のVSMアセンブラをPVSMで実行すること により、図3の実行結果が得られ、図1のプログラム の実行にかかるステップ数が7であると計測される。

図1  PRAM用並列言語    図2  VSMアセンブラ

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Execution time : 7

    図3  PVSM実行結果

4.    結論

本研究で PRAM コンパイラを作成したことにより、

PRAM アルゴリズムをシミュレートできる。およびそ の計算量の解析の容易化を支援することができる。ま た、このコンパイラを用いてPRAMアルゴリズムの実 行にかかる時間を計測できる。

参照

関連したドキュメント

まずフォンノイマン環は,普通とは異なる「長さ」を持っています. (知っている人に向け て書けば, B

    pr¯ am¯ an.ya    pram¯ an.abh¯uta. 結果的にジネーンドラブッディの解釈は,

活用することとともに,デメリットを克服することが不可欠となるが,メ

日本への輸入 作成日から 12 か月 作成日から 12 か月 英国への輸出 作成日から2年 作成日から 12 か月.

日本への輸入 作成日から 12 か月 作成日から 12 か月 英国への輸出 作成日から2年 作成日から 12 か月.

地点と KAAT の共同制作作品。平成 29 年、地点「忘れる日本人」で鮮烈な KAAT デビューを飾った作家、松原俊太郎による 新作を上演する。.. 9

18日 324人 約217 人・mSv 遠隔小型装置による作業 約38 人・mSv 人手による直接作業 約179