アクセス競合

同カテゴリーの次の記事

非効率な同期

この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Contested Accesses」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS 環境でも十分ご利用いただけます。また、構成は英語版のヘルプと同じ階層構造にしてあります。


メトリックの説明

アクセス競合は、あるスレッドによって書き込まれたデータが別のコアのスレッドによって読み取られる場合に発生します。アクセス競合には、ロックなどの同期、ロック変数の変更などの真のデータ共有、フォルス・シェアリング (false sharing) があります。このメトリックは、すべてのサイクルに対してキャッシュシステムでアクセス競合の処理に費やされたサイクルの比率です。

問題の可能性

別のコアによって変更されたキャッシュラインに対する、多くのアクセス競合があります。ほかの長いレイテンシーのロードイベント (LLC ミス) 向けに推奨されるテクニックの利用や、アクセス競合の抑制を検討します。アクセス競合を減らすには、まずその原因を特定します。同期が原因であれば、同期の粒度を増やすことを考えてください。真のデータ共有であれば、データのプライベート化とリダクションを検討してください。偽りのデータ共有 (フォルスシェア) であれば、変数を異なるキャッシュラインに配置するようデータを再構築してください。パディングによりワーキングセットが増加するかもしれませんが、確実にフォルスシェアを排除することができます。

関連項目

パフォーマンス・メトリックのリファレンス (英語)

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事

  • インテル® Performance Snapshot ユーザーズガイドインテル® Performance Snapshot ユーザーズガイド この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Intel® Performance Snapshot User's Guide」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • クロックティック vs. パイプライン・スロット・ベースのメトリッククロックティック vs. パイプライン・スロット・ベースのメトリック この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Clockticks Vs. Pipeline Slots Based Metrics」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • プリサイスイベントプリサイスイベント この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「プリサイスイベント」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • ビューポイントビューポイント この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Viewpoint」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • ハードウェア・イベントベース・サンプリング収集ハードウェア・イベントベース・サンプリング収集 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Hardware Event-based Sampling Collection」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]