[发明专利]用于针对矢量化查询执行的自适应矢量大小选择的系统和方法有效
申请号: | 201480012872.8 | 申请日: | 2014-03-12 |
公开(公告)号: | CN105122239B | 公开(公告)日: | 2019-03-26 |
发明(设计)人: | 周庆庆;张国根 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 时林;毛威 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 针对 矢量 查询 执行 自适应 大小 选择 系统 方法 | ||
本发明提供了用于针对矢量化查询执行的自适应矢量大小选择的系统和方法实施例。所述自适应矢量大小选择在两个阶段中实施。在查询计划阶段中,由查询计划器针对查询估计合适的矢量大小。所述计划阶段包括分析查询计划树、将所述树分段成不同片段,以及为所述查询执行计划向每个片段分配初始矢量大小。在后续查询执行阶段中,执行引擎监测硬件性能指标,并根据所述监测到的硬件性能指标调整所述矢量大小。调整所述矢量大小包括尝试不同的矢量大小并观察相关处理器计数器以增大或减小所述矢量大小,其中根据所述处理器计数器增大所述矢量大小以提高硬件性能,并且当所述处理器计数器指示硬件性能降低时减小所述矢量大小。
相关申请案交叉申请
本发明要求2013年3月13日递交的发明名称为“用于针对矢量化查询执行的自适应矢量大小选择的系统和方法(System and Method for Adaptive Vector SizeSelection for Vectorized Query Execution)”的第13/798,680号美国专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文本中,如全文再现一般。
技术领域
本发明总体上涉及数据库系统和方法,在具体实施例中,涉及一种用于针对矢量化查询执行的自适应矢量大小选择的系统和方法。
背景技术
矢量化查询执行是对一些传统数据库所使用的当前行流水线执行引擎的一项显著的性能改进。在传统的流水线执行引擎中,每个迭代器之间的数据单元是一行,而矢量化查询执行则使用矢量。使用矢量作为数据单元的一个益处在于将每行开销分摊至行矢量。矢量化查询执行的一个关键因素是矢量长度或大小,过小和过大的大小都会损害性能。一般而言,矢量大小越大,可以分摊的每行开销越多,从而使得性能更好。然而,较大大小的矢量需要更多的内存来存储它,这可能导致缓存未命中并因此损害性能。不存在针对矢量大小的唯一最佳设置,因为它还涉及到查询和硬件设置。对于不同的查询和不同的硬件设置,最优长度可以是不同的。例如,较大的L1缓存允许更大大小的矢量。需要一种根据软件和硬件需求选择最优矢量大小以获得性能的方法。
发明内容
根据实施例,一种用于针对矢量化查询执行的自适应矢量大小选择的方法包括:在查询计划时间期间在查询计划器模块处确定适于查询计划树的矢量大小,在用于所述查询计划树的查询执行时间期间在查询执行引擎处监测硬件性能指标,以及根据所述监测到的硬件性能指标调整所述矢量大小。
根据另一实施例,一种用于针对矢量化查询执行的自适应矢量大小选择的方法包括:在用于查询计划树的矢量化查询执行期间在查询执行引擎处收集处理单元计数器;根据所述收集到的处理单元计数器修改用于处理所述矢量化查询执行的矢量的矢量大小;以及在确定所述矢量化查询执行的令人满意的性能或者所述矢量化查询执行超时时,确定所述修改后矢量大小是否与在所述矢量化查询执行的开始时所使用的初始矢量大小明显不同。所述方法还包括:在确定所述修改后矢量大小与所述初始矢量大小明显不同时,向优化器发送所述修改后矢量大小以便执行类似于所述查询计划树的后续查询计划树。
在又一实施例中,一种用于针对矢量化查询执行的自适应矢量大小选择的装置包括处理器以及存储用于由所述处理器执行的程序的计算机可读存储介质。所述程序包括用于执行以下操作的指令:在用于查询计划树的矢量化查询执行期间在运行时间时收集处理器计数器;根据所述收集到的处理器计数器修改用于处理所述矢量化查询执行的矢量的矢量大小;以及在确定所述矢量化查询执行的令人满意的性能或者所述矢量化查询执行超时时,确定所述修改后矢量大小是否与在所述矢量化查询执行的开始时所使用的初始矢量大小明显不同。所述指令还包括:在确定所述修改后矢量大小与所述初始矢量大小明显不同时,选择所述修改后矢量大小以开始执行类似于所述查询计划树的后续查询计划树。
附图说明
为了更完整地理解本发明及其优点,现在参考下文结合附图进行的描述,其中:
图1示出用于查询分段和初始矢量大小设置的实施例方法;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480012872.8/2.html,转载请声明来源钻瓜专利网。