Authors
Ittay Eyal, Ken Birman, Robbert van Renesse
Publication date
2014
Journal
CoRR
Description
In-memory read-only caches are widely used in cloud infrastructure to reduce access latency and to reduce load on backend databases. Operators view coherent caches as impractical at genuinely large scale and many clientfacing caches are updated in an asynchronous manner with best-effort pipelines.
Existing incoherent cache technologies do not support transactional data access, even if the backend database supports transactions. We propose T-Cache, a cache that supports read-only transactions despite asynchronous and unreliable communication with the database. We also define cache-serializability, a variant of serializability that is suitable for incoherent caches, and prove that with unbounded resources T-Cache implements it. With limited resources, T-Cache allows the system manager to choose a trade-off between performance and consistency. Our evaluation shows that T-Cache detects many inconsistencies with only nominal overhead. We use synthetic workloads to demonstrate the efficacy of T-Cache when data accesses are clustered and its adaptive reaction to workload changes. With workloads based on the real-world topologies, T-Cache detects 43− 70% of the inconsistencies and increases the rate of consistent transactions by 33− 58%.
Total citations
Scholar articles