论文部分内容阅读
一方面,在现在基于网络互连的数据中心技术中,一种名为RDMA(Remote Direct Memory Access,远程直接内存访问)的网络访问技术已被广泛地使用。这种网络访问技术可以绕过传统网络访问栈中CPU参与的部分,直接访问远程机器的内存,从而大大提升网络访问的速度。另一方面,一种新型的被称为NVM(Non-Volatile Memory,非易失性内存)内存技术也引起了学术界及工业界的注意,这种新型内存可以在保证传统内存特性的条件下(如按位访问及较高的访问速度等),还拥有非易失性,亦即在断电的情况下所保存的数据并不会丢失。此外,它的价格更便宜,容量密度更大。因此,NVM可以作为内存设备,部分替代或完全替代数据中心中的内存、硬盘,以提供更大的容量以及更高的运算速度,在学术界及工业界掀起了研究热潮。近来,更进一步发挥RDMA性能的一些研究也渐渐出现。这些研究注重发挥RDMA单边访问的特性,在保证正确性的同时,通过改造原有的数据、算法结构以直接访问数据,而非通过消息传递的方式访问,以获取更快的访问速度,这种新型的网络访问模式可以称作服务器旁路的访问模式。然而,如此运用RDMA的单边访问存在并发访问的问题,此前的研究者为解决此问题做出了许多妥协。此外,将RDMA和NVM这两种技术相结合在一起的研究也开始出现。这种研究同样也运用了RDMA单边访问的特性,期望能快速远程访问NVM。不过,将RDMA的单边访问运用到NVM上时,将会出现NVM一致性的问题,由于RDMA单边访问的特殊性及NVM的非易失性,这个问题目前学术界并没有很好的解决方案。在本论文中,我们针对RDMA对NVM的单边访问所产生的并发问题及一致性问题做出研究,提出了一个新型的、用于RDMA访问远程NVM的、基于服务器旁路这种访问模式的框架,并称之为“Forca”。这个框架可以同时提供高并发性以及远程数据的崩溃一致性。Forca中设计了一个优化的日志结构访问机制以消除远程的原地更新,可以同时去除RDMA单边访问中的并发数据竞争的影响以及为每次远程更新提供原子性。在本研究将Forca被实现为一个通用的远程访问模块,以支持不同网络系统的使用需求。在实验中,我们使用Forca构建了一个键值对(key-value)存储系统,并以此为基础衡量Forca的性能。实验结果表明,Forca拥有比最先进类似技术更高的吞吐量,在高并发场景下优势可达1.4倍;同时,它的崩溃一致性机制仅带来14.7%到19.1%的时间性能开销。