This dissertation presents a novel approach to enable tunable tradeoffs between performance and consistency for geographically replicated cloud services. The end goal of the approach is to have a solution by which replication is able to improve the overall performance of the system while inconsistency due to optimistic message delivery is bounded in both time and space. We achieve the latter goal with an eagerly executed commit layer that detects and solves conflicts in parallel with the optimistic replication layer.
We believe such a solution not only solves the performance bottleneck of
replicated services but also enables a full spectrum of tunability which will further allow applications to choose the best strategy to balance the tradeoff between performance and consistency for their replicated services. The new solution differs from the traditional eventual consistency model by providing a capability to solve conflicts in an online manner and to leverage the explicit role of clients in specifying the consistency requirements.
Experiments on a prototype system in a real cloud environment are described, that show that the Client Oriented Layered Optimistic Replication
(or COLOR) is feasible, and which evaluate the achievable tradeoffs between performance and consistency on a realistic example system under load, distributed over five replicas in two continents. The prototype shows that COLOR provides a well defined programming model to assist application developers to control the replication of their cloud services without resorting to the otherwise non-guarantee eventual consistency model in face of performance challenges.