[发明专利]对多线程应用的杂凑表执行并行的重杂凑有效
申请号: | 200980159762.3 | 申请日: | 2009-04-08 |
公开(公告)号: | CN102460392A | 公开(公告)日: | 2012-05-16 |
发明(设计)人: | A.A.马拉霍夫 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 张涛;蒋骏 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多线程 应用 杂凑 执行 并行 | ||
1.一种方法,包括:
为同时被多个线程所共享的杂凑表分配第二数量的桶,所述杂凑表具有第一数量的桶,桶的第二数量至少等于桶的第一数量并且第二数量的桶中的每一个被逻辑映射到第一或第二数量的桶中对应的一个母桶;并且
公布包括第一和第二数量的桶的杂凑表的更新容量,其中所述分配通过公布所述更新容量而完成而不对所述第一数量的桶的内容执行任何重杂凑。
2.如权利要求1所述的方法,进一步包括执行检查而并不闭锁桶以确定是否需要重杂凑。
3.如权利要求1所述的方法,进一步包括随后在对存在于第一数量的桶的第一桶中的数据对执行查找操作时,将该第一桶的内容重杂凑到第二数量的桶的第二桶。
4.如权利要求1所述的方法,进一步包括使用所述更新容量计算桶索引,使用所述桶索引访问桶,确定该桶没有被重杂凑,并且使用所述更新容量递归地计算母桶的母桶索引,直至找到该桶被逻辑映射到的、被重杂凑的根桶。
5.如权利要求4所述的方法,进一步包括在搜索查找请求的数据对时或之前将被重杂凑的根桶的内容的至少一部分重杂凑到所述桶中。
6.如权利要求5所述的方法,进一步包括在根桶仅有一部分内容被重杂凑时对部分重杂凑指示符进行置位。
7.如权利要求4所述的方法,进一步包括在桶中搜索查找请求的数据对并返回该数据对,并且不对桶的内容进行重杂凑。
8.如权利要求1所述的方法,进一步包括响应于由第一线程进行的查找操作,在所述第一数量的桶的第一桶中没有找到所请求的数据对,将杂凑表容量的当前值与在针对该查找操作确定桶索引时所使用的杂凑表容量的值相比较,并且如果当前值和该值不同,则计算最接近的继承桶的索引,访问最接近的继承桶并且确定该最接近的继承桶的重杂凑状态。
9.如权利要求8所述的方法,进一步包括如果重杂凑状态没有指示新的(未重杂凑)状态则重新开始查找操作。
10.如权利要求1所述的方法,进一步包括将多次分配组合为针对第二数量的桶的单次分配。
11.如权利要求1所述的方法,进一步包括公布多次分配并且一次性公布针对该多次分配的更新容量。
12.一种包括机器可读存储介质的物品,所述机器可读存储介质包括指令,所述指令在被机器执行的情况下使得该机器能够执行一种方法,所述方法包括:
对同时被多个线程所共享的杂凑表执行查找操作,包括使用该杂凑表的第一容量值计算该杂凑表的第一桶的桶索引,使用所述桶索引访问所述第一桶,并且确定所述第一桶不包括所述查找操作的数据对;
将所述杂凑表容量的当前容量值与第一容量值进行比较,并且如果当前容量值和第一值不同,则使用当前容量值计算更新的桶索引;并且
如果更新的桶索引和所述桶索引不同,则计算下一个桶索引,访问对应于所述更新的桶索引的下一个桶,并且确定该下一个桶的重杂凑状态。
13.如权利要求12所述的物品,其中所述方法进一步包括如果重杂凑状态没有指示新的状态则重新开始查找操作。
14.如权利要求12所述的物品,其中所述方法进一步包括在查找操作期间访问杂凑表的桶的同时对该桶进行重杂凑。
15.如权利要求12所述的物品,其中所述查找操作由第一线程执行,并且所述杂凑表在第一线程获得用于计算的第一容量值并且第三线程在第一线程访问第一桶之前开始对第一桶进行重杂凑之后由第二线程进行扩展。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200980159762.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:上跨电气化铁路桥梁轻型棚架防护结构
- 下一篇:马桶盖板的慢落装置