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.