英特尔对外公开提出Optane DC Persistent Memory Module已经快一年的时间了,这个介于SSD和DRAM之间的新层级对于数据中心有很大的好处。
持久内存的目标始终是将更多数据移近CPU,提供类似DRAM的延迟,同时也具有类似存储设备的持久性和容量。 经过一年的时间听取硬件和软件合作伙伴谈论持久内存的好处,现在,随着第二代英特尔至强可扩展处理器的发布,Optane DC PMEM现在可用于提供各种服务器解决方案。
图1 结构层级
图2 Optane DC Persistent Memory Module
从上图2可以看出,Optane DC Persistent Memory Module 采用DDR4与计算机进行连接,对于Optane DC Persistent Memory Module可以简称为Optane DC PMM或者DCPMM,在下文中,Optane DC PMM与DCPMM这两种简称都会用到。
英特尔提供的Optane DC PMMs拥有比传统DRAM更高的容量,目前提供的容量格式有128G、256G、512G,这比现在的内存条容量要大很多,传统的内存条容量范围基本在4GB到32GB这个区间。Optane DC PMMs与DRAM采用相同的通道接口,同时需要被安装到更靠近CPU的插槽上(PMMs are on the same channel as DRAM, and should be populated on the slot closest to the CPU on each channel)。
Optane DC PMM与DRAM搭配使用,英特尔推荐的配置比例为4:1,例如32GB大小的DRAM和128GB的DCPMM搭配使用,如下图所示:
每一个CPU最多支持6个持久化内存模块(DCPMM),一个典型的服务器支持两个英特尔至强系列处理器(Intel Xeon Salable Processors),这意味着每个系统可以支持12块持久化内存模块,也就是最高可以达到6TB的PMEM容量(3TB per socket)。服务器的持久化内存容量被系统的BIOS感知与设置,同时也可以在BIOS创建namespace、pool等。同时,也可以通过OS执行相同级别的可见性和配置。
图3 最大容量硬件结构图 图4 DCPMM通信协议
先来探索一下DCPMM如何进行通信,如上图4所示,英特尔Optane DC PMM使用DDR-T协议来进行通信,它允许异步命令/数据时序。模块控制器通过request/grant的方式与主机控制器进行通信。数据总线方向和时序被主机控制,每个请求的命令包从主机发送到持久性存储器控制器。如果需要,可以在Intel Optane DC PMM 控制器中重新设置该事务。DCPMM模块使用64B缓存行的大小作为访问粒度,类似于DDR4。
图5 Optane DC PMM揭开黑色外封后图示
从硬件角度来看,Optane DC PMM是模块上的完整系统,具有以下几个关键组件:
在考虑模块本身后,权衡在成本和性能之后,使用寿命就是我们关注的重点。与其他存储介质一样,英特尔Optane DC PMM以PB级写入(PBW)来衡量。基于带宽和介质耐久性考虑因素,在5年的生命周期内估计PBW,假设每年24天,每天24小时,目标用电量的最大带宽。在100%写入、15W的情况下,持久性内存模块支持超过350PBW,如下图6所示。
图6 Optane DC PMM寿命测试
关于功率设置的一个注意事项是,Optane DC PMM可针对不同的功率限制进行编程,从而实现广泛的优化。持久性内存模块支持12W - 18W的功率范围,可以以0.25瓦的粒度进行调整。较高的功率设置可提供最佳性能,尽管与较高的整体服务器功耗相关的成本页会增加。在某些情况下,这可能不是问题,可以选择根据服务器支持最大化功率范围。
在服务器上装配Optane DC PMM之后,DCPMM可以配置成多种操作模式,包括 内存模式(Memory Mode)、应用直接访问模式(App Direct Mode) 以及在两者之间的分配滑动比例的混合模式。
在内存模式中,DCPMM的使用和DRAM十分相似,这不需要指定特定的软件或者对应用程序进行修改。在该模式下,DCPMM与DRAM一样,数据掉电易失去,每个电源周期都清除易失性密钥。在内存模式中,持久存储器用作DRAM的扩展,并由主机内存控制器管理。DCPMM与DRAM没有设定特定的装配比率,他们的混合可以取决于应用需求。在延迟配置文件方面,任何命中DRAM缓存(近内存)的内容会提供<100纳秒的延迟。 任何缓存未命中都将流向持久性内存(远内存),这将在亚微秒范围内提供延迟。
图7 内存模式图示
从图7中可以看出,在内存模式下,DRAM作为DCPMM的缓存,如果在DRAM中内容没有命中,就到DCPMM中进行数据获取。
Optane DC PMM同时也可以配置成应用直接访问模式,此模式需要特定的持久性内存感知软件/应用程序。此模式使持久内存保持掉电数据不丢失,同时具有类似于内存的字节可寻址。在App Direct Mode下,持久性内存保持缓存一致性,并提供执行DMA和RDMA的功能。
图8 App Direct Mode图示
还可以将持久内存配置为App Direct上的存储。 在这里,持久性存储器以SSD的方式与传统的读/写指令一起以块的形式起作用。这适用于现有的文件系统,在数据块级提供原子性,并且可以配置块大小(4K,512B)。要直接在App上使用存储,用户只需要一个NVDIMM驱动程序。与传统企业级SSD相比,此模式允许扩展容量,提供更好的性能,更低的延迟和更高的耐用性。
英特尔Optane DC PMM的出现为用户提供了广泛的优势。首先,这些模块提供了一种更具成本效益的方式有效扩展服务器DRAM(内存)空间。由于持久性内存可以与DRAM层相互连接,因此有效可用的DRAM空间可以通过持久性内存更快地扩展,这有助于提高组织服务器投资的总体TCO。
此外,由于服务器能够更快地处理更多数据,因此用户可以利用新的机会来整合工作负载。在谈到价值时,还可以提出第二个论点。对于可能不需要DRAM所提供的纳秒级延迟的工作负载,机构或组织可以选择使用更少的DRAM构建其服务器,使用更多的Optane DC PMM仍能保持合理或更大的内存空间。
正如名称所公开的那样,持久性内存模块是持久的。这意味着不需要使用数据刷新PMM,这可以加快服务器重新启动速度。当涉及内存数据库时,这非常重要。服务器重启后,恢复内存数据中所有内容的时间可能会很长。专注于高性能数据库的独立软件供应商(ISV)已经在这些情况下从持久内存中获得了巨大收益,在这些情况下,快速恢复运行是一个关键概念。事实上,英特尔已经展示了这方面(重启恢复)的数据,一个柱状存储整个重新加载到DRAM中的1.3TB数据集,他们发现在DRAM onlt服务器上需要20分钟。在持久内存装配之前整个系统在该服务器中重启总共需要32分钟,操作系统启动需要12分钟,恢复数据需要20分钟。相同的服务器装配上Optane DC PMM耗时13.5分钟,虽然表面看起来好像并非令人印象深刻,32与13.5不到三倍的提升,但考虑到恢复数据组件只需要一分半钟时,它更令人印象深刻,这相当于13倍的增益。
英特尔Optane DC PMM还提供模块内加密,使其成为有史以来第一个硬件加密内存。这些模块使用256位AES-XTP加密引擎使用静态保护数据。在内存模式下,如果DRAM缓存丢失其数据,则加密密钥将丢失并在每次引导时重新生成。在App Direct Mode中,使用存储在模块上的安全元数据区域中的密钥对持久性介质进行加密,该模块只能由Intel Optane DCPMM控制器访问。英特尔Optane DC PMM在断电事件中被锁定,需要密码才能解锁。这些模块还支持安全加密擦除和DIMM覆写,以便在报废时安全地重新利用或丢弃。最后,允许使用签名版本的固件,可以使用版本控制选项。
图9 DCPMM硬件加密内存机制
虽然本文重点在于明确持久性内存硬件的优势,但英特尔还拥有一套重要的软件工具,在这里也进行简要介绍。以下工具将是通过操作系统管理持久性内存的主要方式,而不是重新启动服务器并在系统BIOS中进行这些更改,通过该工具可以节省时间并防止停机时间进行更改。
IPMCTL - 用于管理Intel Optane DC持久性内存模块的实用程序
该软件的具体内容可以在下文中查看:
地址:https://blog.csdn.net/SweeNeil/article/details/89640206
持久性内存模块现已上市,众多服务器供应商宣布系统可用性:
存储系统供应商也将持久内存作为加速其解决方案的一种方式:
PMEM的云支持:
领先的工作站提供商也在采用英特尔Optane DC持久存储器,尤其适用于数据科学工作负载。
英特尔Optane DC持久性内存评估和基准测试:
原文来自:
作者:Brian Beeler
时间:2019-4-2
地址:https://www.storagereview.com/intel_optane_dc_persistent_memory_module_pmm