发明名称 一种基于MIC协处理器的全网最短路径规划并行化方法
摘要 本发明公开了一种基于MIC协处理器的全网最短路径规划并行化方法,所述全网包括N个节点,该方法包括如下步骤:(1)将每个节点相对全网其他节点定义为一个不可再分的单元,N个节点构成的全网有N个单元任务;(2)以K个单元任务为一个任务包,可以创建P=N/K个任务包,对于N不能被K整除的情况,创建P=[N/K]+1个任务包,[N/K]表示取整数部分,每个线程在拿到某一任务包后,将分成K次循环依次执行其中的K个单元任务;(3)所创建的P个任务包在L个线程之间进行任务调度(4)当全网节点都处理完毕时,输出路径规划的结果并下传全网路径规划数据到主机系统,以供路径规划在线服务程序查询。
申请公布号 CN103884343A 申请公布日期 2014.06.25
申请号 CN201410067006.0 申请日期 2014.02.26
申请人 海华电子企业(中国)有限公司 发明人 宋海娜;江蓉;周晓辉;华诚;刘逍
分类号 G01C21/26(2006.01)I 主分类号 G01C21/26(2006.01)I
代理机构 广州三环专利代理有限公司 44202 代理人 何传锋
主权项 一种基于MIC协处理器的全网最短路径规划并行化方法,所述全网包括N个节点,其特征在于,该方法包括如下步骤:(1)将每个节点相对全网其他节点定义为一个不可再分的单元,N个节点构成的全网有N个单元任务;(2)以K个单元任务为一个任务包,可以创建P=N/K个任务包,对于N不能被K整除的情况,创建P=[N/K]+1个任务包,[N/K]表示取整数部分,每个线程在拿到某一任务包后,将分成K次循环依次执行其中的K个单元任务;(3)对于所创建的P个任务包在L个线程之间进行任务调度时,L个线程初始会依次各拿到一个任务包,此时未处理的任务包为P‑L个,当其中的某个线程处理完自己的任务包时,则会请求新的任务包;调度时利用全局变量g_num来表征目前未处理任务包数目,每个线程通过互斥锁的方式来争抢任务包资源,当某个线程互斥锁加锁成功则表示其抢到了相应序号的任务包,同时将任务包数目g_num减一,再解除互斥锁,完成一次加解锁过程的线程根据自己所抢到的序号,在相应内存地址上读取数据,依次执行完该任务包中的K个单元任务,当线程检查到任务包数目g_num变成0时,则表示所有任务包都已经处理完毕,相应线程执行退出操作;(4)当全网节点都处理完毕时,输出路径规划的结果并下传全网路径规划数据到主机系统,以供路径规划在线服务程序查询。
地址 510656 广东省广州市天河区黄埔大道西平云路163号