Consistent distributed memory services: Resilience and effciency

Theophanis Hadjistasi, Alexander A. Schwarzmann

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Reading, 'Riting, and 'Rithmetic, the three R's underlying much of human intellectual activity, not surprisingly, also stand as a venerable foundation of modern computing technology. Indeed, both the Turing machine and von Neumann machine models operate by reading, writing, and computing, and all practical uniprocessor implementations are based on performing activities structured in terms of the three R's. With the advance of networking technology, communication became an additional major systemic activity. However, at a high level of abstraction, it is apparently still more natural to think in terms of reading, writing, and computing. While it is hard to imagine distributed systems-such as those implementing the World-Wide Web-without communication, we often imagine browser-based applications that operate by retrieving (i.e., reading) data, performing computation, and storing (i.e., writing) the results. In this article, we deal with the storage of shared readable and writable data in distributed systems that are subject to perturbations in the underlying distributed platforms composed of computers and networks that interconnect them. The perturbations may include permanent failures (or crashes) of individual computers, transient failures, and delays in the communication medium. The focus of this paper is on the implementations of distributed atomic memory services. Atomicity is a venerable notion of consistency, introduced in 1979 by Lamport [35]. To this day atomicity remains the most natural type of consistency because it provides an illusion of equivalence with the serial object type that software designers expect. We define the overall setting, models of computation, definition of atomic consistency, and measures of e ciency. We then present algorithms for single-writer settings in the static models. Then we move to presenting algorithms for multi-writer settings. For both static settings we discuss design issues, correctness, e ciency, and trade-o s. Lastly we survey the implementation issues in dynamic settings, where the universe of participants may completely change over time. Here the expectation is that solutions are found by integrating static algorithms with a reconfiguration framework so that during periods of relative stability one benefits from the e ciency of static algorithms, and where during the more turbulent times performance degrades gracefully when reconfigurations are needed. We describe the most important approaches and provide examples.

Original languageEnglish (US)
Title of host publication45th International Colloquium on Automata, Languages, and Programming, ICALP 2018
EditorsChristos Kaklamanis, Daniel Marx, Ioannis Chatzigiannakis, Donald Sannella
PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
ISBN (Electronic)9783959770767
DOIs
StatePublished - Jul 1 2018
Event45th International Colloquium on Automata, Languages, and Programming, ICALP 2018 - Prague, Czech Republic
Duration: Jul 9 2018Jul 13 2018

Publication series

NameLeibniz International Proceedings in Informatics, LIPIcs
Volume107
ISSN (Print)1868-8969

Other

Other45th International Colloquium on Automata, Languages, and Programming, ICALP 2018
CountryCzech Republic
CityPrague
Period7/9/187/13/18

Fingerprint

Data storage equipment
Communication
Turing machines
World Wide Web

Keywords

  • Fault-tolerance
  • Latency
  • Phrases Atomicity
  • Read/write objects
  • Shared-memory

ASJC Scopus subject areas

  • Software

Cite this

Hadjistasi, T., & Schwarzmann, A. A. (2018). Consistent distributed memory services: Resilience and effciency. In C. Kaklamanis, D. Marx, I. Chatzigiannakis, & D. Sannella (Eds.), 45th International Colloquium on Automata, Languages, and Programming, ICALP 2018 [1] (Leibniz International Proceedings in Informatics, LIPIcs; Vol. 107). Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing. https://doi.org/10.4230/LIPIcs.ICALP.2018.1

Consistent distributed memory services : Resilience and effciency. / Hadjistasi, Theophanis; Schwarzmann, Alexander A.

