研究概要 |
本年度は,設計した書換え抽象機械TRAMを試作することで有効性を確認すると共に,TRAMを並列化することでParallel TRAMを設計・試作した.概要および得られて知見は以下のとおりである. 1.書換え抽象機械TRAMの設計・実装:TRAMは,CafeOBJ等の近代的代数仕様言語の計算モデルとして用いられている順序ソート条件付き項書換え系(OCTRS)の抽象機械である.TRAMでは,書換え規則の左辺を高速なパタンマッチのためのデータ構造である弁別ネットへ変換し,書換え規則の右辺をマッチングプログラムの雛型と戦略リストの雛型の組へ変換する.また,入力項はマッチングプログラムと戦略リストの組へ変換する.マッチングプログラムは入力項と弁別ネットの間でのパタンマッチを行ない,実行するには(書換えに)従い自己の構造を変える自己改変プログラムである.戦略リストは,簡約戦略のためのデータ構造で,マッチングプログラムのラベル列である.戦略リストを用いることで,OBJの評価戦略(E-戦略)を効率よく実現することができた.抽象命令のインタープリタを含むTRAMを言語でワークステーション(FUJITSU S-4/5)上に試作し,ベンチマークを用いて評価をすることで,TRAMの有効性を確認した. 2.並列書換え抽象機械Parallel TRAMの設計・実装:並列簡約を指定できるようにE-戦略を拡張し(並列E-戦略),TRAMを並列化することでParallel TRAMを設計した.並列E-戦略を用いて並列性を制御できるようにすることで,過度の並列度を抑えることができ効率よく並列に簡約することができた.Parallel TRAMを4台のプロセッサを搭載するマルチプロセッサ(OMRON LUNA-88K2)上に試作し,ベンチマークを用いて評価した結果,TRAMに比べ1.6〜2.0倍程度の速度向上を確認できた. 以上をもとに,次年度では,TRAMおよびParallel TRAMの計算機実験を設計にフィードバックし,抽象機械の設計を完成させると共に,Parallel TRAMを他の並列計算機上にも試作することで,Parallel TRAMが広範囲の並列計算機にとって有効な並列書換え抽象機械であることを確認する.
|