共有変数に対する複合操作を排他実行するハードウェアトランザクショナルメモリの改良

Info

橋本 高志良, 井出 源基, 山田 遼平, 堀場 匠一朗, 津邑 公暁 : "共有変数に対する複合操作を排他実行するハードウェアトランザクショナルメモリの改良", 情処研報 (ARC200) ,pp1--8 (Jan. 2014) 予稿

Abstract

マルチコア環境では,一般的にロックを用いて共有変数へのアクセスを調停する.しかし,ロックには並列性の低下やデッドロックの発生などの問題があるため,これに代わる並行性制御機構としてトランザクショナルメモリが提案されている.この機構のハードウェア実装であるハードウェアトランザクショナルメモリ(HTM)では,アクセス競合が発生しない限りトランザクションが投機的に実行される.しかし,共有変数に対する複合操作が行われるようなトランザクションが並行実行された場合,その際に発生するストールが完全に無駄となる場合がある.本稿では,このような同一の共有変数に対するRead→Writeの順序でのアクセスを検出し,それに関与するトランザクションを排他実行することで,HTM の全体性能を向上させる手法を提案する.シミュレーションによる評価の結果,提案手法により16 スレッド実行時において最大72.2%,平均17.5%の性能向上を達成した.