[发明专利]用于针对矢量化查询执行的自适应矢量大小选择的系统和方法有效
申请号: | 201480012872.8 | 申请日: | 2014-03-12 |
公开(公告)号: | CN105122239B | 公开(公告)日: | 2019-03-26 |
发明(设计)人: | 周庆庆;张国根 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 时林;毛威 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 针对 矢量 查询 执行 自适应 大小 选择 系统 方法 | ||
1.一种用于针对矢量化查询执行的自适应矢量大小选择的方法,其特征在于,所述方法包括:
在查询计划时间期间,在查询计划器模块处,确定适于查询计划树的矢量大小;
在用于所述查询计划树的查询执行时间期间,在查询执行引擎处,监测硬件性能指标;以及
根据所述监测到的硬件性能指标调整所述矢量大小;
所述确定适于查询计划树的矢量大小包括:
分析所述查询计划树,
将所述查询计划树拆分成多个片段;以及
向所述查询计划树的每个片段分配矢量大小。
2.根据权利要求1所述的方法,其特征在于,在所述查询计划时间期间确定的所述矢量大小被用于在所述查询执行时间的开始时处理所述查询计划树。
3.根据权利要求1所述的方法,其特征在于,在所述查询执行时间期间调整所述矢量大小包括尝试不同的矢量大小并观察相关处理器计数器以增大或减小所述矢量大小。
4.根据权利要求3所述的方法,其特征在于,根据所述处理器计数器增大所述矢量大小以提高硬件性能,并且当所述处理器计数器指示硬件性能降低时减小所述矢量大小。
5.根据权利要求1所述的方法,其特征在于,还包括向优化器发送所述调整后矢量大小以便使用所述调整后矢量大小执行类似于所述查询计划树的后续查询计划树。
6.根据权利要求5所述的方法,其特征在于,在所述查询计划时间期间根据经验性公式针对所述查询计划树将所述矢量大小确定为由所述优化器指示的最后矢量大小。
7.一种用于针对矢量化查询执行的自适应矢量大小选择的方法,其特征在于,所述方法包括:
在用于查询计划树的矢量化查询执行期间,在查询执行引擎处,收集处理单元计数器,所述查询计划树包括多个片段;
向所述查询计划树的每个片段分配矢量大小;
根据所述收集到的处理单元计数器修改用于处理所述矢量化查询执行的矢量的矢量大小;
在确定所述矢量化查询执行的令人满意的性能或者所述矢量化查询执行超时时,确定所述修改后矢量大小是否与在所述矢量化查询执行的开始时所使用的初始矢量大小明显不同;以及
在确定所述修改后矢量大小与所述初始矢量大小明显不同时,向优化器发送所述修改后矢量大小以便执行类似于所述查询计划树的后续查询计划树。
8.根据权利要求7所述的方法,其特征在于,根据所述收集到的处理单元计数器修改用于处理所述矢量化查询执行的矢量的所述矢量大小包括:
增大所述矢量大小,直至观察到超过预定阈值的过量缓存未命中;以及
在确定过量缓存未命中时,减小所述矢量大小以减少所述缓存未命中。
9.根据权利要求7所述的方法,其特征在于,根据所述收集到的处理单元计数器修改用于处理所述矢量化查询执行的矢量的所述矢量大小包括:
在检测到或者预期到多于可接受阈值的缓存未命中时,增大所述矢量大小;以及
在检测到或者预期到超过可接受阈值的失效指令时,减小所述矢量大小。
10.根据权利要求7所述的方法,其特征在于,还包括:
确定所述查询计划树是否包括少于预定数量的迭代器或片段;以及
在确定所述查询计划树包括少于预定数量的迭代器或片段时,跳过所述矢量大小修改。
11.根据权利要求7所述的方法,其特征在于,还包括:
在所述矢量化查询执行之前,在计划器处,生成用于查询的所述查询计划树;
将所述查询计划树分段成多个片段;以及
根据经验性公式或先前针对类似的查询计划、片段、硬件、或其组合确定并使用的矢量大小为每个所述片段计算出合适的初始矢量大小。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480012872.8/1.html,转载请声明来源钻瓜专利网。