Enhancing data parallelism for Ant Colony Optimization on GPUs

被引:103
作者
Cecilia, Jose M. [1 ]
Garcia, Jose M. [1 ]
Nisbet, Andy [2 ]
Amos, Martyn [2 ]
Ujaldon, Manuel [3 ]
机构
[1] Univ Murcia, Comp Architecture Dept, E-30100 Murcia, Spain
[2] Manchester Metropolitan Univ, Novel Computat Grp, Div Comp & IS, Manchester M1 5GD, Lancs, England
[3] Univ Malaga, Comp Architecture Dept, E-29071 Malaga, Spain
关键词
Metaheuristics; GPU programming; Ant Colony Optimization; TSP; Performance analysis; ALGORITHMS; SYSTEM; MODEL;
D O I
10.1016/j.jpdc.2012.01.002
中图分类号
TP301 [理论、方法];
学科分类号
080201 [机械制造及其自动化];
摘要
Graphics Processing Units (GPUs) have evolved into highly parallel and fully programmable architecture over the past five years, and the advent of CUDA has facilitated their application to many real-world applications. In this paper, we deal with a CPU implementation of Ant Colony Optimization (ACO), a population-based optimization method which comprises two major stages: tour construction and pheromone update. Because of its inherently parallel nature, ACO is well-suited to CPU implementation, but it also poses significant challenges due to irregular memory access patterns. Our contribution within this context is threefold: (1) a data parallelism scheme for tour construction tailored to CPUs, (2) novel CPU programming strategies for the pheromone update stage, and (3) a new mechanism called 1-Roulette to replicate the classic roulette wheel while improving CPU parallelism. Our implementation leads to factor gains exceeding 20x for any of the two stages of the ACO algorithm as applied to the TSP when compared to its sequential counterpart version running on a similar single-threaded high-end CPU. Moreover, an extensive discussion focused on different implementation paths on CPUs shows the way to deal with parallel graph connected components. This, in turn, suggests a broader area of inquiry, where algorithm designers may learn to adapt similar optimization methods to CPU architecture. (C) 2012 Elsevier Inc. All rights reserved.
引用
收藏
页码:42 / 51
页数:10
相关论文
共 29 条
[1]
[Anonymous], 2004, ANT COLONY OPTIMIZAT
[2]
[Anonymous], SCATTER TO GATHER TR
[3]
[Anonymous], P 11 ANN C GEN EV CO
[4]
[Anonymous], 1991, ANT SYSTEM AUTOCATAL
[5]
Ant colony optimization: Introduction and recent trends [J].
Blum, Christian .
PHYSICS OF LIFE REVIEWS, 2005, 2 (04) :353-373
[6]
Strategies for accelerating Ant Colony Optimization algorithms on Graphical Processing Units [J].
Catala, Alejandro ;
Jaen, Javier ;
Mocholi, Jose A. .
2007 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1-10, PROCEEDINGS, 2007, :492-+
[7]
Parallel implementation of Ant Colony Optimization on MPP [J].
Chen, Ling ;
Sun, Hai-Ying ;
Wang, Shu .
PROCEEDINGS OF 2008 INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND CYBERNETICS, VOLS 1-7, 2008, :981-986
[8]
Ant algorithms and stigmergy [J].
Dorigo, M ;
Bonabeau, E ;
Theraulaz, G .
FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2000, 16 (08) :851-871
[9]
Ant system: Optimization by a colony of cooperating agents [J].
Dorigo, M ;
Maniezzo, V ;
Colorni, A .
IEEE TRANSACTIONS ON SYSTEMS MAN AND CYBERNETICS PART B-CYBERNETICS, 1996, 26 (01) :29-41
[10]
Dorigo M, 1992, OPTIMIZATION LEARNIN