著者
間下 恵介 三宅 翔 山田 遼平 津邑 公暁
雑誌
研究報告システム・アーキテクチャ(ARC) (ISSN:21888574)
巻号頁・発行日
vol.2015-ARC-215, no.13, pp.1-10, 2015-05-19

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