[发明专利]对B+树的并行操作有效
申请号: | 201180073146.3 | 申请日: | 2011-08-29 |
公开(公告)号: | CN103765381A | 公开(公告)日: | 2014-04-30 |
发明(设计)人: | J.D.塞瓦尔;C.金;J.楚贾尼;N.R.萨蒂什 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/06 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 姜甜;汤春龙 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并行 操作 | ||
技术领域
本申请涉及数据处理的技术领域,更具体来说,涉及与对B+树并行地执行B+树操作关联的方法和设备。
背景技术
除非本文另加说明,否则本小节中所述的资料不是本申请中的权利要求的现有技术,并且不是通过包含在本小节中而承认是现有技术。
随着对高吞吐量数据库的需求符合移动计算、云计算以及许多台式应用的蓬勃发展,数据库越来越多地用于现代计算系统中。这些影响力迅速推动作为关键服务器应用的数据库系统的使用、大小和重要性。
在许多数据库中,B+树可用作数据库中的索引。例如,B+树可包含许多关键字(key),其中的每个指向数据库中的一组记录。B+树提供对所存储值的有效检索,特别是在具有大量记录的系统中。但是,用于从B+树来检索值并且用于修改树的现有技术不可有效地利用现代并行处理技术和/或能力。
数据库索引中的B+树的并行处理的一种常见方式可使用单独运行的线程,每个线程异步地处理单个查询。但是,异步技术可要求用于修改操作的锁存器(例如对存储器中资源的控制,以防止线程访问相同数据)。另外,异步技术可呈现对检索操作的变化需要。例如,一些异步技术可将不同的锁存器类用于检索和修改操作,而其它异步技术可以不限制检索操作。在两种情况下,许多这类方法可因锁存器的使用而遭受性能损失,从而降低对B+树的并行处理的利用。
附图说明
将通过附图所示的非限制性的示范实施例来描述本发明的实施例,附图中相似的参考标号表示相似的元件,附图包括:
图1是示出按照本公开的多种实施例、对B+树执行B+树操作的批命令或者序列的示例多线程B+树操作模块的框图;
图2是示出按照本公开的多种实施例的多线程B+树处理模块的框图;
图3示出按照多种实施例的示例多线程B+树操作过程;
图4示出按照多种实施例的示例多线程B+树操作划分过程;
图5示出按照多种实施例的示例多线程B+树并行操作过程;
图6示出按照多种实施例的示例多线程B+树并行操作有效再分配过程;
图7a和图7b是示出按照多种实施例、在线程之间的B+树操作的有效再分配的一示例的框图;
图8示出按照多种实施例的另一示例多线程B+树并行操作执行过程;
图9示出按照多种实施例的示例多线程B+树并行节点修改过程;
图10示出按照多种实施例的示例多线程B+树并行节点修改有效再分配过程;
图11示出按照多种实施例的示例多线程B+树根操控过程;以及
图12示出按照多种实施例的示例计算环境。
具体实施方式
本文中公开与并行B+树操作关联的方法、设备和存储介质。在多种实施例中,一种方法可包括由至少多个线程(其由一个或多个处理器核来操作)来识别将要对B+树执行的有序操作序列的多个操作的工作集合(work set)。操作的工作集合是逐个集合无关的(set-wise independent),并且可由线程并行地对B+树的叶节点逐个集合分别执行。工作集合可对应地由线程并行地识别。另外,该方法还可包括由对应数量的线程并行地对B+树的叶节点来执行多个操作的工作集合。此外,该方法可包括由至少多个线程来修改B+树的内部节点,以考虑对B+树的叶节点执行的操作的效果。
在多种实施例中,识别可包括由控制任务来划分有序操作序列,以生成分别与线程关联的有序操作的多个初始子集。在备选实施例中,识别可包括由多个线程从有序操作序列中分别选择有序操作不同的一个或多个来划分有序操作序列,以生成分别与线程关联的有序操作的多个初始子集。
在多种实施例中,识别还可包括由线程在初始集合之间有效地再分配初始集合的有序操作,以便有效地识别逐个集合无关的操作的工作集合。此外,有效再分配以有效地进行识别可包括由线程中的相应线程分别使用操作的相应初始集合来搜索B+树,以便分别识别和生成叶节点的多个初始集合,以供线程分别对其执行操作。另外,有效再分配以有效地进行识别可包括由线程中的相应线程通过分别选择叶节点的多个初始集合的对应集合中的叶节点,至少部分基于叶节点的初始集合,来分别生成多个叶节点的工作集合。线程可具有对应线程标识符(其经过排序),以及由特定线程从对应初始集合中选择的叶节点可以是不在与具有比相应线程的线程标识符要低的线程标识符的线程对应的任何初始集合中的叶节点。逐个集合无关的操作的工作集合可以是与叶节点的工作集合对应关联的有序操作序列的子集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180073146.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:沼气池正负压装置
- 下一篇:保持器及包括其的滚动轴承