Java による PRAM コンパイラの作成
03-1-47-162
神谷 道利
背景
プロセッサ性能の向上
アルゴリズムの最適化
並列処理高速化のための手法
PRAM
parallel random access machine
仮定
メモリへの読み書きが 1単位時間で可能
各プロセッサでの演算 が1単位時間で可能
P1
P4 P2 P3
共有メモリ
PRAM
parallel random access machine
P1 P2 P3 P4
1 2 3 4 5
0 演算命令
メモリアクセス命令 入出力命令
同期
目的
PRAM
の実現は困難PRAM
シミュレータが必要PRAM PRAM
コンパイラの作成コンパイラの作成PRAM シミュレータ
PRAM
用並列言語プログラムPRAM
コンパイラ並列アセンブラ
PVSM
PRAM 用並列言語
parallel
(式1,
式2)文
プロセッサ番号式1-式2番を用いて文 を並列に実行$p
parallel
文中で記述する事でプロセッサ番 号を持つ変数として処理されるK05
言語⇒拡張K05
言語並列アセンブラ
PARA
SYNC
PUSHP
VSM
アセンブラ⇒拡張VSM
アセンブラPARA
P1 Stack
P3 Stack
P2 Stack
PUSHP SYNC
1
2
Iseg
PUSHI 0 PUSHI 0 ASSIGN REMOVE
プログラム実行例
main{
parallel(0,15) write($p);
}
PUSH 0 PUSHI 15 PARA
PUSHP OUTPUT SYNC HALT
PRAM コンパイラ
PVSM