並列プログラムの同期処理検証におけるテストケース生成アルゴリズムの提案と実装
2
0
0
全文
(2) 情報処理学会第 82 回全国大会. Step.1 終点ノードではないノードの集合から ひとつのノードを選択する Step.2 ノードをソート済みリストの末尾に追 加する Step.3 ノードとそのノードを始点とする有向 エッジをグラフから除外する ソート済みリストの長さが総ノード数と一致 すると、ソートが完了する。Step.1 で選択可能 なノードが複数あるグラフは、複数のソート結 果を持つこととなる。本研究では、このアルゴ リズムにノードが属するグループの概念を追加 し、各グループに優先度を付与する。Step.1 の ノード選択において、この優先度を参照し、よ り優先度が高いグループに属するノードを選択 する。これにより、ある優先度の組み合わせに 対して、グラフのソート結果は一意となる。提 案法では、ノードを処理、有向エッジを依存関 係、各ノードが属するグループを処理を実行す るコアとし、ソート結果をテストケースとして 利用する。Step.1 で選択可能な処理が複数ある 場合は、それら処理間に依存関係がないと定義 されていることと同義であり、これらの処理の 実行順序の入れ替えを網羅することが求められ る。図 2 に、あるタスクグラフにおける優先度 別のテストケースを示す。図より、優先順位が 低いコアに属する処理から優先順位が高いコア に属する処理へ入力される依存関係を見逃して いた場合、いずれかのテストケースで検出でき ることがわかる。上記はコア数、処理数が増加 した場合でも成立する。 各処理のコア割り付け Function0. 見逃した依存関係を 検出する実行順序. Function1. T1 T2. T1. T1. T2. T5. T3. T6. T5. T2. T4. T3. T4. T6. T6. T4. Core0. Core1. テストケース1. テストケース2. 優先度 Core0 : 高 Core1 : 低. 優先度 Core0 : 低 Core1 : 高. 本提案法を実現するためには、各コアに割り 当てられた処理を独立して動作させなければな らない。よって本研究においてはコアの実行と 停止を切り替えながら処理を進めることで、提 案法を実現した。実行/停止の切り替えは優先度 を参照し、挿入された同期処理の送受信タイミ ングで行っている。図 3 に提案法におけるコア の実行/停止切り替えのイメージを示す。テスト プログラムに必要な入力は、テストパターン(入 力値と期待値)および各コアの優先度である。な お、本研究ではシングルスレッドシミュレータ を用いたため、コアの実行/停止をコンテキスト スイッチにより再現した。 T1 T5 T6 T2. Core0実行開始 Core0停止 Core1実行開始. Core1停止 Core0実行開始. 以下、同様. 図 3. コアの実行/停止のイメージ. 5. 効果 本提案法によれば、プログラム規模や並列度 (コア数)によらず、同期処理挿入不足の検証が 可能となる。これにより、人手によるテストケ ース生成を代替できるため、検証漏れのリスク を排除することが可能となる。. 6. 結論と課題 本研究では、マルチコアプロセッサによって 実行される並列プログラムの同期処理検証を網 羅的に実行するテストケース生成アルゴリズム を考案し、実装した。課題として、実行順序違 反が発生するといずれかの入力値に対して出力 値が期待値から外れることを前提としている。 今後、上記前提を満たすための十分なテストケ ースの生成手法を検討していく必要がある。. T5 T3. 4. 実装方法. 図 2. 提案法により生成されるテストケース例. 参考文献 [1]M. Beckert, et al. 2016, "Zero-time communication for automotive multi-core systems under SPP scheduling," 2016 IEEE 21st International Conference on ETFA, Berlin, pp. 1-9. [2]A. B. Kahn, 1962, “Topological sorting of large networks,” Communications of the ACM 5 (11): pp.558-562.. 1-132. Copyright 2020 Information Processing Society of Japan. All Rights Reserved..
(3)
関連したドキュメント
当該不開示について株主の救済手段は差止請求のみにより、効力発生後は無 効の訴えを提起できないとするのは問題があるのではないか
当社は、APからの提案やAPとの協議、当社における検討を通じて、前回取引
LLVM から Haskell への変換は、各 LLVM 命令をそれと 同等な処理を行う Haskell のプログラムに変換することに より、実現される。
FSIS が実施する HACCP の検証には、基本的検証と HACCP 運用に関する検証から構 成されている。基本的検証では、危害分析などの
◆
プロジェクト初年度となる平成 17 年には、排気量 7.7L の新短期規制対応のベースエンジ ンにおいて、後処理装置を装着しない場合に、 JIS 2 号軽油及び
本案における複数の放送対象地域における放送番組の
Rule F 42は、GISC がその目的を達成し、GISC の会員となるか会員の