针对实际道路路网的一类路径寻优问题,提出了带回退机制的蚁群搜索算法,求解在实际道路路网中完成遍历所有规定节点的一条较优路径。为解决大规模实际道路路网数据量大、蚁群算法收敛速度慢的问题,分别采用Intel Threading Building Blo...针对实际道路路网的一类路径寻优问题,提出了带回退机制的蚁群搜索算法,求解在实际道路路网中完成遍历所有规定节点的一条较优路径。为解决大规模实际道路路网数据量大、蚁群算法收敛速度慢的问题,分别采用Intel Threading Building Blocks(TBB)和Cilk++并行编程模型实现了并行蚁群搜索。与基于WinAPI函数的多线程蚁群算法相比,这两种模型均避免了手动启动线程及识别临界区资源等复杂操作,开发难度降低;在运行效率方面,基于TBB的并行蚁群算法和基于WinAPI的并行蚁群算法效率接近,而基于Cilk++的并行蚁群算法在双核环境下,运行效率和加速比都超过了基于WinAPI的并行蚁群算法。展开更多
多核处理器越来越普及,如何通过软件技术最大提升CPU每个核心的使用率,成为热点问题。引入多核并行编程模型Threading Building Blocks,并与raw threads、Open MP进行各方面详细比较,分析了其优劣。并研究了TBB结合MPI在SMP集群系统上...多核处理器越来越普及,如何通过软件技术最大提升CPU每个核心的使用率,成为热点问题。引入多核并行编程模型Threading Building Blocks,并与raw threads、Open MP进行各方面详细比较,分析了其优劣。并研究了TBB结合MPI在SMP集群系统上实现高效的混合并行计算应用的方法。最终发现TBB在多核编程方面有显著的优势。TTB和MPI的结合,又为多核处理器结点集群提供了并行层次化结构,大大优化集群的性能。展开更多
文摘针对实际道路路网的一类路径寻优问题,提出了带回退机制的蚁群搜索算法,求解在实际道路路网中完成遍历所有规定节点的一条较优路径。为解决大规模实际道路路网数据量大、蚁群算法收敛速度慢的问题,分别采用Intel Threading Building Blocks(TBB)和Cilk++并行编程模型实现了并行蚁群搜索。与基于WinAPI函数的多线程蚁群算法相比,这两种模型均避免了手动启动线程及识别临界区资源等复杂操作,开发难度降低;在运行效率方面,基于TBB的并行蚁群算法和基于WinAPI的并行蚁群算法效率接近,而基于Cilk++的并行蚁群算法在双核环境下,运行效率和加速比都超过了基于WinAPI的并行蚁群算法。
文摘多核处理器越来越普及,如何通过软件技术最大提升CPU每个核心的使用率,成为热点问题。引入多核并行编程模型Threading Building Blocks,并与raw threads、Open MP进行各方面详细比较,分析了其优劣。并研究了TBB结合MPI在SMP集群系统上实现高效的混合并行计算应用的方法。最终发现TBB在多核编程方面有显著的优势。TTB和MPI的结合,又为多核处理器结点集群提供了并行层次化结构,大大优化集群的性能。