[发明专利]对高速缓存和/或插槽敏感的多处理器内核广度优先遍历有效
申请号: | 201180024516.4 | 申请日: | 2011-09-29 |
公开(公告)号: | CN103140829A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | N·R·萨蒂什;C·金;J·钟加尼;J·D·休厄尔 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/06;G06F15/80;G06F13/14 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜;王英 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 公开了与多个并行线程对图进行的对高速缓存和/或插槽敏感的广度优先迭代遍历相关联的方法、装置以及存储设备。在实施例中,可以采用顶点访问数组(VIS)来跟踪被访问的图顶点。考虑到LLC的高速缓存大小,可以将VIS划分成多个VIS子数组,以降低逐出的可能性。在实施例中,对于在当前迭代中正被访问的顶点,可以采用潜在边界顶点数组(PBV)来存储下一次迭代的潜在边界顶点。针对每个线程所生成的PBV的数量可以考虑到插槽的数量,所采用的处理器内核分布在这些插槽上。在各实施例中,可以对线程进行负载平衡;可以考虑其它的数据位置感知以降低插槽间通信,和/或可以采用加锁和原子自由更新操作。可以公开或要求保护其它实施例。 | ||
搜索关键词: | 高速缓存 插槽 敏感 处理器 内核 广度 优先 遍历 | ||
【主权项】:
至少一个计算机可读存储设备,具有多个指令,所述多个指令被配置为使得一装置的多个线程能够响应于所述装置的多个处理器内核执行所述多个指令的多个实例来进行以下操作:将顶点访问数组(VIS)划分成多个VIS子数组,其中,所述VIS由所述多个线程用于跟踪要被所述多个线程进行广度优先遍历的图的被访问顶点,其中,所述多个处理器内核与具有各自的高速缓存大小的一个或多个末级高速缓存(LLC)相关联,所述一个或多个末级高速缓存(LLC)用于在所述图的遍历期间对所述多个VIS子数组进行高速缓存;并且其中,所述多个VIS子数组所具有的子数组大小比对所述多个VIS子数组进行高速缓存的LLC的高速缓存大小要小各自的量,以降低在所述图的遍历期间所述多个子数组中的任何一个从所述LLC被逐出的可能性;以及在所述划分之后,对所述图进行广度优先遍历,其中,所述多个线程在多次迭代中相继地遍历所述图的不同广度范围,在每次迭代期间遍历一个广度范围,其中,所述多个线程分别使用所述多个VIS子数组中的不同VIS子数组来并行地遍历所述图的广度范围的不同部分,并且使用加锁和原子自由操作来更新所述不同部分中的被访问的顶点的深度和父亲值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201180024516.4/,转载请声明来源钻瓜专利网。
- 上一篇:一种采血针塑料针柄医用聚乙烯材料及其制备方法
- 下一篇:连熔打砣炉