研究課題/領域番号 |
17H01722
|
研究機関 | 名古屋大学 |
研究代表者 |
結縁 祥治 名古屋大学, 情報学研究科, 教授 (70230612)
|
研究分担者 |
西田 直樹 名古屋大学, 情報学研究科, 准教授 (00397449)
関 浩之 名古屋大学, 情報学研究科, 教授 (80196948)
中澤 巧爾 名古屋大学, 情報学研究科, 准教授 (80362581)
|
研究期間 (年度) |
2017-04-01 – 2021-03-31
|
キーワード | 並行計算モデル / 可逆計算実行環境 / 可逆抽象機械 / 逆方向デバッグ技法 |
研究実績の概要 |
本年度は、具体的な並列プログラミング言語に対する可逆計算の具体的な実行環境ならびにそれに基づくデバッグ技法についての研究を行った。 単純な並列プログラムを抽象機械が実行するバイトコードに変換し、複数の抽象機械が共有変数で相互作用を及ぼしながらバイトコードを実行する実行時環境を構築した。抽象機械は、順方向の実行のためのバイトコードと、逆方向のためのバイトコードの実行意味を実現する。この他、子プロセスを生成するFork命令、子プロセスの終了の同期をとるJoin命令を持つ。順方向の実行時に変数の更新情報とジャンプが発生した場合のプログラムカウンタの履歴を保存する。 並列プログラムを逆方向に計算する命令列は、順方向のバイトコード列を対応するバイトコード列に変換して得られる。この変換によって、順方向の実行における状態遷移を逆方向にたどって計算することができる。 この実行時環境をPythonのMultiprocessingモジュールを用いて実現し、バイトコード列の単純な変換で簡単に並列プログラムが逆方向に実行可能であることを示した。デバッグの際に必要な変数の更新をバイトコード単位で追跡できるようになる。さらに、バイトコード列の断片を可逆的に実行できる機能を追加することによって、並列プログラムの可逆的デバッガの試作を行った。 この他、通信プロセスCSPの逆方向の振舞を可視化するツールの作成を行い、一般にデバッグが困難な並行計算に対する可逆計算の応用について実現を中心に研究を実施した。
|
現在までの達成度 (段落) |
令和2年度が最終年度であるため、記入しない。
|
今後の研究の推進方策 |
令和2年度が最終年度であるため、記入しない。
|