Kangaroo: Caching Billions of Tiny Objects on Flash

28Citations
Citations of this article
55Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Many social-media and IoT services have very large working sets consisting of billions of tiny (≈100 B) objects. Large, flash-based caches are important to serving these working sets at acceptable monetary cost. However, caching tiny objects on flash is challenging for two reasons: (i) SSDs can read/write data only in multi-KB "pages"that are much larger than a single object, stressing the limited number of times flash can be written; and (ii) very few bits per cached object can be kept in DRAM without losing flash's cost advantage. Unfortunately, existing flash-cache designs fall short of addressing these challenges: write-optimized designs require too much DRAM, and DRAM-optimized designs require too many flash writes. We present Kangaroo, a new flash-cache design that optimizes both DRAM usage and flash writes to maximize cache performance while minimizing cost. Kangaroo combines a large, set-associative cache with a small, log-structured cache. The set-associative cache requires minimal DRAM, while the log-structured cache minimizes Kangaroo's flash writes. Experiments using traces from Facebook and Twitter show that Kangaroo achieves DRAM usage close to the best prior DRAM-optimized design, flash writes close to the best prior write-optimized design, and miss ratios better than both. Kangaroo's design is Pareto-optimal across a range of allowed write rates, DRAM sizes, and flash sizes, reducing misses by 29% over the state of the art. These results are corroborated with a test deployment of Kangaroo in a production flash cache at Facebook.

Author supplied keywords

Cite

CITATION STYLE

APA

Mcallister, S., Berg, B., Tutuncu-Macias, J., Yang, J., Gunasekar, S., Lu, J., … Ganger, G. R. (2021). Kangaroo: Caching Billions of Tiny Objects on Flash. In SOSP 2021 - Proceedings of the 28th ACM Symposium on Operating Systems Principles (pp. 243–262). Association for Computing Machinery, Inc. https://doi.org/10.1145/3477132.3483568

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free