论文部分内容阅读
高效的数据存储和实时分析处理是大数据时代的迫切需求,基于硬盘的传统存储系统由于巨大的访问延迟无法提供及时的响应,内存计算技术将工作数据存储在大容量内存中进行数据处理,减少甚至避免I/O请求,极大提高了大数据处理能力。但是由于“存储墙”和“功耗墙”问题,基于DRAM的内存系统依然难以满足大数据应用日益增长的大容量高性能低能耗存储需求。此外DRAM是易失的,数据的持久存储还需要依赖外存,无法完全避免高延迟的I/O请求,而且DRAM存在能耗高、存储密度低、需要刷新操作等诸多不足。针对传统存储技术的不足,新型非易失内存为内存计算技术提供了重要机遇。新型非易失存储介质普遍具有大容量、低静态功耗和非易失性等优良特性,但是如何高效地保证持久性内存的数据一致性,如何充分利用新型非易失内存的特性等问题,仍然需要深入的研究。
本文围绕内存计算技术的诸多挑战,针对存储体系结构方面的关键技术展开研究,主要工作和创新点如下:
(1)面向内存数据库索引访问的路径预取机制。针对内存数据库有序索引访问导致大量的缓存失效的问题,基于有序索引中相邻键值查找遵循相似的遍历路径的发现,提出了路径预取机制。通过记录索引键值与遍历路径之间的映射关系,当相同或相邻的索引键值再次被查找时,由记录的映射信息准确地指导预取请求的生成。本工作在缓存控制器中设计了路径预取器,提出了部分命中的概念以支持为相邻键值的查找生成预取,并提出了有效的更新映射信息的机制,以反映索引结构的变化。实验结果表明,对于有序索引查找,路径预取以较小的存储开销,性能提升27.4%,而且路径预取比传统的预取机制具有更好的可扩展性,对于实际的大规模工作负载具有更好的加速效果。
(2)持久性内存高效的数据一致性机制。持久性内存支持数据的持久化存储,因此需要保证数据的一致性。内存持久性理论提出了strand持久性模型,将持久化操作的顺序限制大幅降低,但是没有具体的系统实现方案。本工作首先扩展了strand持久性模型,通过保证strand的原子性,进一步消除strand内部持久化操作的顺序限制,并基于该扩展模型提出了具有高效数据一致性保证的持久性内存系统。实验表明相对于此前最优的持久性内存系统有6.6%的性能提升,并且性能超过没有一致性保证的系统。此外,由于strand缓冲区的写合并作用,持久性内存的数据写入量下降了30%。
(3)支持行和列访问的非易失内存系统。针对大多数非易失内存支持的具有对称性的交叉阵列结构,本工作设计实现了同时支持行和列访问的非易失内存架构RC-NVM,加速具有行列混合访存模式的应用。本工作设计了RC-NVM的架构和专门的访存请存调度器,并且优化缓存架构以高效地解决缓存数据同义和一致性问题。本工作还重点介绍了内存数据库在RC-NVM系统上的部署方案,并针对宽域和跨域访问问题提出了组缓存优化技术。实验结果表明以10%的面积开销,内存数据库的访存性能最大可以提高14.5倍。对于通用矩阵乘法,RC-NVM可以自然地支持单指令多数据SIMD操作,相对于最优的软件加速方法性能提升了19%。
本文围绕内存计算技术的诸多挑战,针对存储体系结构方面的关键技术展开研究,主要工作和创新点如下:
(1)面向内存数据库索引访问的路径预取机制。针对内存数据库有序索引访问导致大量的缓存失效的问题,基于有序索引中相邻键值查找遵循相似的遍历路径的发现,提出了路径预取机制。通过记录索引键值与遍历路径之间的映射关系,当相同或相邻的索引键值再次被查找时,由记录的映射信息准确地指导预取请求的生成。本工作在缓存控制器中设计了路径预取器,提出了部分命中的概念以支持为相邻键值的查找生成预取,并提出了有效的更新映射信息的机制,以反映索引结构的变化。实验结果表明,对于有序索引查找,路径预取以较小的存储开销,性能提升27.4%,而且路径预取比传统的预取机制具有更好的可扩展性,对于实际的大规模工作负载具有更好的加速效果。
(2)持久性内存高效的数据一致性机制。持久性内存支持数据的持久化存储,因此需要保证数据的一致性。内存持久性理论提出了strand持久性模型,将持久化操作的顺序限制大幅降低,但是没有具体的系统实现方案。本工作首先扩展了strand持久性模型,通过保证strand的原子性,进一步消除strand内部持久化操作的顺序限制,并基于该扩展模型提出了具有高效数据一致性保证的持久性内存系统。实验表明相对于此前最优的持久性内存系统有6.6%的性能提升,并且性能超过没有一致性保证的系统。此外,由于strand缓冲区的写合并作用,持久性内存的数据写入量下降了30%。
(3)支持行和列访问的非易失内存系统。针对大多数非易失内存支持的具有对称性的交叉阵列结构,本工作设计实现了同时支持行和列访问的非易失内存架构RC-NVM,加速具有行列混合访存模式的应用。本工作设计了RC-NVM的架构和专门的访存请存调度器,并且优化缓存架构以高效地解决缓存数据同义和一致性问题。本工作还重点介绍了内存数据库在RC-NVM系统上的部署方案,并针对宽域和跨域访问问题提出了组缓存优化技术。实验结果表明以10%的面积开销,内存数据库的访存性能最大可以提高14.5倍。对于通用矩阵乘法,RC-NVM可以自然地支持单指令多数据SIMD操作,相对于最优的软件加速方法性能提升了19%。