persistent-memory相关内容

英特尔的 CLWB 指令使缓存行无效

我正在尝试为 Intel 的 clwb 指令找到不会使缓存行无效的配置或内存访问模式.我正在使用 NVDIMM 对 Intel Xeon Gold 5218 处理器进行测试.Linux 版本是 5.4.0-3-amd64.我尝试使用 Device-DAX 模式并直接将此字符设备映射到地址空间.我还尝试将此非易失性内存添加为新的 NUMA 节点,并使用 numactl --membind 命令将内存 ..
发布时间:2022-01-06 12:56:14 其他开发

clwb+sfence,如果写入是缓存行对齐的,我们可以删除 sfence 吗?

根据 clwb 订购信息(link), "CLWB 指令仅由存储防护操作排序.例如,软件可以使用 SFENCE、MFENCE、XCHG 或 LOCK 前缀指令来确保以前的存储包含在回写中.CLWB 指令不需要由另一个 CLWB 或 CLFLUSHOPT 指令命令.CLWB 与由逻辑处理器执行的旧存储隐式排序到相同的地址." 如果 Intel X86-64 上的操作集如下,我可以删除“围 ..
发布时间:2021-09-29 19:40:39 其他开发

(Persistence) 将 Intel 非临时存储排序到同一高速缓存行

非临时存储(例如movnti),到同一线程发出的同一缓存行,是否按程序顺序到达内存? 因此,对于具有 NVRAM 的系统(例如具有英特尔 3D XPoint NVRAM 的英特尔 Cascade Lake 处理器),在发生崩溃时,缺少重新排序保证了写入的 前缀相同的缓存行占优势? 解决方案 假设非临时存储的解析内存类型是 WC(或 WC+),这就是我认为您要问的问题,答案是大多数情况 ..

持久性内存缓存策略以进行读写

是否有人在尝试使用当我测试AEP内存时,我发现重复刷新一条缓存行比刷新不同的缓存行具有更高的延迟.我想知道造成这种现象的原因.是英特尔论坛上的损耗平衡机制吗?这表明重复写入同一缓存行可能比您预期的还要糟糕. 我认为,UC还意味着强大的命令性,这会伤害OoO执行人员.我认为UC还会阻止您使用NT存储进行全行写入.它还会完全破坏读取性能,所以我认为这不值得考虑. WT也许值得考虑作为 clwb ..

英特尔非临时存储到同一高速缓存行的排序

由同一线程发出的非临时存储(例如movnti)是否到达同一高速缓存行(由同一线程发出)?因此,对于具有NVRAM的系统(例如具有Intel 3D XPoint NVRAM的Intel Cascade Lake处理器),在发生崩溃的情况下,缺少重新排序可确保写入同一缓存行的前缀占上风? 解决方案 假定非临时存储的已解析内存类型是WC(或WC +),这就是我想问的问题,答案是大多不在Intel ..

为什么"movnti"后面加上"sfence"可以保证持久的顺序?

SFENCE防止NT存储从前面的存储缓冲区中提交SFENCE本身. NT存储数据直接从存储缓冲区. 因此,SFENCE仅能保证进入LFB的数据的顺序. 例如, movnti;sfence;搬到另一个地址; 此处的SFENCE只能保证第一个NT存储区将早于下一个NT存储区提交给LFB.但是,由于LFB是易失性的,因此数据尚未持久.进入LFB的数据是否会按照输入顺序持久保存? ..

在x86-64上,是"movnti"或"movntdq".系统崩溃时的指令原子?

使用像Intel optane DCPMM这样的永久性内存时,如果在执行movnt指令时系统崩溃(断电),重启后是否有可能看到部分结果? 针对: 4或8字节的 movnti ,x86可以保证原子用于其他目的吗? 16字节SSE movntdq / movntps 不能保证是原子的,但实际上可能在支持持久性内存的CPU上. 32字节AVX vmovntdq / vmovntps 6 ..
发布时间:2021-04-12 19:21:46 其他开发

为什么x86中存在CLFLUSH?

我最近了解了行锤攻击.为了进行这种攻击,程序员需要为特定数量的地址刷新CPU的完整缓存层次结构. 我的问题是:为什么在x86中必须 CLFLUSH ?如果所有L *高速缓存均透明地起作用(即不需要显式的高速缓存失效),那么使用该指令的原因是什么?除此之外:CPU难道不可以推测内存访问模式,从而完全忽略指令吗? 解决方案 我认为主要用例是非易失性DIMM ,尤其是英特尔的Optane ..

英特尔的CLWB指令使缓存行无效

我正在尝试为Intel的 clwb 指令查找配置或内存访问模式,该配置或内存访问模式不会使高速缓存行无效.我正在使用NVDIMM的Intel Xeon Gold 5218处理器进行测试. Linux版本是5.4.0-3-amd64.我尝试使用Device-DAX模式并将此char设备直接映射到地址空间.我还尝试将此非易失性存储器添加为新的NUMA节点,并使用numactl --membind命令将 ..
发布时间:2020-08-05 20:39:02 其他开发

对Intel Optane DC SSD用作IMDT的额外RAM感到困惑吗?

我对Intel Optane DC感到有些困惑. 我希望我的Optane DC能够兼做DRAM和存储. 一方面,我了解到只有"Intel Optane DC持久性内存DIMM"能够用作DRAM.这是因为他具有2种模式(“内存"模式和“应用程序直接模式"). 另一方面,在此链接中: https://www.intel.com/content/www/us/en/products/docs/memor ..