Flexible Consistency for Distributed Storage Systems
Consistency is a critical issue in distributed storage systems. Data in distributed storage systems are replicated across multiple storage nodes. When a copy of data is modified, all other copies need to be updated to prevent clients from reading stale data. However, such strong consistency requires the system to wait for all replicas to finish updates before returning to the client. Thus performance penalty arises. To improve performance, many systems use eventual consistency to allow stale data existing in the system at certain time. In this paper, we propose a flexible consistency to take advantage of both types of consistency. Our work classifies data by their read and write patterns and makes dynamic adjustment of consistency online. The evaluation shows our flexible consistency performs well, especially for write-heavy applications.