[发明专利]带有动态数量工作者的并行查询引擎有效
申请号: | 201110037381.7 | 申请日: | 2011-01-27 |
公开(公告)号: | CN102135901A | 公开(公告)日: | 2011-07-27 |
发明(设计)人: | I·奥斯特罗夫斯基;J·J·达菲;S·H·托布 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 胡利鸣;钱静芳 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 带有 动态 数量 工作者 并行 查询 引擎 | ||
1.一种在包括多个处理器核的计算环境中划分包括多个元素的序列的查询执行工作的方法,所述方法包括:
(a)工作者核从工作队列请求工作;
(b)作为响应,所述工作者核从所述工作队列接收任务,所述任务是包括两个不同的步骤的可复制序列处理任务,包括在所述调度器队列上调度所述任务的副本的子任务以及处理序列的子任务;
(c)所述工作者核通过以下动作来处理所述任务:
创建所述任务的复制品并将所述任务的复制品放在所述工作队列上,其中所述任务的复制品是包括两个不同的步骤的可复制序列处理任务,包括在所述调度器队列上调度所述任务的复制品的副本的子任务以及处理序列的子任务;以及
开始处理所述序列;以及
(d)对一个或多个其他工作者核重复动作(a)-(c),其中对所述一个或多个其他工作者核的动作(b)通过接收因一个或多个不同的工作者核早先执行动作(c)而放置在所述任务队列上的一个或多个任务复制品来执行。
2.如权利要求1所述的方法,其特征在于,开始处理所述序列包括请求并处理所述序列中尚未由另一工作者核处理的或不是另一工作者核正在处理的单个元素。
3.如权利要求1所述的方法,其特征在于,开始处理所述序列包括请求并处理所述序列的预定数量的元素从而降低同步开销,所述元素尚未由另一工作者核处理或不是另一工作者核正在处理的。
4.如权利要求1所述的方法,其特征在于,所述序列是懒惰序列。
5.如权利要求1所述的方法,其特征在于,所述序列是懒惰锁定序列。
6.如权利要求1所述的方法,其特征在于,还包括合并所述工作者核处理所述序列的结果。
7.如权利要求6所述的方法,其特征在于,合并所述结果包括按照保留序列元素的次序的方式来合并所述结果。
8.一种在计算环境中用于划分包括多个元素的序列的查询执行工作的系统,所述系统包括:
多个处理器核;
耦合到所述多个处理器核的计算机存储器,其中所述计算机存储器包括在由所述多个处理器核中的一个或多个执行时导致发生以下动作的计算机可执行指令:
(a)工作者核从工作队列请求工作;
(b)作为响应,所述工作者核从所述工作队列接收任务,所述任务是包括两个不同的步骤的可复制序列处理任务,包括在所述调度器队列上调度所述任务的副本的子任务以及处理序列的子任务;
(c)所述工作者核通过以下动作来处理所述任务:
创建所述任务的复制品并将所述任务的复制品放在所述工作队列上,其中所述任务的复制品是包括两个不同的步骤的可复制序列处理任务,包括在所述调度器队列上调度所述任务的复制品的副本的子任务以及处理序列的子任务;以及
开始处理所述序列;以及
(d)对一个或多个其他工作者核重复动作(a)-(c),其中对所述一个或多个其他工作者核的动作(b)通过接收因一个或多个不同的工作者核早先执行动作(c)而放置在所述任务队列上的一个或多个任务复制品来执行。
9.如权利要求8所述的系统,其特征在于,开始处理所述序列包括请求并处理所述序列中尚未由另一工作者核处理的或不是另一工作者核正在处理的单个元素。
10.如权利要求8所述的系统,其特征在于,开始处理所述序列包括请求并处理所述序列的预定数量的元素从而降低同步开销,所述元素尚未由另一工作者核处理或不是另一工作者核正在处理的。
11.如权利要求8所述的系统,其特征在于,所述序列是懒惰序列。
12.如权利要求8所述的系统,其特征在于,所述序列是懒惰锁定序列。
13.如权利要求8所述的系统,其特征在于,还包括合并所述工作者核处理所述序列的结果。
14.如权利要求13所述的系统,其特征在于,合并所述结果包括按照保留序列元素的次序的方式来合并所述结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110037381.7/1.html,转载请声明来源钻瓜专利网。