Cargando…
Checking Robustness Between Weak Transactional Consistency Models
Concurrent accesses to databases are typically encapsulated in transactions in order to enable isolation from other concurrent computations and resilience to failures. Modern databases provide transactions with various semantics corresponding to different trade-offs between consistency and availabil...
Autores principales: | , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
2021
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7984544/ http://dx.doi.org/10.1007/978-3-030-72019-3_4 |
_version_ | 1783668087631904768 |
---|---|
author | Beillahi, Sidi Mohamed Bouajjani, Ahmed Enea, Constantin |
author_facet | Beillahi, Sidi Mohamed Bouajjani, Ahmed Enea, Constantin |
author_sort | Beillahi, Sidi Mohamed |
collection | PubMed |
description | Concurrent accesses to databases are typically encapsulated in transactions in order to enable isolation from other concurrent computations and resilience to failures. Modern databases provide transactions with various semantics corresponding to different trade-offs between consistency and availability. Since a weaker consistency model provides better performance, an important issue is investigating the weakest level of consistency needed by a given program (to satisfy its specification). As a way of dealing with this issue, we investigate the problem of checking whether a given program has the same set of behaviors when replacing a consistency model with a weaker one. This property known as robustness generally implies that any specification of the program is preserved when weakening the consistency. We focus on the robustness problem for consistency models which are weaker than standard serializability, namely, causal consistency, prefix consistency, and snapshot isolation. We show that checking robustness between these models is polynomial time reducible to a state reachability problem under serializability. We use this reduction to also derive a pragmatic proof technique based on Lipton’s reduction theory that allows to prove programs robust. We have applied our techniques to several challenging applications drawn from the literature of distributed systems and databases. |
format | Online Article Text |
id | pubmed-7984544 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2021 |
record_format | MEDLINE/PubMed |
spelling | pubmed-79845442021-03-23 Checking Robustness Between Weak Transactional Consistency Models Beillahi, Sidi Mohamed Bouajjani, Ahmed Enea, Constantin Programming Languages and Systems Article Concurrent accesses to databases are typically encapsulated in transactions in order to enable isolation from other concurrent computations and resilience to failures. Modern databases provide transactions with various semantics corresponding to different trade-offs between consistency and availability. Since a weaker consistency model provides better performance, an important issue is investigating the weakest level of consistency needed by a given program (to satisfy its specification). As a way of dealing with this issue, we investigate the problem of checking whether a given program has the same set of behaviors when replacing a consistency model with a weaker one. This property known as robustness generally implies that any specification of the program is preserved when weakening the consistency. We focus on the robustness problem for consistency models which are weaker than standard serializability, namely, causal consistency, prefix consistency, and snapshot isolation. We show that checking robustness between these models is polynomial time reducible to a state reachability problem under serializability. We use this reduction to also derive a pragmatic proof technique based on Lipton’s reduction theory that allows to prove programs robust. We have applied our techniques to several challenging applications drawn from the literature of distributed systems and databases. 2021-03-23 /pmc/articles/PMC7984544/ http://dx.doi.org/10.1007/978-3-030-72019-3_4 Text en © The Author(s) 2021 Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. |
spellingShingle | Article Beillahi, Sidi Mohamed Bouajjani, Ahmed Enea, Constantin Checking Robustness Between Weak Transactional Consistency Models |
title | Checking Robustness Between Weak Transactional Consistency Models |
title_full | Checking Robustness Between Weak Transactional Consistency Models |
title_fullStr | Checking Robustness Between Weak Transactional Consistency Models |
title_full_unstemmed | Checking Robustness Between Weak Transactional Consistency Models |
title_short | Checking Robustness Between Weak Transactional Consistency Models |
title_sort | checking robustness between weak transactional consistency models |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7984544/ http://dx.doi.org/10.1007/978-3-030-72019-3_4 |
work_keys_str_mv | AT beillahisidimohamed checkingrobustnessbetweenweaktransactionalconsistencymodels AT bouajjaniahmed checkingrobustnessbetweenweaktransactionalconsistencymodels AT eneaconstantin checkingrobustnessbetweenweaktransactionalconsistencymodels |