论文标题
写信受伤:optane nvram的高速缓存设计课程
Writes Hurt: Lessons in Cache Design for Optane NVRAM
论文作者
论文摘要
Intel Optanetm DC持续内存位于内存总线上,并在访问延迟中脱颖而出。采用的一种途径是用它代替持续存储;另一个是将其用作DRAM的便宜且更密集的扩展。为了追求后一个目标,我们将挥发性Optane NVRAM CACHE的设计作为MongoDB基础存储引擎的组件的设计。我们设计中的主要创新是新的缓存录取政策。我们发现,在Optane NVRAM(以其有限的写入吞吐量而闻名)上,写作的存在不成比例地影响读数的吞吐量,比在DRAM上更重要。因此,一项不加Realiss的录取政策(并因此产生写作)严重限制了数据检索速率,并导致缓存总体上的性能极差。我们设计了一种录取政策,该政策使用动态观察到的工作量特征来平衡入院率与查找率。在所有情况下,我们的实现都优于Opencas(基于现成的Optane块缓存),在数据库大小超过可用NVRAM的情况下,英特尔内存模式。我们的缓存与存储引擎的其余部分分离,并使用通用指标来指导其录取政策;因此,我们的设计很容易在其他系统中采用。
Intel OptaneTM DC Persistent Memory resides on the memory bus and approaches DRAM in access latency. One avenue for its adoption is to employ it in place of persistent storage; another is to use it as a cheaper and denser extension of DRAM. In pursuit of the latter goal, we present the design of a volatile Optane NVRAM cache as a component in a storage engine underlying MongoDB. The primary innovation in our design is a new cache admission policy. We discover that on Optane NVRAM, known for its limited write throughput, the presence of writes disproportionately affects the throughput of reads, much more so than on DRAM. Therefore, an admission policy that indiscriminately admits new data (and thus generates writes), severely limits the rate of data retrieval and results in exceedingly poor performance for the cache overall. We design an admission policy that balances the rate of admission with the rate of lookups using dynamically observed characteristics of the workload. Our implementation outperforms OpenCAS (an off-the-shelf Optane-based block cache) in all cases, and Intel Memory Mode in cases where the database size exceeds the available NVRAM. Our cache is decoupled from the rest of the storage engine and uses generic metrics to guide its admission policy; therefore our design can be easily adopted in other systems.