当前位置: 首页 > 专利查询>SAP股份公司专利>正文

并行化查询的多核调度制造技术

技术编号:4123799 阅读:344 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供并行化查询的多核调度系统和方法。操作符管理器可以配置成确定可用核的数量并且在查询的多个操作符中分配核,该操作符包括操作符的运行中集合,存在通过该集合的多个查询路径。操作符管理器可以包括:状态监视器,配置成用于确定可用核的数量并且用于确定操作符的运行中集合;关键路径选择器,配置成用于从查询路径中确定查询的关键路径以及操作符的运行中集合;以及工作量管理器,配置成给运行中集合以及关键路径的运行中的操作符分配可用核的第一个核,并且此后从关键路径选择器接收新关键路径并且给新关键路径的运行中的操作符分配可用核的第二个核。

【技术实现步骤摘要】

本说明书涉及并行化查询执行的多核查询调度。
技术介绍
大型数据库和其他软件应用的大小在该应用的使用上可能是一个限制因素,特别 是当应用/数据的查询和其他操作本身很长并且很复杂时。例如,用户可能想要发布一个 复杂的查询以便从具有成千上万个记录的相关数据库中获得结果,在这种情况下,提供相 应查询结果的响应时间可能长得难以接受。此外,该情况可能促使可用计算资源的无效使 用,例如,通过允许一个用户相对其他当前用户过度地消耗该资源。作为减轻该问题的方法,多核(例如,多个CPU)计算系统的使用方便了并行查询 执行的发展。例如,通过使用两个可用核,可以相互并行地计算多个查询(和/或它的多个 部分)。从而,例如,两个等效的查询可以在小于执行其中之一应当花费的时间的双倍时间 内执行。然而,难以采用有效的或最佳的方式实现这样的并行查询的实施。例如,存在与多 个核分摊/分配多个查询相关联的成本,以及与重新结合或合并查询结果相关联的成本。 例如,根据讨论中的查询的性质以及并行化的程度,这些成本可能限制并且可能最终压制 或掩没并行化的好处。而且,一个或多个正在运行的查询的运行时环境的复杂性和不可预见性可能加剧 多核并行查询处理的难度。例如,即使在讨论中的查询(或多个查询)的运行时之前将并 列查询的可接受计划公式化,也可能发生以下情况可能发生降低所计划的查询调度的功 效或愿望的运行时事件(例如,当处理核具有远大于或远小于预期的运行时可用性时)。因此,并行化查询(或它的部分)的多核处理的有效调度是一个困难以及重大挑 战。在这点上的失败可能非常限制可用计算资源的效率以及可用人力资源的生产力。
技术实现思路
根据一个一般方面,包含记录在计算机可读介质上的指令的系统可以包括操作 符管理器,其被配置成用于确定可用核的数量并且在查询的多个操作符之间分配核,存在 通过含有操作符的运行中集合的操作符的多个查询路径。操作符管理器可以包括状态监 视器,配置成用于确定可用核的数量并且确定操作符的运行中集合;关键路径选择器,配置 成用于从查询路径以及操作符的运行中集合中确定查询的关键路径;以及工作量管理器, 配置成给运行中集合以及关键路径的运行中的操作符分配可用核的第一个核,并且此后从 关键路径选择器接收新关键路径并且给该新关键路径的运行中的操作符分配可用核的第 二个核。实施方式可以具有一个或多个以下特征。例如,关键路径选择器可以配置成确定 关键路径,包括对每个查询路径的操作符的操作符执行时间总计以及之后选择具有最大的 查询路径总计执行时间作为关键路径。关键路径选择器可以配置成通过在为运行中集合以及关键路径的运行中的操作符分配第一个核之后,为每个查询路径重新计算总计操作符执 行时间并且选择具有最大的查询路径总计执行时间的新关键路径来确定新关键路径。关键 路径选择器可以配置成确定新关键路径,包括在给运行中集合以及关键路径的运行中的操 作符分配第一个核之后,为每个查询路径计算总计操作符执行时间;确定潜在的关键路径 用于给运行中集合以及潜在的关键路径的运行中的操作符分配第二个核,该潜在的关键路 径具有最大的查询路径总计执行时间;根据工作量管理器确定给运行中集合以及潜在的关 键路径的运行中的操作符分配第二个核将不会提供它的执行时间上的净利益;并且确定具 有第二大的查询路径总计执行时间的新关键路径。工作量管理器可以配置成分配第一个核,包括确定运行中集合以及关键路径的运 行中的操作符的减函数,第一个核的分配将导致它的执行时间的净减。操作符管理器可以 配置成继续给查询路径的运行中的操作符分配可用的核,直到工作量管理器根据运行中的 操作符的减函数确定给任何运行中的操作符分配任何可用核都不会导致它的执行时间的 减少为止。状态监视器可以配置成检测状态的变化,包括新的可用或不可用核、查询的运行 中的操作符的开始或完成,并且可以配置成根据状态的变化停止或开始操作符管理器的操 作。系统可以包括配置成确定包括所述查询的多个查询的查询管理器,其中该查询管 理器包括查询选择器,配置成确定可用核的总数量以及配置成给操作符管理器分配可用 核的总数量的可用核用于通过所述核并行处理查询;以及查询监视器,配置成监视多个查 询以便确定它们的状态。在这种情况下,查询选择器可以配置成确定与多个查询相关联的树的形状并且根 据树的形状和可用核的总数量确定多查询处理算法。查询选择器可以配置成实施包括剩 余时间最短任务优先(SRJF)算法的多查询处理算法,根据该算法查询监视器从多个查询 中选择用最短剩余时间来完成的查询,并且查询选择器给该查询分配可用核以便由操作符 管理器在它的并行处理中使用。查询选择器可以配置成实施包括利益驱动平衡关键路径 (BD-BCP)算法的多查询处理算法,根据该算法执行循环赛,在该循环赛中查询监视器从多 个查询中根据向它分配核的经验选择具有最大利益的查询,并且查询选择器给该查询分配 第一个核,随之继续该循环赛,查询监视器根据从多个可用核向它分配核的经验选择具有 下一个最大利益的下一个查询。根据另一个一般方面,一种计算机实现的方法可以包括确定含有多个操作符的 查询,该操作符包括操作符的运行中集合,存在通过该集合的多个查询路径;确定可用核的 数量,根据多个查询路径的每一个的总计执行时间确定多个查询路径的关键路径;给运行 中集合以及关键路径中的第一操作符分配第一个可用核;根据该分配确定通过多个查询路 径的新关键路径;以及给运行中集合以及新关键路径中的第二操作符分配第二可用核。实施方式可以具有一个或多个以下特征。例如,确定关键路径可以包括总计每个 查询路径的操作符的操作符执行时间,并且选择具有最大的查询路径总计执行时间作为关 键路径。分配第一个可用核可以包括确定与运行中集合以及关键路径中的第一操作符相关 的减函数,该第一个可用核的分配将导致它的执行时间的减少。确定新关键路径可以包括在给运行中集合以及关键路径中的第一操作符分配了 第一个可用核之后为每个查询路径计算总计操作符执行时间;确定潜在关键路径,用于给6运行中集合以及潜在关键路径的运行中的操作符分配第二可用核,该潜在关键路径具有最 大的查询路径总计执行时间;确定给运行中集合以及潜在关键路径的运行中的操作符分配 第二可用核将不会提供它的执行时间的净利益;以及确定具有下一个最大的查询路径总计 执行时间作为新关键路径。确定查询可以包括从多个查询中确定所述查询;确定核的总数量,以及确定多 个查询中具有最短剩余时间来完成的查询;以及根据所确定的具有最短剩余时间来完成的 查询,给该查询分配核总数量的可用核。确定查询可以包括从多个查询中确定所述查询; 确定核的总数量,为多个查询的每一个设计与查询执行时间的减少相关联的有益长度,该 执行时间的减少是由于给每个查询分配核总数量的至少一个核以便通过所述核进行处理 而引起的;根据该设计给查询分配核总数量的至少一个核;根据该分配为多个查询的每一 个重新设计有益长度;以及根据该重新设计给查询分配核总数量的至少第二核,核总数量 的第一个和第二核由此构成查询的可用核。根据另一个一般方面,计算机程序产品可以有形地具体实施到计算机可读介质上 并且可以包括指令,当执行时,该指令配置成确定包括多个操作符的查询,该本文档来自技高网
...

【技术保护点】
一种包括记录在计算机可读介质上的指令的系统,该系统包括:操作符管理器,配置成用于确定可用核的数量并且在查询的多个操作符之中分配核,所述操作符包括操作符的运行中集合,存在通过该集合的多个查询路径,该操作符管理器包括状态监视器,配置成用于确定可用核的数量并且用于确定操作符的运行中集合,关键路径选择器,配置成用于从查询路径以及操作符的运行中集合中确定查询的关键路径,以及工作量管理器,配置成给运行中集合以及关键路径的运行中的操作符分配可用核的第一个核,并且此后从关键路径选择器接收新关键路径并且给新关键路径的运行中的操作符分配可用核的第二个核。

【技术特征摘要】

【专利技术属性】
技术研发人员:闫剑锋许俭黎文宪
申请(专利权)人:SAP股份公司
类型:发明
国别省市:DE[德国]

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

1