JAVAによるPRAM コンパイラの作成 情報学科 03-1-47-171 板東 俊助 あらまし ► 背景 ► 本研究の目的 ► 本研究の内容 ► 動作確認 ► 結果・結論 背景 ►コンピュータの「 高速化 」 ►計算速度の高速化の方法 ・ 良性能プロセッサ ・ 並列処理 PRAM (Parallel Random Access Machine) 共有メモリ □ P1 P2 □ P3 ・・・・・ Pp PRAM上での動作 P1 演算命令 P2 メモリアクセス命令 P3 P4 入出力命令 同期 ► 同期や通信のコスト、データの局所性を無視 ► アルゴリズムの設計・解析がし易い PRAMの利点と欠点 ►利点 ・ アルゴリズムの設計・解析がし易い ► 欠点 ・ PRAMを実際に実現するのは難しい PRAMシミュレータ PRAM用並列言語 PRAMコンパイラ 並列アセンブラ PVSM(Parallel Virtual Stack Machine) 本研究の目的 ►PRAMコンパイラ ・ 並列アルゴリズムの実験的評価 ・ 並列アルゴリズムの設計とその計算量 の解析の容易化 研究内容 ►PRAM用並列言語 ・ 並列処理命令 > parallel ( 式① , 式② ) 文 ・ プロセッサ番号を表示する特殊記号 > “$p” PRAM用並列言語 プログラム main(){ ► 逐次状態 parallel 文 $p 文 文 文 文 ・・・・・ 並列状態 p1 p2 p3 p4 p5 ・・・ } 逐次状態 並列アセンブラ ・ PARA: 並列処理の開始を表す命令 逐次状態から並列状態に移行 ・ SYNC: 並列処理の終了とプロセッサ間 の同期を表す命令 ・ PUSHP: プロセッサ番号をスタックに入れる 命令 VSMの動き PUSHI 0 スタック PUSHI 3 ASSGN 1 REMOVE PARA PUSHP SYNC 2 3 ・ ・ ・ 動作確認 ► プログラム例 Main () { Parallel ( 0 , 15) Write( $p ); } VSMアセンブラプログラム PUSHI 0 PUSHI 15 PARA PUSHP OUTPUT SYNC HALT 結果・結論 ► PVSM 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Execution time : 7 ステップ数7 ○ PRAMアルゴリズムの実行にかかる時間 を計測できる ○ PRAMコンパイラは正しくコンパイルし、 PVSMにより並列処理された 今後の課題 ►“parallel命令”実行中に“parallel命令” を実行 ►並列処理の多様化
© Copyright 2024 ExpyDoc