[发明专利]使用异步缓冲器的多核查询处理无效
申请号: | 201010205721.8 | 申请日: | 2010-06-22 |
公开(公告)号: | CN102298580A | 公开(公告)日: | 2011-12-28 |
发明(设计)人: | 闫剑锋;黎文宪 | 申请(专利权)人: | SAP股份公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/50 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 邵亚丽 |
地址: | 德国瓦*** | 国省代码: | 德国;DE |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 异步 缓冲器 多核 查询 处理 | ||
技术领域
本说明书涉及使用异步缓冲器的多核查询处理。
背景技术
可通过使用多个核来以并行或重叠方式执行数据密集型(data-intensive)计算操作,来以快速且高效的方式执行这种计算操作。例如,可针对关系数据库来执行查询,并且可使用一对核中的每一个来搜索该关系数据库的一半,由此获得总体的数据库的查询结果。更一般地,可通过定义(一个或多个)计算操作的子部分并向每一个子部分分配一个或多个可用核,来并行地使用任何数目的可用核。例如,可以通过划分要被查询的数据并/或通过定义(一个或多个)整个计算操作的各个子任务,来定义这些子部分。
由此,在特定类型的计算操作中,可能有必要或者有利的是,通过定义查询的子任务来执行或者处理该查询,使得该查询的每个子任务具有中间的输入和输出,而(一个或多个)最终子任务输出最终的查询结果。在这样的情况下,可能常常出现的是,一定量和/或类型的正被查询的数据以及/或者一定量和/或类型的所期望的(一个或多个)查询结果可能受益于在查询处理期间在缓冲器中存储中间输出。例如,对于非常大量的数据,在所期望的时间帧内将数据从一个存储位置移动到另一存储位置是不现实或者不可能的。因此,相反,查询子任务可以写中间结果,作为向缓冲器的输出,且随后的查询子任务可以读这些中间的结果作为来自缓冲器的输入。以此方式,这些中间数据可以在处理期间停留在缓冲器中。
有问题的是,可能出现下述情况,中间结果被写入缓冲器中的速度比可从其中读取中间结果的速度更快(或更慢)。在这样的情况下,随着时间流逝,缓冲器可能变为全满或全空。在这样的情况下,专用于相关处理的核可能变空闲,并且/或者可能从写入缓冲器切换为从其中读取(或反之)。然而,空闲的核的出现和/或查询子任务之间的核的过多切换的出现通常与查询处理中的低效以及获得最终查询结果的降低的速度有关。
发明内容
根据一个总体方面,系统可包括在计算机可读介质上记录的可由至少一个处理器执行的指令,该系统包括:缓冲器监视器,被配置来使得至少一个处理器监视在查询任务在处理期间所使用的缓冲器的缓冲器内容,其中查询任务的写任务将数据写入缓冲器,以及查询任务的读任务从缓冲器读取数据,缓冲器具有缓冲器容量;阈值管理器,被配置来使得至少一个处理器将缓冲器内容与相对于缓冲器容量而定义的低阈值和高阈值进行比较;以及速度控制器,被配置来使得至少一个处理器相对于当前正执行查询任务的读任务的数目来控制写任务的数目,以由此将缓冲器内容维持在低阈值和高阈值之间。
实现方式可包括以下特征中的一个或多个。例如,缓冲监视器可被配置来使得至少一个处理器相对于在缓冲器中的空白存储器块的数目来对填充存储器块的数目进行计数。
阈值管理器可包括被配置来使得至少一个处理器确定缓冲器内容是否低于低阈值或高于高阈值的阈值比较器。阈值管理器可包括阈值调整器,被配置来使得至少一个处理器相对于写任务的数目和/或读任务的数目以及相对于缓冲器的空白和/或填充存储器块的数目来调整高阈值和低阈值。
速度控制器可被配置来使得工作负载管理器使得至少一个处理器通过重新分配处理写任务和读任务的核而控制读任务和写任务的速度。速度控制器可被配置来使得工作负载管理器使得至少一个处理器在缓冲器内容高于高阈值时,将核从至少一个写任务分配到至少一个读任务,由此停止至少一个写任务并由此激活至少一个读任务。速度控制器可被配置来使得工作负载管理器使得至少一个处理器在缓冲器内容低于低阈值时,将核从至少一个读任务分配到至少一个写任务,由此停止至少一个读任务并由此激活至少一个写任务。
工作负载管理器可被配置来使得至少一个处理器在查询任务中的多个缓冲器和与其相关的写和读任务之间关联。查询任务可包括至少一个缓冲器序列,以及其中工作负载管理器可以被配置来使得至少一个处理器实现流水线(pipeline)激励模式,包括将来自可用核的核分配到与至少一个缓冲器序列的每个缓冲器相关联的至少一个任务。查询任务可包括至少一个缓冲器序列,以及工作负载管理器可被配置来使得至少一个处理器实现局部(locale)激励模式,包括将来自可用核的核分配到缓冲器序列的第一选择缓冲器的任务,直到达到用于实现第一选择缓冲器的任务的最大数的核,然后将来自可用核的剩余处理器核分配到缓冲器序列的第二选择缓冲器的任务。
查询任务可被表示为有向无环图,其中缓冲器是多个缓冲器之一,以及写任务和读任务被包括在多个任务中,以及其中多个缓冲器和多个任务是有向无环图的节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于SAP股份公司,未经SAP股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010205721.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数码便利贴和数码笔记系统
- 下一篇:计算机联网远程监控检测仪