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

JavaによるPRAMコンパイラの作成
03-1-47-248
池田 直樹
あらまし





背景
目的
研究内容
結果
結論・課題
背景
・処理速度の高速化
・複雑な問題の解決
・プロセッサの性能の向上
・処理の並列化

PRAM(Parallel Random Access Machine)
共有メモリ
P1
P2
P3
・・・
Pp
PRAMの動作
P1
P2
演算命令
P3
メモリアクセス命令
P4
・命令がすべて1単位時間
・1命令ごとに同期をとる
入出力命令
同期
目的
PRAMシミュレータによる計算量の実験的評価
・PRAM用並列言語、並列アセンブラ
(K05 言語 、 VSMアセンブラ)
・PRAMコンパイラ
・PVSM ( Parallel Virtual Stack Machine)
PRAMシミュレータによる処理の流れ
PRAM用並列言語プログラム
PRAMコンパイラ
並列アセンブラ
PVSMインタプリタ
研究内容(1)
PRAM用並列言語
・parallel文

・parallel(式①,式②)文
・特殊記号$p
・実行時のプロセッサ番号表示
研究内容(2)
Iseg
VSMアセンブラ
PUSHI 1
・PARA:並列処理開始
PUSHI 3
・SYNC:同期をとる
PARA
・PUSHP:プロセッサ番号 PUSHP
の挿入
SYNC

Stack
Stack
1
P1
Stack
2
P2
Stack
3
P3
結果(1)
PRAM用並列プログラム例
main(){
parallel(0,15){
write($p);
}
}
結果(2)
並列アセンブラ
PUSHI
0
PUSHI
15
PARA
PUSHP
OUTPUT
SYNC
HALT
結果(3)
PVSMの実行結果
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Execution time
:7
結論・課題


並列処理の動作を確認
並列化による計算量の実験的な評価
$p機能の拡張
parallel文の機能の拡張
未対応のJAVA言語の追加
