研究課題/領域番号 |
25330058
|
研究種目 |
基盤研究(C)
|
研究機関 | 京都工芸繊維大学 |
研究代表者 |
柴山 潔 京都工芸繊維大学, 工芸科学研究科, 教授 (70127091)
|
研究分担者 |
平田 博章 京都工芸繊維大学, 工芸科学研究科, 准教授 (90273549)
布目 淳 京都工芸繊維大学, 工芸科学研究科, 助教 (60335320)
|
研究期間 (年度) |
2013-04-01 – 2016-03-31
|
キーワード | 計算機システム / ハイパフォーマンス・コンピューティング / スレッドレベル並列性 / 粗粒度投機実行 / チェックポイント回復 |
研究概要 |
スレッドレベルの並列投機実行方式に関して、スレッド間依存関係の除去を目的とする研究から着想した継続的かつ発展的な研究計画である。具体的には、並列実行する各プロセッサ自身が、自身のメモリアクセスを監視することによって、動的にチェックポイントを生成する。すなわち、メモリハザードを検出した場合には、そのデータアドレスをもとに、再実行を開始すべき命令アドレス(これを本研究では、「チェックポイント」と呼ぶ)を同定する、という斬新なチェックポイント生成方式を開発する。プロセッサ自身によるチェックポイントの動的な生成とその制御という点で独創性が高く、スレッドレベル並列処理に関する研究の発展に大きく貢献できる。 本年度は、まず、チェックポイント生成機能の概略設計を行った。メモリデータに対するハザードを検出した場合に、スレッドを最初から実行し直すのではなく、適切な再実行点(チェックポイント)から実行するための方式を機能レベルで検討した。より具体的には、スレッド内におけるロード命令でアクセスするデータアドレスとその命令アドレスとをトレースし、適切なチェックポイントを同定するための方式について検討した。また、過去の投機実行の状況を利用することで、チェックポイント生成処理を省略する方式及びチェックポイントの重要度を予測する方式についても検討を行った。次に、チェックポイント生成機能の概略設計に必要なデータを提供するために、ベンチマークプログラムを用いて、チェックポイント生成に必要となるトレースデータの最大量、1スレッド当たりに生成され得るチェックポイントの最大数、そのうちで実際に使用され得るチェックポイント数の割合、を測定した。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
計画通りにチェックポイント生成方式の概略設計の設計を終え、本方式を実現する上でのデザインスペース(実使用環境に対するチェック項目や実現方式の選択肢の可能性)を把握することができた。また、ベンチマークプログラムを用いて予備評価を行い、実際のアプリケーションプログラムの振る舞いを数種の類型に分類できたことで、実現方式の選択肢を絞り込むことが可能となった。これにより、次年度以降の詳細設計へとスムーズに研究を進めることができる。
|
今後の研究の推進方策 |
平成25年度に行った概略設計をもとにして、実現性を加味した観点から、チェックポイント生成方式の詳細設計を行う。主要な設計項目は、自らのデータアクセスを監視してチェックポイントを動的に生成するハードウェア機構、ハザードの検出時に必要最小限のロールバックを行うための適切なチェックポイントを同定する機構、ロールバック時にチェックポイントの環境に戻すためのメモリデータのバージョン管理方式、ロールバックの制御機構、の4点である。 また、マルチプロセッサシステム全体を実行サイクル単位でシミュレートする時間シミュレータを開発し、性能評価を行うことによって、本研究で開発するチェックポイント生成機能を備えるスレッドレベル並列投機実行方式の有効性を検証する。
|