CHIのオーダリングの章を読んでいたのだが、正直概念的な話が多すぎて良く分からん。
CHIのオーダリングについて
CHIがオーダリングの要求をサポートするためのプロトコルのメカニズムについて説明する。
- マルチコピーアトミック性
- 完了レスポンスとオーダリング
- 完了Acknowlegdement
- トランザクションオーダリング
マルチコピーアトミック性
同じ場所への書き込みはすべてシリアライズする必要がある。つまり、いくつかのリクエストについてはすべての書き込みが見えていないとしても、すべてのリクエスターからは同じ順序に見えている必要がある。
全てのリクエスターが書き込みを監視するできるようになるまで、その場所の読み込み要求に対する値は、その書き込んだ値は見えない。
完了レスポンスとオーダリング
トランザクションが後続のトランザクションとの順序性を保証するために、同じエージェントもしくは異なるエージェントからの要求について、Comp
, RespSepData
, CompData
, Persist
のレスポンスを操作する制約がある。しかしこのリストをいくら読んでも全く想像がつかないので、これについては読み飛ばしたい。
完了Acknowledgement
直訳する。
リクエスターが発行したトランザクションと、異なるリクエスターからのトランザクションによって引き起こされたSnoopトランザクションの相対的な順序は、完了Acknowledgementの使用によって制御されます。これにより、Requesterからのトランザクションの後にオーダーされたSnoopトランザクションが、トランザクションレスポンスの後に受信されることが保証されます。
うーん?良く分からん。
トランザクションオーダリング
RN, HNペアとHN-I, SN-Iペアに対するリクエストのオーダリングのメカニズムについて定義している。HN-FとSN-Fのペアについてのオーダリングはオーダーフィールドが使用される。
- リクエストオーダ:同一エージェントから同じアドレス場所への複数のトランザクションに対するオーダリングを保証する。
- エンドポイントオーダ:同一エージェントから同じエンドポイントアドレス領域への複数のトランザクションに対するオーダリングを保証する。
- 順序付き書き込みの監視:システム中の他のエージェントからの、単一エージェントからのの書き込みトランザクションのシーケンスの監視について保証する。
- リクエスト受け入れ:CompleetrがAcknowlegdementを返すのは、リクエストが受け入れられた場合のみであることを示す。