Skip to main content
QUICK REVIEW

[論文レビュー] TARDIS: Timestamp based Coherence Algorithm for Distributed Shared Memory

Xiangyao Yu, Srinivas Devadas|arXiv (Cornell University)|Jan 19, 2015
Parallel Computing and Optimization Techniques参考文献 34被引用数 8
ひとこと要約

TARDIS は、マルチキャストや $O(N)$ の共有者追跡を用いず、論理的タイムスタンプを用いて順序整合性を強制する分散共有メモリ向けの新しいタイムスタンプベースの整合性プロトコルである。各キャッシュブロックあたり $O(\log N)$ のストレージを実現し、16〜256コアのベンチマークでディレクトリプロトコルと同等の性能を発揮する。グローバル時 clocks 同期やブロードキャストを必要とせず、優れたスケーラビリティとシンプルさを実現している。

ABSTRACT

A new memory coherence protocol, Tardis, is proposed. Tardis uses timestamp counters representing logical time as well as physical time to order memory operations and enforce sequential consistency in any type of shared memory system. Tardis is unique in that as compared to the widely-adopted directory coherence protocol, and its variants, it completely avoids multicasting and only requires O(log N) storage per cache block for an N-core system rather than O(N) sharer information. Tardis is simpler and easier to reason about, yet achieves similar performance to directory protocols on a wide range of benchmarks run on 16, 64 and 256 cores.

研究の動機と目的

  • 物理時刻同期やブロードキャストに依存しない、$O(N)$ の共有者追跡とマルチキャストを必要とする従来のディレクトリベースの整合性プロトコルのスケーラビリティの限界を解消すること。
  • 物理的時刻同期やブロードキャスト機構に依存せずに順序整合性を強制する整合性プロトコルの開発。
  • 大規模共有メモリシステム、特にマスコアおよび分散システムにおいて、高い性能と低コストのストレージオーバーヘッドを実現すること。
  • 共有者を明示的に追跡する必要を排除することで、プロトコル設計と検証を簡素化し、順序整合性下でも正しさを維持すること。
  • タイムスタンプベースのアプローチが、複雑なディレクトリプロトコルと同等の性能を発揮しつつ、最小限のハードウェア複雑性で実現可能であることを実証すること。

提案手法

  • グローバルなメモリ順序を表すために物理時刻ではなく論理的タイムスタンプを使用し、グローバル時刻同期なしでメモリ操作の順序を決定可能にする。
  • 各メモリ操作に、グローバル実行順序における位置を反映するタイムスタンプを割り当て、ルール1(プログラム順序がメモリ順序を意味する)に準拠することを保証する。
  • すべての先行操作が順序付けられると、ライタがタイムスタンプカウンタを更新することで「時間の前進」を可能にし、無効化確認を待たずに即座に書き込みを実行できる。
  • キャッシュブロックごとに現在のタイムスタンプと所有者IDのみを格納することで、共有者リストの $O(N)$ から $O(\log N)$ へのストレージ削減を実現する。
  • マルチキャストを排除し、タイムスタンプに基づく順序付けによって暗黙的に整合性を強制することで、全共有者に無効化メッセージを送信する必要をなくす。
  • 高競合状況では更新を延期するリースメカニズムを用い、リード主体のワークロードにおけるパフォーマンスを向上させる。

実験結果

リサーチクエスチョン

  • RQ1物理的時刻同期やマルチキャストに依存せず、論理的タイムスタンプのみに依存する整合性プロトコルが、順序整合性を強制可能か?
  • RQ2共有者を明示的に追跡する必要をなくし、キャッシュブロックあたりのストレージオーバーヘッドを $O(N)$ から $O\left(\log N\right)$ に削減できるか、かつディレクトリプロトコルと同等のパフォーマンスを維持できるか?
  • RQ3ライタが論理的時間の「飛躍」を許容するタイムスタンプベースのプロトコルが、順序整合性下でも正しく動作するか?
  • RQ416〜256コアのスケールの分散共有メモリシステムにおいて、マルチキャストと共有者追跡を排除した場合のパフォーマンスへの影響は?
  • RQ5TARDIS のようなシンプルなプロトコルが、正しさを損なわず、現実のベンチマークで複雑なディレクトリベースの方式を上回るか同等の性能を発揮できるか?

主な発見

  • TARDIS は、16、64、256コアのシステムにおいて、幅広いベンチマークでベースラインのディレクトリプロトコルと同等のパフォーマンスを発揮した。
  • 共有者を明示的に追跡する必要をなくしたことで、キャッシュブロックあたりのストレージを $O(N)$ から $O(\log N)$ に削減した。
  • マルチキャストとグローバル時刻同期を回避することで、実装の簡素化とスケーラビリティの向上を実現した。
  • 順序整合性下での正しさは形式的に証明されており、中心的な洞察は、ライタが無効化の待機を回避するために論理的時間の「飛躍」を許容できることにある。
  • ほとんどのワークロードではリース期間の長さに依存しないため、パフォーマンスが相対的に安定しているが、スピンベンチマークでは長時間のリースで性能劣化が見られ、知的リース管理の余地があることが示唆された。
  • TARDIS は、共有コピーの有効期限の到着を待つ必要がなく、ブロードキャストや物理的時刻依存性を避けることで、既存のタイムスタンプベースのプロトコル(LCC など)を上回った。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。