Kangaroo: Theory and Practice of Caching Billions of Tiny Objects on Flash
Abstract
1 Introduction
2 Background and Related Work
2.1 Tiny Objects are Important and Numerous
2.2 Caching Tiny Objects in Flash is Hard
2.3 Current Approaches and Related Work
3 Kangaroo Overview and Motivation
4 Theoretical Foundations of Kangaroo
Variable | Description |
---|---|
\(O\) | Out-of-cache state. |
\(Q\) | KLog state. |
\(W\) | KSet state. |
\(w\) | Capacity of each set. |
\(s\) | Number of sets in KSet. |
\(q\) | Capacity of KLog. |
\(r_i\) | Probability of requesting object i. |
\(m\) | Miss probability. |
\(f\) | Flash write rate. |
\(\pi _{i,X}\) | Stationary probability of object i in state X. |
\(X \rightarrow Y\) | Transition from state X to state Y. |
4.1 Baseline Set-associative Cache
4.2 Add KLog, No Admission Policies
4.3 Add Threshold Admission Before KSet
4.4 Add Probabilistic Admission Before KLog
4.5 Modeling Results
5 Kangaroo Design
5.1 Pre-flash Admission to KLog
5.2 KLog
Component | Naïve Log-Only | Naïve Kangaroo | Kangaroo | |
---|---|---|---|---|
KLog Index | offset | 29 b | 25 b | 19 b |
tag | 29 b | 29 b | 9 b | |
next-pointer | 64 b | 64 b | 16 b | |
Eviction metadata | 67 b | 58 b | 3 b | |
valid | 1 b | 1 b | 1 b | |
Sub-total | 190 bits/obj | 177 bits/obj | 48 bits/obj | |
KSet | Bloom filter | – | 3 b | 3 b |
Eviction | – | 5 b | 1 b | |
Sub-total | – | 8 bits/obj | 4 bits/obj | |
Overall | Index buckets | \(\approx\)3.1 b | \(\approx\)3.1 b | \(\approx\)0.8 b |
Log size | 100% = 181 b | 5% = 8.9 b | 5% = 2.4 b | |
Set size | 0% | 95% = 7.6 b | 95% = 3.8 b | |
Total | 193.1 bits/obj | 19.6 bits/obj | 7.0 bits/obj |
5.3 KLog → KSet: Minimizing Flash Writes
5.4 KSet
6 Experimental Methodology
6.1 Kangaroo Implementation and Parameterization
Parameter | Value |
---|---|
Total cache capacity | 93% of flash |
Log size | 5% of flash |
Admission probability to log from DRAM | 90% |
Admission threshold to sets from log | 2 |
Set size | 4 KB |
6.2 Comparisons
6.3 Simulation
6.4 Workloads
6.5 Metrics
6.6 Scaling Traces
Param | Description |
---|---|
\(R\) | Request rate. |
\(\ell\) | Relative load factor. |
\(S\) | Flash cache size. |
\(W\) | App-level write rate (w/out dlwa). |
\(D\) | Device-level write rate. |
\(k\) | Trace sampling rate. |
\(Q\) | Per-server DRAM capacity. |
\(x_\text{o}\) | Param \(x\) in original system. |
\(x_\text{m}\) | Param \(x\) in modeled system. |
\(x_\text{s}\) | Param \(x\) in simulated system. |
7 Evaluation
7.1 Main Result: Kangaroo Significantly Reduces Misses vs. Prior Cache Designs Under Realistic Constraints
7.2 Kangaroo Performs Well as Constraints Change
7.3 Parameter Sensitivity and Benefit Attribution
7.4 Production Deployment Test
8 Conclusion
Acknowledgments
Footnote
References
Index Terms
- Kangaroo: Theory and Practice of Caching Billions of Tiny Objects on Flash
Recommendations
Kangaroo: Caching Billions of Tiny Objects on Flash
SOSP '21: Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems PrinciplesMany 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 ...
File-Level, Host-Side Flash Caching with Loris
ICPADS '13: Proceedings of the 2013 International Conference on Parallel and Distributed SystemsAs enterprises shift from using direct-attached storage to network-based storage for housing primary data, flash-based, host-side caching has gained momentum as the primary latency reduction technique. In this paper, we make the case for integration of ...
Adaptive Page Packing and Storing Method for PCM-Flash Hybrid Memory Structure
HPCC-CSS-ICESS '15: Proceedings of the 2015 IEEE 17th International Conference on High Performance Computing and Communications, 2015 IEEE 7th International Symposium on Cyberspace Safety and Security, and 2015 IEEE 12th International Conf on Embedded Software and SystemsThis paper presents an advanced PCM-Flash hybrid memory structure for the integrated memory-disk (IMD) structure merging the conventional main memory and disk storage into a single memory layer. The proposed structure can enhance overall write access ...
Comments
Please enable JavaScript to view thecomments powered by Disqus.Information & Contributors
Information
Published In
Publisher
Association for Computing Machinery
New York, NY, United States
Publication History
Check for updates
Author Tags
Qualifiers
- Research-article
- Refereed
Funding Sources
- NDSEG Fellowship
- Google Research Scholar Award
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- 0Total Citations
- 1,559Total Downloads
- Downloads (Last 12 months)597
- Downloads (Last 6 weeks)73
Other Metrics
Citations
Cited By
View allView Options
View options
View or Download as a PDF file.
PDFeReader
View online with eReader.
eReaderHTML Format
View this article in HTML Format.
HTML FormatLogin options
Check if you have access through your login credentials or your institution to get full access on this article.
Sign in