厳格で順次的な一貫性は独立してかなりよく理解しています。
厳密なCは、基本的に、命令がグローバルクロックで実行される実際の順序を強制します。
Sequential Consistencyは、基本的に1つのプロセッサでのみ順序を強制します。
でもいくつかの文献をまとめるのに苦労しています。 http://www.cs.nmsu.edu/~pfeiffer/classes/573/notes/consistency.htmlは、メモリの「ラグ」を可能にする順次一貫性について説明しています。書き込みがすべてのプロセッサに伝播するまでに時間がかかる場合があります。しかし、それが行われると、一度にすべてに届きます。したがって、以下はSequential Consistencyで有効です
P1: W(x)1
-----------------------
P2: R(x)0 R(x)1
今私が気にしているのは、次のプロセスです。これはデッカーのアルゴリズムのようなものです。
P1: W(x)1 R(y)0
-----------------
P2: W(y)1 R(x)0
これは、シーケンシャル一貫性(http://portal.acm.org/citation.cfm?id=1787234.1787255 pg 2)の下では確かに可能ではないはずです。この結果が得られる合計順序はありません。
しかし、シーケンシャルな一貫性により書き込みの伝播が遅くなり、1つのスレッドが他のプロセッサの状態を把握していない可能性があるという考えからは理にかなっています。
ここで何が欠けていますか?