Consistency-based service level agreements for cloud storage

Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera, Doug Terry

24th ACM Symposium on Operating Systems Principles (SOSP'13), November 2013., Proceedings ACM Symposium on Operating Systems Principles |

Published by ACM

Choosing a cloud storage system and specific operations for reading and writing data requires developers to make decisions that trade off consistency for availability and performance. Applications may be locked into a choice that is not ideal for all clients and changing conditions. Pileus is a replicated key-value store that allows applications to declare their consistency and latency priorities via consistency- based service level agreements (SLAs). It dynamically selects which servers to access in order to deliver the best service given the current configuration and system conditions. In application-specific SLAs, developers can request both strong and eventual consistency as well as intermediate guarantees such as read-my-writes. Evaluations running on a worldwide test bed with geo-replicated data show that the system adapts to varying client-server latencies to provide service that matches or exceeds the best static consistency choice and server selection scheme.