[发明专利]一种关于类PLL最短路距离查询算法的并行化加速方法有效
申请号: | 201810008095.X | 申请日: | 2018-01-04 |
公开(公告)号: | CN108363723B | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 祝远扬;李锐;邱堃;赵进;王新 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903;G06F9/54 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;陆尤 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于计算机网络通信技术领域,具体为关于类PLL最短路距离查询算法的并行化加速方法。本发明的类PLL算法是一种基于搜索剪枝的“构建索引—询问查询”的两阶段算法,在构建索引的过程中,充分利用CPU多核的特性,合理地分配计算量和计算方式,对构建索引的过程实现并行化计算,提高时间效率;在询问的阶段中,对批量询问进行处理与分析,合并具有相同端点的询问,对不同的另一端进行并行化查询,以提高CPU多核的利用率以加快计算速度。本发明通过并行化的方式提高串行特征强烈的类PLL算法构建索引以及在批量询问处理中的计算效率,并使得这种并行化加速方法能够在充分利用多核计算单元的特性下高效完成算法功能。 | ||
搜索关键词: | 一种 关于 pll 短路 距离 查询 算法 并行 加速 方法 | ||
【主权项】:
1.一种关于类PLL最短路距离查询算法的并行化加速方法,其特征在于,根据硬件特性,结合合理的内存共享、加锁、线程通信手段,使得原本串行特征强烈的算法实现高效的并行化,具体步骤如下:(一)预处理阶段,根据硬件确定对应线程数目,以充分发挥硬件特性;获取当前处理器的核心数K,读取图的结构并保存在graph中,将结点按照度数由小到大的顺序存放于集合V中;(二)索引构建阶段,通过共享内存来实现并行化的搜索剪枝;设索引LABEL是一个集合{LABEL[v], v∈V},其中LABEL[v] 是一个集合{ LABEL[v][t] =pair, t∈V };索引LABEL的构建过程,开始,根据预处理阶段所获得到的核心数K开启对应数目的线程,从所有未处理结点中挑出优先级最高的对应数目的结点v1,v2, …,vk,并将每个结点作为搜索起点,每个线程处理一个起点,进行搜索操作逐步完成索引的构建,这是一个并行化的过程;在搜索过程中,线程间共享当前计算好了的索引LABEL,用于搜索过程的剪枝依据;在各个线程结束后,合并新增加的索引到总的索引列表LABEL中,重复执行上述搜索过程,直到所有的结点都被处理完;(三)询问查询阶段,合并具有相同端点的询问以减少冗余计算,再并行化处理不同端点的查询;询问查询阶段开始,先对批量询问进行分析和处理,排序,再通过类似归并的手段将所有询问列表处理成两种类型:具有共同端点的询问组与不具备共同端点的询问组;将具有共同端点的询问组记为:{(A,B1),(A,B2),(A,B3), …},其具有共同端点A;不具备共同端点的询问组记为:{(A1, B1), (A2, B2), (A3, B3) …};对于具有共同端点的询问组,先查询共同端点A的索引,即LABEL[A],并保存,再开启对应核心数总数的线程并行化查询所有另一端B1,B2,B3,…的索引,得出最短路的距离;对于不具有共同端点的询问组,直接开启对应数目的线程进行索引查询,即并行化查询A1与B1, A2与 B2, A3 与B3, …的索引,此时LABEL被所有线程共享,只进行读操作无需加锁。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810008095.X/,转载请声明来源钻瓜专利网。