【技术实现步骤摘要】
本专利技术涉及分布式多核内存计算环境下的事务并发控制,特别是涉及一种基于RDMA和HTM的分布式乐观并发控制方法。
技术介绍
分布式多核内存计算为处理超大规模的并发事务提供了便利,其核心在于高效通用的事务并发控制方法。硬件事务内存HTM(Hardware Transaction Memory)和远程内存直接访问RDMA(Remote Direct Memory Access)是两项全新的硬件技术。前者(HTM)提供了单机事务并发控制的硬件支持,具有易于开发人员使用且性能高效的优势,但仅限于单机环境。后者(RDMA)提供了由网卡访问远端机器内存的硬件支持,绕过了远端机器的处理器,具有高吞吐量和低延迟的优势,但提供的通信操作较为简单,难以直接表达复杂的分布式事务。如何利用全新的硬件技术(HTM和RDMA),设计合理的软件控制方法以支持分布式并发事务是一项极具挑战又颇为实用的技术难题。目前同时利用两项硬件技术(HTM和RDMA)支持分布式并发事务控制的工作普遍使用了两阶段锁的方法。其主要包含三个阶段:1.在事务开始前根据需要访问的数据集,用RDMA将远端数据读回本地并加锁;2.在本地HTM的保护下单机执行整个事务;3.事务执行成功后用RDMA将远端数据的结果写回并放锁。采用两阶段锁的控制方法虽然很好的利用了两项硬件技术并达到了较好的性能,但是其缺点是:1.在事务开始之前需要预先知道访问的数据集,这不仅增加了事务编写人员的工作量,而且对于数据集无法预先确定,只有在运行时才可知的一类事务,这种方法变得不可行;2.现有的HTM硬件(如Intel的RTM)通常对事务的 ...
【技术保护点】
一种基于RDMA和HTM的分布式乐观并发控制方法,其特征在于,不需要预先获取事务访问的数据集,不需要预先对事务进行切分,采用乐观并发控制与锁保护相混合的机制,将事务的运行分为事务的执行阶段和事务的提交阶段,分别包括以下步骤:a.事务的执行阶段步骤S1:获取事务需要读取的本地数据并保证数据的一致性;步骤S2:获取事务需要读取的远端数据并保证数据的一致性;步骤S3:动态维护事务的读写集合,所述事务的读写集合包括本地读集合、远端读集合、本地写集合和远端写集合;b.事务的提交阶段步骤A1:对事务涉及的远端数据进行锁保护,对远端读集合的数据进行验证;步骤A2:采用乐观并发控制对事务涉及的本地数据进行验证和提交;步骤A3:对事务涉及的远端数据进行提交并解除锁保护。
【技术特征摘要】
1.一种基于RDMA和HTM的分布式乐观并发控制方法,其特征在于,不需要预先获取事务访问的数据集,不需要预先对事务进行切分,采用乐观并发控制与锁保护相混合的机制,将事务的运行分为事务的执行阶段和事务的提交阶段,分别包括以下步骤:a.事务的执行阶段步骤S1:获取事务需要读取的本地数据并保证数据的一致性;步骤S2:获取事务需要读取的远端数据并保证数据的一致性;步骤S3:动态维护事务的读写集合,所述事务的读写集合包括本地读集合、远端读集合、本地写集合和远端写集合;b.事务的提交阶段步骤A1:对事务涉及的远端数据进行锁保护,对远端读集合的数据进行验证;步骤A2:采用乐观并发控制对事务涉及的本地数据进行验证和提交;步骤A3:对事务涉及的远端数据进行提交并解除锁保护。2.根据权利要求1所述的基于RDMA和HTM的分布式乐观并发控制方法,其特征在于,在事务的执行阶段,所述步骤S1,包括如下步骤:使用HTM保护事务本地数据的读取操作,读取内容包括数据值本身和数据的序列号,并在HTM中检查数据是否处于锁保护的状态,如果是,则调用HTM硬件提供的中断指令中断这次操作,回滚读取的内容,重新尝试;如果不是,则正常的进行读取操作。3.根据权利要求2所述的基于RDMA和HTM的分布式乐观并发控制方法,其特征在于,每个数据分别具有独立的序列号,对数据的序列号的维护发生在事务的提交阶段。4.根据权利要求1所述的基于RDMA和HTM的分布式乐观并发控制方法,其特征在于,在事务的执行阶段,所述步骤S2,包括如下步骤:使用RDMA读指令执行事务远端数据的读取操作,检查读取的数据在各缓存行上的版本号是否一致,如果不一致,则抛弃读取的内容,重新尝试;如果一致,则正常的进行读取操作。5.根据权利要求4所述的基于RDMA和HTM的分布式乐观并发控制方法,其特征
\t在于,数据在缓存行粒度级别上分别具有独立的版本号,数据在各缓存行上的版本号的维护发生在事务的提交阶段。6.根据权利要求1所述的基于RDMA和HTM的分布式乐观并发控制方法,其特征在于,在事务的执行阶段,所述步骤S3,包括如下步骤:对于本地读集合的维护发生于步骤S1的开始和结束,在步骤S1开始前检查本地读集合,如果需要读取的内容已经出现在本地读集合内,则直接返回本地读集合中的内容,否则在完成步骤S1后,将读取的内容加入到本地读集合;对于远端读集合的维护发生于步骤S2的开始和结束,在步骤S2开始前检查远端读集合,如果需要读取的内容已经出现在远端读集合...
【专利技术属性】
技术研发人员:陈榕,陈海波,臧斌宇,陈彦哲,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。