Loading article…
弱い一貫性という名前は、2 つの意味で使用できます。最初の意味は厳密でより一般的なもので、弱い一貫性は、並行プログラミングの領域(分散共有メモリ、分散トランザクションなど) で使用される一貫性モデルの 1 つです。
次のような場合、プロトコルは弱い一貫性をサポートしていると言われます。
- 同期変数へのすべてのアクセスは、すべてのプロセス (またはノード、プロセッサ) によって同じ順序 (順番) で認識されます。これらは同期操作です。クリティカル セクションへのアクセスは順番に認識されます。
- その他のすべてのアクセスは、異なるプロセス (またはノード、プロセッサ) で異なる順序で表示される場合があります。
- 異なる同期操作間の読み取り操作と書き込み操作のセットは、各プロセスで同じです。
したがって、保留中の書き込み操作がある場合、同期変数にアクセスすることはできません。また、システムが同期操作を実行している場合、新しい読み取り/書き込み操作を開始することはできません。
2 番目のより一般的な意味では、弱い一貫性は、順次一貫性よりも弱い一貫性モデルに適用できます。
より厳しい条件は、並列プロセスが 1 つの一貫した状態のみを観察できる 強力な一貫性です。
参考文献
- 弱い順序付けに関するオリジナルの論文: M. Dubois、C. Scheurich、FA Briggs、「Memory Access Buffering in Multiprocessors」、Proceedings of 13th Annual International Symposium on Computer Architecture 14、2 (1986 年 6 月)、434-442 ページ。
- Sarita V. Adve、Mark D. Hill、「弱い順序付け - 新しい定義」、第 17 回コンピュータ アーキテクチャ国際シンポジウムの議事録。
