一种分布式持久性内存文件系统的一致性机制
2020-03-21陆游游陈游旻屠要峰舒继武
陈 波 陆游游 蔡 涛 陈游旻 屠要峰 舒继武
1(江苏大学计算机科学与通信工程学院 江苏镇江 212013) 2(清华大学计算机科学与技术系 北京 100084) 3(中兴通讯股份有限公司 南京 210012)(chenbo_9312@163.com)
近年来,新兴的非易失存储器[1-3](non-volatile memory, NVM)具有字节可寻址、非易失、存储密度高和访问延迟低等特性,其通过内存总线连接CPU的NVM形态也被称为持久性内存(persistent memory, PM).NVM的出现重新定义了计算机体系结构中易失性与非易失性的界限,以往由系统软件保障的数据一致性转变为由CPU硬件保障.另一方面,远程直接内存访问(remote direct memory access, RDMA)因其高速、超低延时、零拷贝和内核旁路的网络传输特性,逐渐被应用到数据中心.RDMA可以实现应用程序间点对点的通信,同时避免了上下文切换、冗余内存拷贝和内核网络协议栈等开销.持久性内存和RDMA的出现为构建新型存储系统[4-12]提供了新的机遇.
持久性内存和RDMA具有的新特性对存储系统的一致性设计提出了2项挑战:1)现代处理器利用多核和内部缓存来提高整体运行速度,通常采用乱序执行技术,导致最终写入内存的数据并非是预期的结果,针对持久性内存会出现数据一致性的问题.此时,为了将数据顺序地写入持久性内存,CPU需要主动执行数据刷写指令,然而此过程开销高昂,降低CPU的处理能力,影响持久性内存和RDMA的性能优势;2)RDMA的通讯过程需要注册内存,且提供了单向原语可以绕过服务器端CPU直接读写已注册的内存.为了性能考虑,RDMA会将数据先写入至末级高速缓存,由于CPU不能……
