Cargando…
Semantics, Specification, and Bounded Verification of Concurrent Libraries in Replicated Systems
Geo-replicated systems provide a number of desirable properties such as globally low latency, high availability, scalability, and built-in fault tolerance. Unfortunately, programming correct applications on top of such systems has proven to be very challenging, in large part because of the weak cons...
Autores principales: | , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
2020
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7363232/ http://dx.doi.org/10.1007/978-3-030-53288-8_13 |
_version_ | 1783559628635766784 |
---|---|
author | Nagar, Kartik Mukherjee, Prasita Jagannathan, Suresh |
author_facet | Nagar, Kartik Mukherjee, Prasita Jagannathan, Suresh |
author_sort | Nagar, Kartik |
collection | PubMed |
description | Geo-replicated systems provide a number of desirable properties such as globally low latency, high availability, scalability, and built-in fault tolerance. Unfortunately, programming correct applications on top of such systems has proven to be very challenging, in large part because of the weak consistency guarantees they offer. These complexities are exacerbated when we try to adapt existing highly-performant concurrent libraries developed for shared-memory environments to this setting. The use of these libraries, developed with performance and scalability in mind, is highly desirable. But, identifying a suitable notion of correctness to check their validity under a weakly consistent execution model has not been well-studied, in large part because it is problematic to naïvely transplant criteria such as linearizability that has a useful interpretation in a shared-memory context to a distributed one where the cost of imposing a (logical) global ordering on all actions is prohibitive. In this paper, we tackle these issues by proposing appropriate semantics and specifications for highly-concurrent libraries in a weakly-consistent, replicated setting. We use these specifications to develop a static analysis framework that can automatically detect correctness violations of library implementations parameterized with respect to the different consistency policies provided by the underlying system. We use our framework to analyze the behavior of a number of highly non-trivial library implementations of stacks, queues, and exchangers. Our results provide the first demonstration that automated correctness checking of concurrent libraries in a weakly geo-replicated setting is both feasible and practical. |
format | Online Article Text |
id | pubmed-7363232 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2020 |
record_format | MEDLINE/PubMed |
spelling | pubmed-73632322020-07-16 Semantics, Specification, and Bounded Verification of Concurrent Libraries in Replicated Systems Nagar, Kartik Mukherjee, Prasita Jagannathan, Suresh Computer Aided Verification Article Geo-replicated systems provide a number of desirable properties such as globally low latency, high availability, scalability, and built-in fault tolerance. Unfortunately, programming correct applications on top of such systems has proven to be very challenging, in large part because of the weak consistency guarantees they offer. These complexities are exacerbated when we try to adapt existing highly-performant concurrent libraries developed for shared-memory environments to this setting. The use of these libraries, developed with performance and scalability in mind, is highly desirable. But, identifying a suitable notion of correctness to check their validity under a weakly consistent execution model has not been well-studied, in large part because it is problematic to naïvely transplant criteria such as linearizability that has a useful interpretation in a shared-memory context to a distributed one where the cost of imposing a (logical) global ordering on all actions is prohibitive. In this paper, we tackle these issues by proposing appropriate semantics and specifications for highly-concurrent libraries in a weakly-consistent, replicated setting. We use these specifications to develop a static analysis framework that can automatically detect correctness violations of library implementations parameterized with respect to the different consistency policies provided by the underlying system. We use our framework to analyze the behavior of a number of highly non-trivial library implementations of stacks, queues, and exchangers. Our results provide the first demonstration that automated correctness checking of concurrent libraries in a weakly geo-replicated setting is both feasible and practical. 2020-06-13 /pmc/articles/PMC7363232/ http://dx.doi.org/10.1007/978-3-030-53288-8_13 Text en © The Author(s) 2020 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 Nagar, Kartik Mukherjee, Prasita Jagannathan, Suresh Semantics, Specification, and Bounded Verification of Concurrent Libraries in Replicated Systems |
title | Semantics, Specification, and Bounded Verification of Concurrent Libraries in Replicated Systems |
title_full | Semantics, Specification, and Bounded Verification of Concurrent Libraries in Replicated Systems |
title_fullStr | Semantics, Specification, and Bounded Verification of Concurrent Libraries in Replicated Systems |
title_full_unstemmed | Semantics, Specification, and Bounded Verification of Concurrent Libraries in Replicated Systems |
title_short | Semantics, Specification, and Bounded Verification of Concurrent Libraries in Replicated Systems |
title_sort | semantics, specification, and bounded verification of concurrent libraries in replicated systems |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7363232/ http://dx.doi.org/10.1007/978-3-030-53288-8_13 |
work_keys_str_mv | AT nagarkartik semanticsspecificationandboundedverificationofconcurrentlibrariesinreplicatedsystems AT mukherjeeprasita semanticsspecificationandboundedverificationofconcurrentlibrariesinreplicatedsystems AT jagannathansuresh semanticsspecificationandboundedverificationofconcurrentlibrariesinreplicatedsystems |