基于HTM和NVRAM的内存事务性计算的持久性方法技术

技术编号:14567167 阅读:41 留言:0更新日期:2017-02-06 00:44
本发明专利技术提供了一种基于HTM和NVRAM的内存事务性计算的持久性方法,包括:步骤1:分配NVRAM,并用分配的NVRAM记录HTM执行的事务中修改的数据;步骤2:检查是否需要清理NVRAM,若需要清理,则将该NVRAM的数据写回到磁盘。本发明专利技术利用NVRAM和HTM的特性,使得事务性的程序不需要将数据记录到磁盘即可以返回,这样可以低延迟的实现内存事务计算的持久性。本发明专利技术能够显著降低数据库系统事务执行的延迟,提升数据库系统的资源利用率以及应用服务的性能。

【技术实现步骤摘要】

本专利技术涉及内存数据库事务处理领域,具体地,涉及一种基于HTM和NVRAM的内存事务性计算的持久性方法
技术介绍
数据库事务的持久性是数据库系统的重要特征,直接关系到用户的数据是否会丢失。现有的解决方案主要为将数据写到磁盘中再提交事务。这样所带来的问题是由于磁盘读写具有较高的延迟,这样会显著的增加内存事务计算的延迟。硬件事务性内存HTM(Hardwaretransactionalmemory)是事务性内存计算技术,提供了程序执行的原子性和隔离性。并且HTM非常高效的实现了这些特性。然而HTM并没有提供持久性的支持。持久性内存NVRAM(Non-volatileRAM)为一种新的内存技术,有多种实现,其都保证如果数据被写到该内存中则可确保数据的持久性。由于NVRAM的读写的延迟和传统内存具有相当的延迟,同时比写磁盘要快许多。尽管HTM可以非常高效的执行,然而其工作集合有限制,因此在HTM的执行中无法访问过多的内存。同时,由于NVRAM的大小也有限制,因此如何有效的咋HTM中利用NVRAM来记录事务的修改存在着挑战。由于数据库持久性要求数据最终会被储存在磁盘中,因此仍需要有效的方法将NVRAM记录的日志最终写回到磁盘中。目前,现有的HTM系统通常采用批处理来定期的将事务的修改写到磁盘中来降低磁盘的开销,这样会带来非常高的延迟。而使用NVRAM的数据库系统并没有使用HTM来支持数据库事务的隔离性和原子性,这样相比HTM系统吞吐量并不高。因此如何针对HTM,结合NVRAM,合理设计内存数据库事务持久化方法,减少事务执行的延迟,高效的实现内存数据库事务的持久性实已成为本领域技术人员亟待解决的技术难题。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于HTM和NVRAM的内存事务性计算的持久性方法。根据本专利技术提供的基于HTM和NVRAM的内存事务性计算的持久性方法,包括如下步骤:步骤1:分配NVRAM,并用分配的NVRAM记录HTM执行的事务中修改的数据;步骤2:检查是否需要清理NVRAM,若需要清理,则将该NVRAM的数据写回到磁盘。优选地,所述步骤1包括:步骤1.1:在事务开始前,预先分配NVRAM用来记录事务需要修改的内存数据;若NVRAM不够时,等待清理程序告知有足够的NVRAM后再进行分配;当NVRAM分配完成后标记所用的NVRAM为:不可分配;步骤1.2:事务在进入HTM执行时,当对某些数据进行修改后,将数据的版本号加一,并将数据的版本号和修改后的值记录到预先分配的NVRAM中。优选地,所述步骤2包括:步骤2.1:清理程序定期查看是否有足够的NVRAM可进行分配,若发现没有足够的NVRAM,则将部分标为不可分配的NVRAM的数据写回到磁盘中,并将这些NVRAM标记为可用;步骤2.2:清理程序告知所有等待分配NVRAM的事务开始分配。与现有技术相比,本专利技术具有如下的有益效果:1、本专利技术中的方法利用NVRAM和HTM的使用较低的延迟来实现数据库事务持久性,本方法通过在HTM中把数据记录在NVRAM中,使得在NVRAM中的数据即是已经提交的数据,这样就不需要额外的协议来检查NVRAM的数据是否已经提交,同时不会给事务执行带来额外的延迟,也不需要等待数据被写回到磁盘中再提交事务,从而大大降低事务执行的延迟。2、本专利技术利用可以直接支持使用HTM的内存数据库系统,最大程度的利用硬件所提供的性能优势,这样带来的高效的内存数据库系统具有高吞吐量和低延迟,数据库的整体性能非常好同时还会提升用户的体验。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术中基于HTM和NVRAM的内存事务持久性方法的逻辑流程图;图2为本专利技术中基于HTM和NVRAM的内存事务持久性方法的NVRAM内存分配和回收机制原理图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变形和改进。这些都属于本专利技术的保护范围。本专利技术采用HTM和NVRAM的硬件技术,实现数据库事务系统的持久性。具体地,如图1所示,图1为基于HTM和NVRAM的内存事务持久性方法的逻辑流程图。步骤S1:事务查看是否有足够的NVRAM来进行分配,如果有则标记需要的NVRAM为不可分配;若没有足够的NVRAM,则等待足够的NVRAM被标记为可用后再重新进行分配。步骤S2:事务在使用HTM执行事务时,如果需要对某个数据进行修改,则将这个数据的版本号加1,并且将这个数据的新版本号和新的数据记录到步骤S1分配的NVRAM中。步骤S3:清理程序定期检查是否有NVRAM被标记为需要清理,若有则将该NVRAM中的数据写回到磁盘中,随后再将这块NVRAM标记为可分配,并且通知等待分配的事务开始分配NVRAM。进一步具体的,NVRAM的分配和清理算法如图2所示,所有的NVRAM被分为两个大块,其中每个大块又有许多个小段NVRAM可供分配。其中有一个NVRAM作为当前使用的NVRAM。在步骤S1中每个要执行的事务通过检查当前使用的NVRAM中是否有足够多的小块内存来记录程序将要进行的修改的数据(图2的白色块),如果有则直接将这些小块标记为:不可用(图2的黑色块),并开始执行事务。如果没有则将该大块内存标记为需要清理(图2箭头),同时将当前使用的NVRAM切换为另一个NVRAM大块。如果此时当前使用的NVRAM的标记仍为需要清理,则等待其变为可分配。否则在新的当前NVRAM中进行分配NVRAM,并将分配后的NVRAM标记为:不可分配。清理程序会定期检查当前是否有大块的标记为需要清理。如果有则将其中的数据写到磁盘中,当写磁盘操作完成后再将清理的大块标记为可分配。一次清理工作便完成。综上所述,本专利技术提出的基于HTM和NVRAM的内存事务持久性方法,能够不用等到事务修改的数据被写到磁盘中便可以保证事务的持久性,进而可以更早的提交事务,大大降低内存事务执行的延迟。从而提高内存数据库事务系统的整体性能和用户体验。以上对本专利技术的具体实施例进行了描述。需要理解的是,本专利技术并不局限于上述特定实施方式,本领域技术人员可以在权利要求本文档来自技高网
...

【技术保护点】
一种基于HTM和NVRAM的内存事务性计算的持久性方法,其特征在于,包括如下步骤:步骤1:分配NVRAM,并用分配的NVRAM记录HTM执行的事务中修改的数据;步骤2:检查是否需要清理NVRAM,若需要清理,则将该NVRAM的数据写回到磁盘。

【技术特征摘要】
1.一种基于HTM和NVRAM的内存事务性计算的持久性方法,其特征在于,
包括如下步骤:
步骤1:分配NVRAM,并用分配的NVRAM记录HTM执行的事务中修改的数
据;
步骤2:检查是否需要清理NVRAM,若需要清理,则将该NVRAM的数据写
回到磁盘。
2.根据权利要求1所述的基于HTM和NVRAM的内存事务性计算的持久性方
法,其特征在于,所述步骤1包括:
步骤1.1:在事务开始前,预先分配NVRAM用来记录事务需要修改的内存数据;
若NVRAM不够,则等待清理程序告知有足够的NVRAM后再进行分配;当NVRAM
分配完...

【专利技术属性】
技术研发人员:陈海波陈榕臧斌宇魏星达
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1