非易失内存NVM一致性(Consistency)问题研究(1)

本文探讨了非易失内存NVM在内存管理中的一致性问题,特别是由于内存级重排序导致的Crash Consistency和Reordering Consistency挑战。在NVM和DRAM混合架构中,CPU和缓存的乱序操作可能导致持久性数据结构的不一致状态,一旦出现故障,这些不一致状态将在系统恢复后保留,影响系统正确性。文章通过实例解释了这个问题,并预告了后续将深入讨论仅由故障引起的一致性问题。
摘要由CSDN通过智能技术生成

写在前面

现在团队项目基于NVM的内存管理走到了一个瓶颈区,我的着眼点逐渐迁移到持久内存的一致性问题上来。关于NVM的相关基础知识,我在之前的博客中有过不少介绍,比如一种新型内存SCM(Storage Class Memory)的简单介绍一种新型内存(SCM)的简单应用思考。一致性历来是做存储系统(比如文件系统,数据库系统)的重中之重,但却一直不是内存管理方面的重点,然而在引进NVM到内存管理中却又使之成为一个不能不解决的关键问题。那么这种来龙去脉到底是什么呢?该如何定义这个一致性问题呢?

NVM中的一致性问题

首先介绍关于现代计算机系统的一个基本事实:内存级reordering。

  • 什么叫reordering呢?简单来说就是数据乱序输出。
  • 从哪里输出到哪里呢?数据会从cache乱序输出到memory。
  • 这个乱序会造成什么问题吗?对于传统的DRAM-DISK架构来说,不会。因为在机器不故障的情况下,乱序执行的数据最终可以达到一致状态;而一旦故障发生在中间某个环节,由于DRAM是易失内存,因此重启时存储在DRAM中的数据会全部丢失,也就无所谓一致不一致了。
  • 那么数据从DRAM到DISK也会有reordering过程吗?并不会,因为DISK是DRAM的后备存储器,所以无论是CPU还是cache的reordering过程都不会
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值