Redis使用英特尔OptaneTM DC持久化内存节省成本

Redis在过去的十年中,通常被用作缓存业务场景,最近Redis实验室与英特尔合作,使用Intel®OptaneTM DC持久性内存,试图改变内存技术的游戏规则。

英特尔Optane DC持久性内存

英特尔Optane DC持久内存,在DRAM和SSD之间提供了一个新的持久内存层,可在双插槽服务器和高达1.5TB的DRAM中,提供高达6TB的非易失性内存容量,其性能可与传统的DRAM相媲美。更简单地说,这个新层将标准机器的内存容量,扩展到高达7.5TB可寻址内存(DRAM +持久内存),同时提供持久性。采用DIMM技术,可作为128、256、512GB持久性内存模块使用。

基准测试表明节省了43%的成本

intel data center memory

如果因内存成本而限制了Redis的使用,现在不用再为此而烦恼了。通过英特尔Optane DC持久内存,能够让每个节点保留更多数据,从而显着降低基础架构成本,同时保持性能,在高操作速率(1M ops / sec)下保持亚毫秒级延迟 - 这是Redis Enterprise客户的典型吞吐量。

  Test 1 Test 2
Memory configuration 1.5TB DDR4 DRAM Memory 192GB DDR4 DRAM Memory + 1.5TB Intel Optane DC Persistent Memory
Dataset 6 billion keys, 100B values, 50/50 read/write ratio, and random access 6 billion keys, 100B values, 50/50 read/write ratio, and random access
Dataset size 1TB 1TB
Throughput 1 M ops/second 1 M ops/second
Latency <1 msec <1 msec
Total savings in memory costs   ~ 43% less

在执行的多个测试中,在大型数据集上能够始终如一地保持高吞吐量。这大约节省了43%的硬件成本,对性能几乎没有影响 - 即使每秒数百万次吞吐量的操作。

英特尔持久内存两种模式

内存模式:内存模式可扩展内存,并将DDR4内存用作缓存。应用程序持久性存储器编程,并且在断电时不会保存数据。

应用直接模式:应用程序直接模式提供一个易失性和一个持久性分层方法,使应用程序可以选择优化数据的放置位置。应用程序和操作系统能够感觉到,平台中所使用的两种类型的内存,并且能够直接写入持久内存。

由于Redis基于内存引擎(即它所有的数据结构都是字节可寻址的,没有特殊的序列化/反序列化过程),英特尔的新技术也是通过设计实现字节寻址的,因此,通过调整Redis Enterprise stack和Redis on Flash,来使用英特尔的新技术相对比较容易。