@techreport{oai:ipsj.ixsq.nii.ac.jp:00186618, author = {櫻井, 義孝 and 荒堀, 喜貴 and 権藤, 克彦}, issue = {28}, month = {Mar}, note = {マルチスレッドプログラミングにおけるデータ競合は発見と再現が困難である.そのため自動でデータ競合を検出するツールが必要である.これまでの研究ではデータ競合の誤検出,検出漏れと検査時間のオーバーヘッドが問題になっていた.この問題を解決すべく,検査時間のオーバーヘッドを削減する手法として,検査を並列化する Parallel FastTrack が提案されている.しかし,Parallel FastTrack の方式では検出漏れが多く,また並列化においても検査スレッド間の負荷の偏りを解消する仕組みが存在しない.このため,特定の検査スレッドに負荷が集中した場合に十分に検査時間のオーバーヘッドを削減できない.そこで,本研究では高精度かつ高効率なオフライン競合検査の並列化手法を提案する.本研究の提案する手法は Parallel FastTrack とは異なり,ハイブリッド競合検査をベースにすることで検出漏れと誤検出を抑制する.また,検査時間のオーバーヘッドを減らすために競合検査を並列化する.更に,検査スレッド間の負荷の偏りを解消する並列競合検査方法を提案する.提案手法では,検査スレッドの管理するアドレス数を負荷と捉え複数のスレッド間で負荷を偏りを分散する.Phoenix ベンチマークを用いた実験により,従来の単一スレッドによるハイブリッド競合検査と Parallel FastTrack 方式で検査を並列化した場合と比較して,提案手法による負荷分散を考慮した検査の並列化の効果を調査した.その結果,Phoenix を用いた行列演算プログラムにおいて提案手法は競合検査の時間オーバーヘッドを Parallel FastTrack 方式で分散したときと比較して 47% まで削減できた.}, title = {ハイブリッド競合検査の負荷分散を考慮した並列化}, year = {2018} }