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.