Skip to content

Latest commit

 

History

History
23 lines (12 loc) · 3.11 KB

7947-response-2018-10-01.md

File metadata and controls

23 lines (12 loc) · 3.11 KB

Response to "Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services"

Authors: Seth Gilbert and Nancy Lynch

What is this paper about?

In the paper the authors main interest was to formalize and prove Eric Brewer's conjecture that "it is impossible for a web service to provide the following three guarantees: Consistency, Availability and Partition Tolerance". With this aim, the authors looked at both asynchronous and partially synchronous networks from the perspective of an abstract read/write application. They provide an imposibility result for the two network models which proves that a partitioned network cannot guarantee consistency and availability. However, the authors also provided a "Delayed-t consistent" model which is an "eventually consistent" model that provides a weak guarantee for both consistency and availability under a partitioned network provided that [basically] two operations have a delay between their execution.

The paper provided a useful introduction to the concept of data consistency and availability in a distributed system where no certain guarantees can be made due to the nature of the network.

What's the one thing I learned?

That CAP is not something that fundamentally restricts our ability to create web services. It is a very specific guideline on what kinds of tradeoffs one might have to make when creating web services. If one is creating a distributed database then depending on wether transactions are synchronous or asynchronous, certain tradeoffs are possible. In other cases those tradeoffs may not be applicable. Engineering involves tradeoffs and CAP provides a useful picture on the kinds of tradeoffs that distributed system designers will have to make.

What's a research-level question I have after having read this paper?

  1. When discussing "Weaker Consistency Conditions" in the paper the authors essentially created a network topology and reasoned about CAP on the basis on data flow within that topology. So the results presented were specific to the topology. In cases where the topology is different, say a Peer2Peer network, will these results hold?

  2. Another problem was that distributed systems sometimes tend to be distributed very widely, in which case data transfer time might vary considerably between nodes. So latency could affect web service performance. There could be other parameters which could be used to test the hypothesis (web service content streaming or static content).

What's a concrete step I can take toward answering the research question?

The main problem in doing further research on the above topics is that the authors have taken such a high level view on the topic that nearly anything that can be thought of is covered in one or the other sections of this paper. Peer-to-peer systems are "eventually consistent", most web services are partially synchronous or weakly consistent, latency is implied in passing in section 4. To conduct futher research on the topic requires either disecting the very notions of systems and concepts presented in the paper or look at specific instances of the problem.