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.
翻译:OptaneTM DC 持久性内存位于记忆总线上,并接近 DRAM 存取延缓度。 采用该总线的一个途径是使用它来取代持久存储; 另一个途径是将其用作DRAM的更廉价和更稠密的延伸。 为了追求后一目标,我们提出一个挥发性Optane NVRAM缓存的设计,作为MongoDB背后的存储引擎的一个组件。 我们设计的主要创新是一个新的缓存接收政策。 我们发现, Optane NVRAM以其有限的写作量而著称,其写作对读取量的影响特别大,远大于DRAM。 因此, 一项接纳政策不加区分地承认新的数据(从而生成写作),严重限制了数据检索率,导致整个缓存状态的性极差。 我们设计了一种接纳政策,利用动态观测到的工作量特性来平衡收看速率。 我们的实施在所有案例中都不符合 Open CAS(一个现成的Opotane 块缓存缓存器), 以及 Intel remememeal mess made in cas the the creal deal degressl des des theslate dustislated thes palded thes madedelvealdaldaldaldaldaldaldaldaldaldaldalds dess des dess des des 。 因此, 因此, 我们的数据库仓储系统可以使用其他通用的系统可轻易入系统在数据库内存系统。