[论文解读] Flashield: a Key-value Cache that Minimizes Writes to Flash
Flashield 是一种混合键值缓存,利用 DRAM 作为动态过滤器,通过预测频繁访问且稳定的对象是否可安全移至闪存,从而最小化对 SSD 的写入。通过轻量级基于 SVM 的机器学习,其将写放大降低至中位数 0.5×,优于当前最先进的系统(写放大高达 2.5× 或更高),且未牺牲命中率或吞吐量。
As its price per bit drops, SSD is increasingly becoming the default storage medium for cloud application databases. However, it has not become the preferred storage medium for key-value caches, even though SSD offers more than 10x lower price per bit and sufficient performance compared to DRAM. This is because key-value caches need to frequently insert, update and evict small objects. This causes excessive writes and erasures on flash storage, since flash only supports writes and erasures of large chunks of data. These excessive writes and erasures significantly shorten the lifetime of flash, rendering it impractical to use for key-value caches. We present Flashield, a hybrid key-value cache that uses DRAM as a "filter" to minimize writes to SSD. Flashield performs light-weight machine learning profiling to predict which objects are likely to be read frequently before getting updated; these objects, which are prime candidates to be stored on SSD, are written to SSD in large chunks sequentially. In order to efficiently utilize the cache's available memory, we design a novel in-memory index for the variable-sized objects stored on flash that requires only 4 bytes per object in DRAM. We describe Flashield's design and implementation and, we evaluate it on a real-world cache trace. Compared to state-of-the-art systems that suffer a write amplification of 2.5x or more, Flashield maintains a median write amplification of 0.5x without any loss of hit rate or throughput.
研究动机与目标
- 解决基于 SSD 的键值缓存中高写放大这一关键挑战,尽管单位比特成本较低,但高写放大会缩短 SSD 寿命。
- 克服现有 SSD 缓存因频繁的小规模更新和热对象驱逐而导致写入过多的局限性。
- 设计一种混合缓存系统,利用 DRAM 作为过滤层,防止非理想对象被写入闪存。
- 通过延迟写入直到对象被证实稳定且频繁访问,最小化缓存级写放大(CLWA)。
- 通过设计一种新型内存索引,实现每对象小于 4 字节的内存占用,以支持可变大小数据,提升内存效率。
提出的方法
- 使用 DRAM 作为传入对象的临时过滤器,延迟其在 SSD 上的放置,直到其访问模式被观察到。
- 应用轻量级、面向特定应用的支持向量机(SVM)分类器,基于实时访问统计数据预测哪些对象可能被频繁读取。
- 通过时间上的均匀采样收集访问统计数据,以最小开销估计未来访问可能性。
- 仅将预测为稳定且频繁访问的对象移至闪存,从而减少对 SSD 的写入次数。
- 实现一种新型内存索引,用于存储在闪存上的可变大小对象,每对象仅使用 4 字节,以最小化 DRAM 占用。
- 利用顺序的、大块的写入方式至闪存,以减少设备级写放大(DLWA),避免随机写入和垃圾回收开销。
实验结果
研究问题
- RQ1基于 DRAM 的过滤机制是否能显著降低基于 SSD 的键值缓存中的写放大,且不降低性能?
- RQ2基于机器学习的访问模式预测在识别适合 SSD 存储的稳定、频繁访问对象方面有多有效?
- RQ3在混合缓存中,针对可变大小对象的最优内存索引结构是什么,能在最小化 DRAM 使用的同时支持高效查找?
- RQ4通过延迟写入直到确认对象访问模式,能否在真实工作负载中显著降低写放大?
- RQ5系统能否在不修改底层闪存硬件或 FTL 的前提下,实现接近 DRAM 级别的 SSD 寿命?
主要发现
- Flashield 将写放大的中位数降低至 0.5×,而当前最先进的系统写放大高达 2.5× 或更高,显著延长了 SSD 寿命。
- 该系统保持了与现有基于 SSD 的缓存相同的命中率和吞吐量,证明写入减少并未损害性能。
- 轻量级 SVM 预测模型能有效识别稳定且频繁访问的对象,且运行时开销极小。
- 新型内存索引平均每对象仅使用 4 字节,使 DRAM 在过滤和缓存中均能高效使用。
- 通过延迟写入直到对象被证实稳定,Flashield 避免了不必要的重写,从而降低了缓存级写放大(CLWA)。
- 与同等容量的纯 DRAM 缓存相比,系统实现了 10 倍的成本降低,功耗更低,延迟相当。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。