Consistency-based service level agreements for cloud storage
- Douglas B. Terry ,
- Vijayan Prabhakaran ,
- Ramakrishna Kotla ,
- Mahesh Balakrishnan ,
- Marcos K. Aguilera ,
- Hussam Abu-Libdeh
SOSP '13: Proceedings of the Twenty-Fourth 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.