TY - GEN
T1 - Existential consistency
T2 - 25th ACM Symposium on Operating Systems Principles, SOSP 2015
AU - Lu, Haonan
AU - Veeraraghavan, Kaushik
AU - Ajoux, Philippe
AU - Hunt, Jim
AU - Song, Yee Jiun
AU - Tobagus, Wendy
AU - Kumar, Sanjeev
AU - Lloyd, Wyatt
PY - 2015/10/4
Y1 - 2015/10/4
N2 - Replicated storage for large Web services faces a trade-off between stronger forms of consistency and higher performance properties. Stronger consistency prevents anomalies, i.e., unexpected behavior visible to users, and reduces programming complexity. There is much recent work on improving the performance properties of systems with stronger consistency, yet the flip-side of this trade-off remains elusively hard to quantify. To the best of our knowledge, no prior work does so for a large, production Web service. We use measurement and analysis of requests to Face-book's TAO system to quantify how often anomalies happen in practice, i.e., when results returned by eventually consistent TAO differ from what is allowed by stronger consistency models. For instance, our analysis shows that 0.0004% of reads to vertices would return different results in a linearizable system. This in turn gives insight into the benefits of stronger consistency; 0.0004% of reads are potential anomalies that a linearizable system would prevent. We directly study local consistency models-i.e., those we can analyze using requests to a sample of objects-and use the relationships between models to infer bounds on the others. We also describe a practical consistency monitoring system that tracks φ-consistency, a new consistency metric ideally suited for health monitoring. In addition, we give insight into the increased programming complexity of weaker consistency by discussing bugs our monitoring uncovered, and anti-patterns we teach developers to avoid.
AB - Replicated storage for large Web services faces a trade-off between stronger forms of consistency and higher performance properties. Stronger consistency prevents anomalies, i.e., unexpected behavior visible to users, and reduces programming complexity. There is much recent work on improving the performance properties of systems with stronger consistency, yet the flip-side of this trade-off remains elusively hard to quantify. To the best of our knowledge, no prior work does so for a large, production Web service. We use measurement and analysis of requests to Face-book's TAO system to quantify how often anomalies happen in practice, i.e., when results returned by eventually consistent TAO differ from what is allowed by stronger consistency models. For instance, our analysis shows that 0.0004% of reads to vertices would return different results in a linearizable system. This in turn gives insight into the benefits of stronger consistency; 0.0004% of reads are potential anomalies that a linearizable system would prevent. We directly study local consistency models-i.e., those we can analyze using requests to a sample of objects-and use the relationships between models to infer bounds on the others. We also describe a practical consistency monitoring system that tracks φ-consistency, a new consistency metric ideally suited for health monitoring. In addition, we give insight into the increased programming complexity of weaker consistency by discussing bugs our monitoring uncovered, and anti-patterns we teach developers to avoid.
UR - http://www.scopus.com/inward/record.url?scp=84957947726&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84957947726&partnerID=8YFLogxK
U2 - 10.1145/2815400.2815426
DO - 10.1145/2815400.2815426
M3 - Conference contribution
AN - SCOPUS:84957947726
T3 - SOSP 2015 - Proceedings of the 25th ACM Symposium on Operating Systems Principles
SP - 295
EP - 310
BT - SOSP 2015 - Proceedings of the 25th ACM Symposium on Operating Systems Principles
PB - Association for Computing Machinery, Inc
Y2 - 5 October 2015 through 7 October 2015
ER -