The invention belongs to the field of computer network communication technology, in particular to a parallel acceleration method for a PLL-like shortest distance query algorithm. The PLL class algorithm of this invention is a two stage algorithm based on the search pruning of \constructing index inquiry query\. In the process of constructing index, we make full use of the characteristics of CPU multicore, allocate the amount of calculation and calculation method reasonably, realize the parallel calculation for the process of constructing index, improve the time efficiency, and the order of inquiry. In the segment, batch inquiries are processed and analyzed, interrogation with the same endpoint is merged, and parallel query is carried out on the other end to improve the utilization of CPU multicore to speed up the calculation. This invention improves the index of the PLL algorithm with strong serial features and the computing efficiency in batch processing, and makes the parallel acceleration method efficiently perform the algorithm function under the characteristics of the multi core computing unit.
【技术实现步骤摘要】
一种关于类PLL最短路距离查询算法的并行化加速方法
本专利技术属于计算机网络通信
,具体涉及关于类PLL最短路距离查询算法的并行化加速方法。
技术介绍
图是一种用于抽象描述现实世界中实体间关系的数据结构,在自然科学、工程技术、经济管理以及各种社会问题中都有着广泛的应用。图论,则是以图为研究对象的一个数学分支。最短路查询问题是图论中的一个经典问题,通过查找图内两个顶点的最短路径,以达到最短时间、最少开销、最高效率的目的,在网络通信、路径导航、物流规划、生物医学等许多方面都有着重要应用。因此,设计出更加高效的最短路查询算法一直是图论中一个重要的研究领域。最短路查询的基本经典算法有Dijkstra算法,Ford算法,Floyd算法等。PLL算法是近年来十分流行的最短路查询算法,在最短路距离查询和路经计算等方面有许多应用,并且该算法通过进一步的变化也可以用于解决带限制最短路查询、K短路等问题,甚至可以应用于动态图的计算。该算法主要过程包含索引构建和询问查询两个阶段,第一阶段的主要过程是以某种次序逐步从每一个结点出发进行搜索剪枝得到该结点到某些结点的最短距离,并将其加入索引;第二阶段是利用最短路的最优子结构的性质,将一段最短路分为两段最短路的形式,通过在索引中进行查询并求和,然后在所有和中取最小值,该最小值即是最终结果。随着时代的发展,数据规模飞速增长且类型渐趋复杂,传统的最短路查询算法的效率已经难以满足要求,而充分利用CPU的多核特性,研究并行算法是解决该问题的途径之一。并行计算是将需要计算的问题分解为若干个独立的、可同时进行的子问题,再用多台计算设备同时并 ...
【技术保护点】
1.一种关于类PLL最短路距离查询算法的并行化加速方法,其特征在于,根据硬件特性,结合合理的内存共享、加锁、线程通信手段,使得原本串行特征强烈的算法实现高效的并行化,具体步骤如下:(一)预处理阶段,根据硬件确定对应线程数目,以充分发挥硬件特性;获取当前处理器的核心数K,读取图的结构并保存在graph中,将结点按照度数由小到大的顺序存放于集合V中;(二)索引构建阶段,通过共享内存来实现并行化的搜索剪枝;设索引LABEL是一个集合{LABEL[v], v∈V},其中LABEL[v] 是一个集合{ LABEL[v][t] =pair
【技术特征摘要】
1.一种关于类PLL最短路距离查询算法的并行化加速方法,其特征在于,根据硬件特性,结合合理的内存共享、加锁、线程通信手段,使得原本串行特征强烈的算法实现高效的并行化,具体步骤如下:(一)预处理阶段,根据硬件确定对应线程数目,以充分发挥硬件特性;获取当前处理器的核心数K,读取图的结构并保存在graph中,将结点按照度数由小到大的顺序存放于集合V中;(二)索引构建阶段,通过共享内存来实现并行化的搜索剪枝;设索引LABEL是一个集合{LABEL[v],v∈V},其中LABEL[v]是一个集合{LABEL[v][t]=pair<t,dis(v,t)>,t∈V};索引LABEL的构建过程,开始,根据预处理阶段所获得到的核心数K开启对应数目的线程,从所有未处理结点中挑出优先级最高的对应数目的结点v1,v2,…,vk,并将每个结点作为搜索起点,每个线程处理一个起点,进行搜索操作逐步完成索引的构建,这是一个并行化的过程;在搜索过程中,线程间共享当前计算好了的索引LABEL,用于搜索过程的剪枝依据;在各个线程结束后,合并新增加的索引到总的索引列表LABEL中,重复执行上述搜索过程,直到所有的结点都被处理完;(三)询问查询阶段,合并具有相同端点的询问以减少冗余计算,再并行化处理不同端点的查询;询问查询阶段开始,先对批量询问进行分析和处理,排序,再通过类似归并的手段将所有询问列表处理成两种类型:具有共同端点的询问组与不具备共同端点的询问组;将具有共同端点的询问组记为:{(A,B1),(A,B2),(A,B3),…},其具有共同端点A...
【专利技术属性】
技术研发人员:祝远扬,李锐,邱堃,赵进,王新,
申请(专利权)人:复旦大学,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。