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

Publication

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.