摘要

在过去十数年,来自网络与社交网络的图信息量在急剧增长,这种本质上动态变化的图对存储、分析与处理的实时性需求越来越高.新兴的非易失性内存(Non-Volatile Memory,NVM)技术具有高密度、高可扩展性和接近零待机功耗的优点,同时由于字节寻址等特性被认为是替代DRAM的潜在候选者,它们可以满足动态图信息快速增长的存储与处理要求.然而,由于NVM的硬件限制和数据一致性要求,传统动态图数据结构在NVM环境下效率低下.为了解决NVM环境下动态图数据结构存在的读写不对称和耐久性低等问题,本文设计与实现了层级合并排序数组(Level Merge Sorted Array,LMSA),它是一种支持在对数时间内同时完成读与写操作的动态图数据结构,它使用层级数组存储动态图中边信息来提升查询速度与减少因动态图数据结构性质维护而产生的写次数.为了低开销地保证数据一致性,LMSA利用无日志记录一致性方案进行插入、删除和更新等操作.在配置了英特尔傲腾持久内存DCPMM(Intel Optane DC Persistent Memory Module)机器上的实验结果表明,与最新的动态图数据结构Stinger和GraphTinker相比,LMSA插入操作吞吐量是Stinger的4.3~12.6倍,是GraphTinker的1.4~4.35倍,其删除操作吞吐量是Stinger的5.7~20.1倍,是GraphTinker的1.4~4.58倍.