45th International Colloquium on Automata, Languages, and Programming, ICALP 2018. ed. / Christos Kaklamanis; Daniel Marx; Ioannis Chatzigiannakis; Donald Sannella. Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing, 2018. 1 (Leibniz International Proceedings in Informatics, LIPIcs; Vol. 107).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Hadjistasi, T & Schwarzmann, AA 2018, Consistent distributed memory services: Resilience and effciency. in C Kaklamanis, D Marx, I Chatzigiannakis & D Sannella (eds), 45th International Colloquium on Automata, Languages, and Programming, ICALP 2018., 1, Leibniz International Proceedings in Informatics, LIPIcs, vol. 107, Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing, 45th International Colloquium on Automata, Languages, and Programming, ICALP 2018, Prague, Czech Republic, 7/9/18. https://doi.org/10.4230/LIPIcs.ICALP.2018.1
Hadjistasi T, Schwarzmann AA. Consistent distributed memory services: Resilience and effciency. In Kaklamanis C, Marx D, Chatzigiannakis I, Sannella D, editors, 45th International Colloquium on Automata, Languages, and Programming, ICALP 2018. Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing. 2018. 1. (Leibniz International Proceedings in Informatics, LIPIcs). https://doi.org/10.4230/LIPIcs.ICALP.2018.1
Hadjistasi, Theophanis ; Schwarzmann, Alexander A. / Consistent distributed memory services : Resilience and effciency. 45th International Colloquium on Automata, Languages, and Programming, ICALP 2018. editor / Christos Kaklamanis ; Daniel Marx ; Ioannis Chatzigiannakis ; Donald Sannella. Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing, 2018. (Leibniz International Proceedings in Informatics, LIPIcs).
@inproceedings{2345e1074137435495ffec51473e123f,
title = "Consistent distributed memory services: Resilience and effciency",
abstract = "Reading, 'Riting, and 'Rithmetic, the three R's underlying much of human intellectual activity, not surprisingly, also stand as a venerable foundation of modern computing technology. Indeed, both the Turing machine and von Neumann machine models operate by reading, writing, and computing, and all practical uniprocessor implementations are based on performing activities structured in terms of the three R's. With the advance of networking technology, communication became an additional major systemic activity. However, at a high level of abstraction, it is apparently still more natural to think in terms of reading, writing, and computing. While it is hard to imagine distributed systems-such as those implementing the World-Wide Web-without communication, we often imagine browser-based applications that operate by retrieving (i.e., reading) data, performing computation, and storing (i.e., writing) the results. In this article, we deal with the storage of shared readable and writable data in distributed systems that are subject to perturbations in the underlying distributed platforms composed of computers and networks that interconnect them. The perturbations may include permanent failures (or crashes) of individual computers, transient failures, and delays in the communication medium. The focus of this paper is on the implementations of distributed atomic memory services. Atomicity is a venerable notion of consistency, introduced in 1979 by Lamport [35]. To this day atomicity remains the most natural type of consistency because it provides an illusion of equivalence with the serial object type that software designers expect. We define the overall setting, models of computation, definition of atomic consistency, and measures of e ciency. We then present algorithms for single-writer settings in the static models. Then we move to presenting algorithms for multi-writer settings. For both static settings we discuss design issues, correctness, e ciency, and trade-o s. Lastly we survey the implementation issues in dynamic settings, where the universe of participants may completely change over time. Here the expectation is that solutions are found by integrating static algorithms with a reconfiguration framework so that during periods of relative stability one benefits from the e ciency of static algorithms, and where during the more turbulent times performance degrades gracefully when reconfigurations are needed. We describe the most important approaches and provide examples.",
keywords = "Fault-tolerance, Latency, Phrases Atomicity, Read/write objects, Shared-memory",
author = "Theophanis Hadjistasi and Schwarzmann, {Alexander A.}",
year = "2018",
month = "7",
day = "1",
doi = "10.4230/LIPIcs.ICALP.2018.1",
language = "English (US)",
series = "Leibniz International Proceedings in Informatics, LIPIcs",
publisher = "Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing",
editor = "Christos Kaklamanis and Daniel Marx and Ioannis Chatzigiannakis and Donald Sannella",
booktitle = "45th International Colloquium on Automata, Languages, and Programming, ICALP 2018",
address = "Germany",

}

TY - GEN

T1 - Consistent distributed memory services

T2 - Resilience and effciency

AU - Hadjistasi, Theophanis

AU - Schwarzmann, Alexander A.

PY - 2018/7/1

Y1 - 2018/7/1

