[发明专利]一种基于特定索引结构的高效调度算法在审
申请号: | 202010979603.6 | 申请日: | 2020-09-17 |
公开(公告)号: | CN112181617A | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 吴刚;赵国栋;宋一东;杨静磊;崔锴倩;李雪玉;乔百友;韩东红;王波涛;刘辉林 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/54 |
代理公司: | 北京君泊知识产权代理有限公司 11496 | 代理人: | 李丹 |
地址: | 110000 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 特定 索引 结构 高效 调度 算法 | ||
本发明公开了一种基于特定索引结构的高效调度算法,由一个特殊的布隆过滤器和每个过滤器元素对应的事务队列组成,所述布隆过滤器和事务队列组成特殊的索引结构,其分别进行高效的依赖检测和保留必要的依赖信息,通过布隆过滤器,在一定时间内检测出事务之间的依赖关系,事务队列具有保持总顺序关系和简化依赖关系图的特性,借助于索引结构,调度器支持记录粒度锁,从而支持并发事务调度操作。本发明提出的方法高效的解决了依赖图调度中由于基于两两比较而调度开销过大导致的性能损失问题,保证了在各种依赖率工作负载下的并行执行能力,正式证明了副本调度与其他调度安全的一致性,调度器比对比方法具有更高的效率、可扩展性和健壮性。
技术领域
本发明涉及状态机复制技术领域,尤其涉及一种基于特定索引结构的高效调度算法。
背景技术
状态机复制(SMR)是一种设计容错服务的基本方法。然而,它对事务确定性执行的要求常常导致副本成为单线程模型,不能完全利用当今处理器的多核处理能力。因此,并行SMR成为近年来研究的热点。其基本思想是,独立事务可以并行执行,而相互依赖的事务必须以相对顺序执行,以确保副本之间的一致性。基于依赖检测的并行SMR方法要么是成对比较要么是batch比较,它们不能同时保证高效的依赖检测的和事务的并行执行能力。除此之外,这些方法的调度器的执行过程也不能并行执行,进一步增加了主要由依赖检测带来的调度开销,为了进一步降低调度开销同时保证事务的并行执行程度,为此,提出一种基于特定索引结构的高效调度算法。
发明内容
本发明提出的一种基于特定索引结构的高效调度算法,解决了上述背景技术中提出的问题。
为了实现上述目的,本发明采用了如下技术方案:
一种基于特定索引结构的高效调度算法,由一个特殊的布隆过滤器和每个过滤器元素对应的事务队列组成,所述布隆过滤器和事务队列组成特殊的索引结构,其分别进行高效的依赖检测和保留必要的依赖信息,通过布隆过滤器,在一定时间内检测出事务之间的依赖关系,事务队列具有保持总顺序关系和简化依赖关系图的特性,借助于索引结构,调度器支持记录粒度锁,从而支持并发事务调度操作。
优选的,所述索引结构和相应的并发调度设计方法如下:
索引结构的主要部分是由单个hashmap构造的简化版的布隆过滤器,hashmap的每个键表示事务访问的一条记录/record,在不实际构造和遍历依赖关图的情况下,当事务被映射到布隆过滤器同一个位置时,确定事务之间的依赖关系;
hashmap的每个键对应的值/value是一个FIFO队列,其中包含访问该键记录的所有事务,hashmap的所有事务队列头部的事务都可以并行执行;
采用特殊的索引结构,非常自然的使调度器支持record粒度锁的并发调度过程,并可以同时保证调度的安全性和正确性。
优选的,所述事务由若干命令和record组成,将事务集合OT的全序表示为(T,T),其中T={t_i|i=1,2…},T;令表示事务ti的所有record的集合,表示所有访问记录rj的事务集合。
优选的,所述布隆过滤器是由单个hashmap构造的,尽管布隆过滤器通常由多个散列函数组成,但这里唯一使用了hashmap中的hash函数,原因是的布隆过滤器不仅用于检测依赖性,还用于根据访问的记录对事务队列进行索引,其通过让record作为要散列的key,让所有事务作为value来实现的,因此,对于事务t来说,查找与其record有关的所有依赖事务的时间复杂度为0(1)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010979603.6/2.html,转载请声明来源钻瓜专利网。