## Consistency Models in Distributed Shared Memory

### Specifications of consistency models

#### with real-time

- @article{OnInterprocess:Lamport@DC'86
author={Lamport, Leslie},
title={On interprocess communication. Part I: Basic formalism},
journal={Distributed Computing},
volume={1},
number={2},
year={1986},
pages={77-85},
publisher={Springer-Verlag},
}

- @article{OnLamport:Anger@TOPLAS89,
 author = {Anger, Frank D.},
 title = {On Lamport's Interprocessor Communication Model},
 journal = {ACM Trans. Program. Lang. Syst.},
 issue_date = {July 1989},
 volume = {11},
 number = {3},
 month = jul,
 year = {1989},
 pages = {404--417},
 numpages = {14},
 publisher = {ACM},
} 


#### without real-time
- @article{Multiwriter:Shao@SIAM11,
author = {Cheng Shao and Jennifer L. Welch and Evelyn Pierce and Hyunyoung Lee},
title = {Multiwriter Consistency Conditions for Shared Memory Registers},
journal = {SIAM Journal on Computing},
volume = {40},
number = {1},
pages = {28-62},
year = {2011},
}

- @article{Causal:Ahamad@DC95,
author={Ahamad, Mustaque and Neiger, Gil and Burns, JamesE. and Kohli, Prince and Hutto, PhillipW.},
title={Causal memory: definitions, implementation, and programming},
 journal={Distributed Computing},
 volume={9},
 number={1},
 pages={37-49},
 year={1995},
 publisher={Springer-Verlag},
}

### Consistency, Concurrency, Availability, Partition, Latency, Scalability, etc
- @article{ConcurrencyAvailability:Herlihy@JACM90,
 author = {Herlihy, M.},
 title = {Concurrency and Availability As Dual Properties of Replicated Atomic Data},
 journal = {J. ACM},
 issue_date = {April 1990},
 volume = {37},
 number = {2},
 month = apr,
 year = {1990},
 pages = {257--278},
 numpages = {22},
 publisher = {ACM},
} 


### Consistency Models in Practice
- @inproceedings{ConsistencySLA:Terry@SOSP13,
 author = {Terry, Douglas B. and Prabhakaran, Vijayan and Kotla, Ramakrishna and Balakrishnan, Mahesh and Aguilera, Marcos K. and Abu-Libdeh, Hussam},
 title = {Consistency-based Service Level Agreements for Cloud Storage},
 booktitle = {Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles},
 series = {SOSP '13},
 year = {2013},
 pages = {309--324},
 numpages = {16},
 publisher = {ACM},
 address = {New York, NY, USA},
}

### Distributed Storage Systems

- @inproceedings{Bayou:Terry@SOSP95,
 author = {Terry, D. B. and Theimer, M. M. and Petersen, Karin and Demers, A. J. and Spreitzer, M. J. and Hauser, C. H.},
 title = {Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System},
 booktitle = {Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles},
 series = {SOSP '95},
 year = {1995},
 location = {Copper Mountain, Colorado, USA},
 pages = {172--182},
 numpages = {11},
 publisher = {ACM},
} 

- @inproceedings{Petersen@SOSP97,
 author = {Petersen, Karin and Spreitzer, Mike J. and Terry, Douglas B. and Theimer, Marvin M. and Demers, Alan J.},
 title = {Flexible Update Propagation for Weakly Consistent Replication},
 booktitle = {Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles},
 series = {SOSP '97},
 year = {1997},
 location = {Saint Malo, France},
 pages = {288--301},
 numpages = {14},
 publisher = {ACM},
} 

- @inproceedings{Dynamo:DeCandia@SOSP07,
 author = {DeCandia, Giuseppe and Hastorun, Deniz and Jampani, Madan and Kakulapati, Gunavardhan and Lakshman, Avinash and Pilchin, Alex and Sivasubramanian, Swaminathan and Vosshall, Peter and Vogels, Werner},
 title = {Dynamo: Amazon's Highly Available Key-value Store},
 booktitle = {Proceedings of Twenty-first ACM SIGOPS Symposium on Operating Systems Principles},
 series = {SOSP '07},
 year = {2007},
 pages = {205--220},
 numpages = {16},
 location = {Stevenson, Washington, USA},
 publisher = {ACM},
} 

- @article{PNUTS:Cooper@VLDB'08,
 author = {Cooper, Brian F. and Ramakrishnan, Raghu and Srivastava, Utkarsh and Silberstein, Adam and Bohannon, Philip and Jacobsen, Hans-Arno and Puz, Nick and Weaver, Daniel and Yerneni, Ramana},
 title = {PNUTS: Yahoo!'s Hosted Data Serving Platform},
 journal = {Proc. VLDB Endow.},
 issue_date = {August 2008},
 volume = {1},
 number = {2},
 month = aug,
 year = {2008},
 pages = {1277--1288},
 numpages = {12},
 publisher = {VLDB Endowment},
} 

- @article{PNUTS:Silberstein@IC'12,
 author = {Silberstein, Adam and Chen, Jianjun and Lomax, David and McMillan, Brad and Mortazavi, Masood and Narayan, P. P. S. and Ramakrishnan, Raghu and Sears, Rusty},
 title = {PNUTS in Flight: Web-Scale Data Serving at Yahoo},
 journal = {IEEE Internet Computing},
 issue_date = {January 2012},
 volume = {16},
 number = {1},
 month = jan,
 year = {2012},
 pages = {13--23},
 numpages = {11},
 publisher = {IEEE Educational Activities Department},
} 

### Algorithms for Consistency Models

- @article{ABD:Attiya@JACM95,
 author = {Attiya, Hagit and Bar-Noy, Amotz and Dolev, Danny},
 title = {Sharing Memory Robustly in Message-passing Systems},
 journal = {J. ACM},
 issue_date = {Jan. 1995},
 volume = {42},
 number = {1},
 month = jan,
 year = {1995},
 pages = {124--142},
 numpages = {19},
 publisher = {ACM},
} 

- @article{20YearsAfter:Attiya@EATCS10,
  title = {Robust Simulation of Shared Memory: 20 Years After.},
  author = {Attiya, Hagit},
  journal = {Bulletin of the {EATCS}},
  volume = 100,
  pages = {99-113},
  year = 2010,
}

- @inproceedings{RobustEmulation:Lynch@FTCS97,
 author = {Lynch, N. A. and Shvartsman, A. A.},
 title = {Robust Emulation of Shared Memory Using Dynamic Quorum-acknowledged Broadcasts},
 booktitle = {Proceedings of the 27th International Symposium on Fault-Tolerant Computing (FTCS '97)},
 series = {FTCS '97},
 year = {1997},
 pages = {272--281},
 publisher = {IEEE Computer Society},
 address = {Washington, DC, USA},
} 


- @article{OptimisticReplication: Saito@CSUR'05,
 author = {Saito, Yasushi and Shapiro, Marc},
 title = {Optimistic Replication},
 journal = {ACM Comput. Surv.},
 issue_date = {March 2005},
 volume = {37},
 number = {1},
 month = mar,
 year = {2005},
 pages = {42--81},
 numpages = {40},
 publisher = {ACM},
} 