一貫性モデル (ソフトウェア)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/27 06:08 UTC 版)
一貫性モデル(いっかんせいモデル、英: consistency model)または整合性モデル(せいごうせいモデル)は、分散共有メモリシステムや分散データストア(ファイルシステム、データベース、楽観的レプリケーションシステム、ウェブキャッシングなど)のような分散システムで使用される。システムは、メモリ上の操作が特定のルールに従っている場合、あるモデルをサポートしていると言う。データ一貫性モデルは、プログラマーとシステムの間の契約を規定するもので、プログラマーがルールに従えば、メモリは一貫しており、メモリの読み書きや更新の結果は予測可能であることをシステムが保証する。これは、キャッシュやキャッシュレスのシステムで発生するコヒーレンスとは異なり、すべてのプロセッサに対するデータの一貫性を意味する。コヒーレンスは、1つの場所や1つの変数への書き込みをすべてのプロセッサが見ることができるようなグローバルな秩序を維持することを意味する。一貫性とは、複数の場所への操作の順序を、すべてのプロセッサに対して維持することである。
- ^ Mark D. Hill (August 1998). “Multiprocessors Should Support Simple Memory Consistency Models”. IEEE Computer 31 (8): 28–34. doi:10.1109/2.707614 .
- ^ Shaz Qadeer (August 2003). “Verifying Sequential Consistency on Shared-Memory Multiprocessors by Model Checking”. IEEE Transactions on Parallel and Distributed Systems 14 (8): 730–741. arXiv:cs/0108016. doi:10.1109/TPDS.2003.1225053.
- ^ a b Todd Lipcon (2014年10月25日). “Design Patterns for Distributed Non-Relational Databases”. 2011年3月24日閲覧。 “A consistency model determines rules for visibility and apparent order of updates. Example: * Row X is replicated on nodes M and N * Client A writes row X to node N * Some period of time t elapses. * Client B reads row X from node M * Does client B see the write from client A? Consistency is a continuum with tradeoffs”
- ^ a b Lamport, Leslie (Sep 1979). “How to make a multiprocessor computer that correctly executes multiprocess programs.”. IEEE Transactions on Computers C-28 (9): 690–691. doi:10.1109/TC.1979.1675439.
- ^ a b “Memory Consistency Models”. 2021年7月28日閲覧。
- ^ a b Goodman, James R (1991). “Cache consistency and sequential consistency”. IEEE Scalable Coherent Interface (SCI) Working Group.
- ^ a b Senftleben, Maximilian (2013). Operational Characterization of Weak Memory Consistency Models (PDF) (M.Sc. thesis). University of Kaiserslautern.
- ^ Lipton, R.J.; J.S. Sandberg. (1988). PRAM: A scalable shared memory (Technical report). Princeton University. CS-TR-180-88。
- ^ a b c d Steinke, Robert C.; Gary J. Nutt (2004). “A unified theory of shared memory consistency.”. Journal of the ACM 51 (5): 800–849. arXiv:cs/0208027. doi:10.1145/1017460.1017464.
- ^ Hutto, Phillip W.; Mustaque Ahamad (1990). Slow memory: Weakening consistency to enhance concurrency in distributed shared memories.. 302–309. doi:10.1109/ICDCS.1990.89297. ISBN 978-0-8186-2048-5
- ^ “Shared Memory Consistency Models : A tutorial”. 2021年7月28日閲覧。
- ^ Solihin, Yan (2009). Fundamentals of Parallel Computer Architecture. Solihin Books
- ^ Singhal, Mukesh; Niranjan G. Shivaratri (1994). “Advanced concepts in operating systems.”. McGraw-Hill, Inc .
- ^ a b Mankin, Jenny (2007). CSG280: Parallel Computing Memory Consistency Models: A Survey in Past and Present Research.
- ^ a b c d e f g h i j k l Tanenbaum, Andrew; Maarten Van Steen (2007). “Distributed systems”. Pearson Prentice Hall.
- ^ Herlihy, Maurice P.; Jeannette M. Wing (July 1990). “"Linearizability: A correctness condition for concurrent objects." ACM Transactions on Programming Languages and Systems”. ACM Transactions on Programming Languages and Systems 12 (3): 463–492. doi:10.1145/78969.78972.
- 1 一貫性モデル (ソフトウェア)とは
- 2 一貫性モデル (ソフトウェア)の概要
- 3 事例
- 4 一貫性とレプリケーション
- 5 脚注
- 6 外部リンク
- 一貫性モデル_(ソフトウェア)のページへのリンク