実行時間の結果

PRAMシミュレータの構築
情報論理工学研究室
01-1-26-071 柳原 大志
あらまし
背景
PRAM
C風並列言語
PRAMシミュレータ
実行結果
結論
背景
問題を高速に解きたい
複雑な問題を解きたい
高性能コンピュータを手軽に使いたい
並列アルゴリズムの必要性が高まっている
PRAM(parallel random-access
machine)
P1
P2
共有メモリ
(Shared Memory)
・
・
・
・
PN
PRAM上の実行時間
時刻 0
P1
P2
P3
P4
1
2
3
読み
書き
演算
読み
演算
書き
読み
書き
読み
・・・・・・・
・
読み
・・・・・・・
・
・・・・・・・
・
読み
演算
・・・・・・・
・
並列アルゴリズムの評価
アルゴリズムの評価
正当性
計算量
目的
PRAMアルゴリズムの評価を容易にする
PRAMシミュレータを作成
PRAMアルゴリズムを記述できる言語を作成する
C風並列言語を作成
C風並列言語
C言語
+
命令(parallel)
C風
並列言語
命令 parallel
parallel(i,j) 命令文
命令文
命令文
命令文
実行
実行
実行
実行
プロセッサ
プロセッサ
プロセッサ
プロセッサ
i
i+1
i+2
・・・・・・・
・
・・・・・・・
・
命令文
j
C風並列言語の実行の流れ
C風
並列言語
C言語
PRAMシミュレータ
Cコンパイラ
(既存)
実行形式
PRAMシミュレータの構造
C風
並列言語
C言語
PRAMシミュレータ
字句解析
構文解析
コード出力
PRAMシミュレータの実行例
足し算プログラム
n個のデータの和を求める
実行時間の理論値は logn
PRAMシミュレータによる
足し算プログラムの実行時間
100
90
80
70
実 60
行
50
時
間 40
30
t-3n
7logn
20
10
0
64
128
256
512
1024
データ数 n(個)
2048
4096
結論
C風並列言語を作成
PRAMシミュレータを構築
機能1
C風並列言語をC言語に変換
機能2
C風並列言語のPRAM上の実行時間を計測
課題
① 関数が使えないなど、文法制限が多い
C風並列言語の適応範囲の拡張
② 入出力ファイルが限定されている
実行の際に入出力ファイルを自由
に指定可能にする