N2 - Reading, 'Riting, and 'Rithmetic, the three R's underlying much of human intellectual activity, not surprisingly, also stand as a venerable foundation of modern computing technology. Indeed, both the Turing machine and von Neumann machine models operate by reading, writing, and computing, and all practical uniprocessor implementations are based on performing activities structured in terms of the three R's. With the advance of networking technology, communication became an additional major systemic activity. However, at a high level of abstraction, it is apparently still more natural to think in terms of reading, writing, and computing. While it is hard to imagine distributed systems-such as those implementing the World-Wide Web-without communication, we often imagine browser-based applications that operate by retrieving (i.e., reading) data, performing computation, and storing (i.e., writing) the results. In this article, we deal with the storage of shared readable and writable data in distributed systems that are subject to perturbations in the underlying distributed platforms composed of computers and networks that interconnect them. The perturbations may include permanent failures (or crashes) of individual computers, transient failures, and delays in the communication medium. The focus of this paper is on the implementations of distributed atomic memory services. Atomicity is a venerable notion of consistency, introduced in 1979 by Lamport [35]. To this day atomicity remains the most natural type of consistency because it provides an illusion of equivalence with the serial object type that software designers expect. We define the overall setting, models of computation, definition of atomic consistency, and measures of e ciency. We then present algorithms for single-writer settings in the static models. Then we move to presenting algorithms for multi-writer settings. For both static settings we discuss design issues, correctness, e ciency, and trade-o s. Lastly we survey the implementation issues in dynamic settings, where the universe of participants may completely change over time. Here the expectation is that solutions are found by integrating static algorithms with a reconfiguration framework so that during periods of relative stability one benefits from the e ciency of static algorithms, and where during the more turbulent times performance degrades gracefully when reconfigurations are needed. We describe the most important approaches and provide examples.

AB - Reading, 'Riting, and 'Rithmetic, the three R's underlying much of human intellectual activity, not surprisingly, also stand as a venerable foundation of modern computing technology. Indeed, both the Turing machine and von Neumann machine models operate by reading, writing, and computing, and all practical uniprocessor implementations are based on performing activities structured in terms of the three R's. With the advance of networking technology, communication became an additional major systemic activity. However, at a high level of abstraction, it is apparently still more natural to think in terms of reading, writing, and computing. While it is hard to imagine distributed systems-such as those implementing the World-Wide Web-without communication, we often imagine browser-based applications that operate by retrieving (i.e., reading) data, performing computation, and storing (i.e., writing) the results. In this article, we deal with the storage of shared readable and writable data in distributed systems that are subject to perturbations in the underlying distributed platforms composed of computers and networks that interconnect them. The perturbations may include permanent failures (or crashes) of individual computers, transient failures, and delays in the communication medium. The focus of this paper is on the implementations of distributed atomic memory services. Atomicity is a venerable notion of consistency, introduced in 1979 by Lamport [35]. To this day atomicity remains the most natural type of consistency because it provides an illusion of equivalence with the serial object type that software designers expect. We define the overall setting, models of computation, definition of atomic consistency, and measures of e ciency. We then present algorithms for single-writer settings in the static models. Then we move to presenting algorithms for multi-writer settings. For both static settings we discuss design issues, correctness, e ciency, and trade-o s. Lastly we survey the implementation issues in dynamic settings, where the universe of participants may completely change over time. Here the expectation is that solutions are found by integrating static algorithms with a reconfiguration framework so that during periods of relative stability one benefits from the e ciency of static algorithms, and where during the more turbulent times performance degrades gracefully when reconfigurations are needed. We describe the most important approaches and provide examples.

KW - Fault-tolerance

KW - Latency

KW - Phrases Atomicity

KW - Read/write objects

KW - Shared-memory

UR - http://www.scopus.com/inward/record.url?scp=85049780108&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85049780108&partnerID=8YFLogxK

U2 - 10.4230/LIPIcs.ICALP.2018.1

DO - 10.4230/LIPIcs.ICALP.2018.1

M3 - Conference contribution

AN - SCOPUS:85049780108

T3 - Leibniz International Proceedings in Informatics, LIPIcs

BT - 45th International Colloquium on Automata, Languages, and Programming, ICALP 2018

A2 - Kaklamanis, Christos

A2 - Marx, Daniel

A2 - Chatzigiannakis, Ioannis

A2 - Sannella, Donald

PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing

ER -