[发明专利]一种基于混合RDMA操作的分布式并发控制方法及系统有效
申请号: | 201810333653.X | 申请日: | 2018-04-13 |
公开(公告)号: | CN108710638B | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 陈榕;董致远;陈海波;臧斌宇;管海兵 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F9/52 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 庄文莉 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 混合 rdma 操作 分布式 并发 控制 方法 系统 | ||
本发明提供了一种基于混合RDMA操作的分布式并发控制方法及系统,在读取远端地址已被缓存的数据、远端数据时间戳以及向远端写入事务日志时,使用RDMA的单边操作;在读取远端地址未被缓存的数据、申请远端数据锁、提交远端事务、释放远端数据锁时,使用RDMA的双边操作。与现有技术相比,本发明根据分布式并发控制协议中不同步骤的特征,针对性地使用适合的RDMA操作完成对于远程数据的访问,通过混合使用RDMA操作优化分布式并发控制过程中网络硬件和处理器硬件的使用效率。
技术领域
本发明涉及分布式控制领域,具体地,涉及一种基于混合RDMA操作的分布式并发控制方法及系统。
背景技术
当下,服务器内存的价格已经足够支持将数据库中的数据全部存储在内存中,以达到数据高效存取的目的。与此同时,远程直接内存存取RDMA(Remote Direct MemoryAccess,远程直接内存访问)成为了数据库内部服务器间通信的主要协议。相比于传统的TCP/IP协议,RDMA可以绕过TCP/IP协议繁复的软件栈,避免多次内存拷贝并且无需占用远端中央处理器CPU(Central Processing Unit)处理资源,将网络处理工作交由网卡硬件处理,因而拥有延迟低,吞吐量高的特点。
RDMA的操作根据语义可以分为两类。第一类是单边操作(One-Sided),第二类是双边操作(Two-Sided)。单边操作可以让本地服务器直接读写远端服务器的内存,并且无需远端服务器的CPU的处理,因而性能非常高。由于单边操作需要在服务器间建立一对一的连接,在大规模分布式系统中,每一台服务器都需要建立多个连接,而网卡能够同时缓存的连接数是有限的,那么过多的连接就有可能造成较差的可扩展性;双边操作与TCP的Send/Recv接口类似,需要远端服务器的CPU处理相关请求,服务器间的数据传输也仍然能够享受RDMA的高性能特性。由于需要远端服务器CPU处理请求,双边操作性能会比单边操作略低,但双边操作采用数据报的形式发送消息,因此可以建立一对多的连接,避免了单台服务器上的连接数过多的问题,因而拥有更好的可扩展性。
目前,许多分布式事务处理系统采用乐观并发控制(Optimistic ConcurrencyControl)的方式来保证事务间的一致性。这么做的假设是,乐观地认为事务间不会频繁发生读写冲突,在实际更新某个值时再申请互斥锁,对于读请求则不加锁,可以进一步提高事务间的并行性,从而提升性能。在乐观并发控制中,每个步骤的场景都略有不同,在不同步骤下也会有不同的实现,应该使用RDMA的单边操作还是双边操作来实现乐观并发控制是一个非常重要的问题。
以读取远端数据为例,在分布式系统中数据一般会存储在数据结构如哈希表或树状结构中,使得找到一个数据的读取操作总是大于等于一次的。在这种情况下,使用单边操作虽然能够节省远端CPU资源,但是会加大网络的往返次数。而且,一次单边操作只能操作一段连续的内存区域,对于内存中不连续的多个数据,就需要发起多次单边操作来读取;而使用双边操作,以远程过程调用RPC(Remote Procedure Call)的方式来发送读数据请求,只要将对不同数据的读操作合并在一个请求中,就仅会有一次网络往返,用于发送请求和回复结果,而读取数据的工作会交由远端服务器CPU来处理,降低了网络层的延迟。
现如今,还没有一个统一的定论阐述——并发控制的不同步骤应该用何种RDMA操作。先前基于远程直接内存存取的分布式事务处理系统工作,它们的并发控制或是在所有步骤全部采用单边操作,或是全部采用双边操作。这两种单一的RMDA实现都不能做到:根据并发控制的不同阶段场景,有针对性地选取合适的RDMA操作。
因此,先前的工作对基于远程直接内存存取的分布式事务处理系统的并发控制实现研究并不深入,还有一定的空白。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于混合RDMA操作的分布式并发控制方法及系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810333653.X/2.html,转载请声明来源钻瓜专利网。