英特尔傲腾持久内存延迟比DRAM差多少?

简介: 英特尔表示,作为主内存其性能表现与DRAM内存相近,究竟有多相近呢?

2019年4月份,英特尔发布了傲腾数据中心持久内存,这是一款具有字节寻址能力的非易失性内存,能被操作系统识别为主内存,英特尔表示,作为主内存其性能表现与DRAM内存相近,究竟有多相近呢?

最近,日本国家先进工业科学技术研究所(AIST)发布了一篇Paper,非常细致的将傲腾持久内存与DRAM内存进行了一番对比,测出傲腾数据中心持久内存延迟是DRAM的四倍。

简介:傲腾数据中心级持久内存

值得小伙伴们注意的是2019年发布的傲腾数据中心持久内存(Optane DCPMM)跟2017年发布的傲腾内存(Optane Memory)可不一样。

傲腾内存(Optane Memory)是插在PCIe NVMe接口上的,而傲腾数据中心持久内存(Optane DCPMM)是插在DIMM上的,如果设置的是App Direct模式的话,CPU就完全把他认作主内存了。

众所周知,傲腾是基于3D Xpoint介质的,3D Xpoint是英特尔跟美光联合研发的产物,在英特尔手里,傲腾被打造成介于低成本NAND和有易失性的DRAM内存之间的方案。

傲腾发布以来引起了许多OEM厂商的兴趣,不过,目前傲腾只能支持自家的处理器,所以测试也选用的是至强处理器。

__20200306120528

配置环境

测试前的操作
测试中研究人员发现,大部分的CPU架构都会预先获取内存,然后进行乱序执行,以此隐藏内存的延迟,为了测到真正的主内存延迟,测试人员进行了很多操作:

__20200306120534

为测到真正的内存延迟,进行的骚气操作
首先,从目标内存中分配一定数量的内存缓冲区,为了不命中LLC,分配的缓冲区要尽可能的大,至少要大于LLC。内存缓冲区拆分成了64字节的cache line。

其次,将cache line缓存线对象链表进行随机排序,这样一来,遍历链表会导致跳转到远处的cacheline对象。

第三,测量遍历所有cache line对象所用的时间,并计算获取cache line的平均延迟。在大多数情况下,CPU在遍历cache line链表时候,如果没有命中LLC会有短暂的暂停,这段时间算作是内存延迟。

测试结果

经测试后,AIST在Paper中表示,目前关于傲腾数据中心持久内存的性能报告很少,傲腾数据中心持久内存与DRAM的性能差距很大,相对于NAND的提升也非常大。以下是一些结论:

测试中,AIST使用的是自己的测试工具,测试发现傲腾数据中心持久内存随机只读延迟大约为374ns,随机写的延迟大约是391ns。只读带宽为38GB/s,写带宽为3GB/s,如果不开启内存交错(memory interleave),性能会差很多。

AIST认为,像大型HPC集群,AI工作负载等将从傲腾持久内存受益良多,但DRAM和傲腾持久内存之间的性能差异给系统软件带来了新的挑战,这也是傲腾推广普及中碰到的最大问题之一。

下图有一个比较清晰的对比:

__20200306120542

DRAM内存和傲腾数据中心持久内存的对比
上图非常直观的对比了DRAM内存和傲腾持久内存的性能差异,延迟上傲腾是DRAM内存的四倍,四倍起码还在一个数量级上。但我们也知道,这比毫秒级别的SSD们可快的多了去了。(1毫秒等于1百万纳秒)

640

傲腾数据中心持久内存开启内存交错和不开启的差别

__20200306120545

计算体系各层级之间的延迟概况(供参考)

由于深入的技术细节很多,为防止误读,专家们最好还是看报告原文吧:

完整版报告

https://arxiv.org/pdf/2002.06018.pdf

目录
相关文章
|
人工智能 人机交互 语音技术
INTERSPEECH2023论文解读|BAT一种低延迟低内存消耗的RNN-T模型
INTERSPEECH2023论文解读|BAT一种低延迟低内存消耗的RNN-T模型
232 0
|
缓存 内存技术
硬件 - CPU 缓存 SRAM 与内存 DRAM 的区别
硬件 - CPU 缓存 SRAM 与内存 DRAM 的区别
325 0
|
存储 NoSQL Linux
如何有效降低产品级内存数据库快照尾延迟
本文讲解内存键值对数据库在使用 fork 拍摄快照时引起的请求尾延迟激增问题如何解决的实践方案。
如何有效降低产品级内存数据库快照尾延迟
|
机器学习/深度学习 存储 人工智能
英特尔推出两款 7nm AI 芯片,内存高达 96GB HBM2e,训练成本更低
当地时间 5 月 10 日,英特尔举办了 2022 英特尔 On 产业创新峰会。在此次峰会上,英特尔公布了其在芯片、软件和服务方面取得的多项进展,并宣布了包括第 12 代英特尔酷睿 HX 处理器家族、阿波罗计划、Greco AI 加速芯片在内的一系列重大发布。
288 0
英特尔推出两款 7nm AI 芯片,内存高达 96GB HBM2e,训练成本更低
|
安全 Java
java内存模型之双重检查锁定与线程安全的延迟初始化
java内存模型之双重检查锁定与线程安全的延迟初始化
117 0
|
测试技术
lmbench内存延迟测试代码分析
lmbench有很多测试集, lat_mem_rd是用来测试内存延迟的 # 使用方法 ./bin/x86_64-linux-gnu/lat_mem_rd 1 16 #./bin/x86_64-linux-gnu/lat_mem_rd 1(范围, 单位M) 16(步长) "stride=16 0.00049 1.584(单位M, 512字节范围内, 步长16访问延迟, 为什么显示
8939 0