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...

Descripción completa

Detalles Bibliográficos
Autores principales: Beillahi, Sidi Mohamed, Bouajjani, Ahmed, Enea, Constantin
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