In recent years, the use of compute-intensive coprocessors has been widely studied in the field of Parallel Computing to accelerate sequential processes through a Graphic Processing Unit (GPU). Intel has recently released a GPU-type coprocessor, the Intel Xeon Phi. It is composed up to 72 cores connected by a bidirectional ring network with a Vector Process Unit (VPU) on large vector registers. In this work, we present novel parallel algorithms of the well-known Ant Colony Optimization (ACO) on the recent many-core platform Intel Xeon Phi coprocessor. ACO is a popular metaheuristic algorithm applied to a wide range of NP-hard problems. To show the efficiency of our approaches, we test our algorithms solving the Traveling Salesman Problem. Our results confirm the potential of our proposed algorithms which led to distinct improvements of performance over previous state-of-the-art approaches in GPU. We implement and compare a set of algorithms to deal with the different steps of ACO. The matrices calculation in the proposed algorithms efficiently exploit the VPU and cache in Xeon Phi. We also show a novel implementation of the roulette wheel selection algorithm, named as UV-Roulette (unique random value roulette). We compare our results in Xeon Phi to state-of-the-art GPU methods, achieving higher performance with large size problems. We also exposed the difficulties and key hardware performance factors to deal with the ACO algorithm on a Xeon Phi coprocessor.
This is a preview of subscription content, log in to check access.
Buy single article
Instant access to the full article PDF.
Price includes VAT for USA
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
This is the net price. Taxes to be calculated in checkout.
Dorigo M, Stützle T (2004) Ant colony optimization. MIT Press, Cambridge
Dorigo M, Birattari M, Stützle T (2006) Ant colony optimization. IEEE Comput Intell Mag 1(4):28–39. doi:10.1109/MCI.2006.329691
Dorigo M, Blum C (2005) Ant colony optimization theory: a survey. Theor Comput Sci 344(2–3):243–278. doi:10.1016/j.tcs.2005.05.020. http://www.sciencedirect.com/science/article/pii/S0304397505003798
Dorigo M (1992) Optimization, learning and natural algorithms. Ph.D. thesis, Politecnico di Milano, Italy
NVIDIA GPU Computing. http://www.nvidia.com/object/what-is-gpu-computing.html
Hwu W (2012) Programming massively parallel processors, second edition: a hands-on approach. Morgan Kaufmann, Burlington
Jeffers J, Reinders J (2013) Intel Xeon Phi coprocessor high performance programming. Elsevier, Philadelphia. ISBN:9780124104143
Wang E, Zhang Q, Shen B, Zhang G, Lu X, Wu Q, Wang Y (2014) High-performance computing on the Intel Xeon Phi(TM): how to fully exploit mic architectures. Springer, Berlin
Lawler EL, Lenstra JK, Kan AR, Shmoys DB (1985) The traveling salesman problem: a guided tour of combinatorial optimization, vol 3. Wiley, New York
Dorigo M, Di Caro G (1999) New ideas in optimization. Chap. The ant colony optimization meta-heuristic. McGraw-Hill Ltd., Maidenhead, pp 11–32
Dorigo M, Di Caro G, Gambardella LM (1999) Ant algorithms for discrete optimization. Artif Life 5(2):137–172. doi:10.1162/106454699568728
Dorigo M, Maniezzo V, Colorni A (1996) Ant system: optimization by a colony of cooperating agents. Trans Syst Man Cybern Part B 26(1):29–41. doi:10.1109/3477.484436
PRACE (2017) (Partnership for advanced computing in Europe). Best Practice Guide Intel Xeon Phi v2.0. http://www.prace-ri.eu/best-practice-guides/
Cecilia JM, García JM, Nisbet A, Amos M, Ujaldon M (2013) Enhancing data parallelism for ant colony optimization on GPUs. J Parallel Distrib Comput 73(1):42–51. doi:10.1016/j.jpdc.2012.01.002
Dawson L, Stewart IA (2013) Improving ant colony optimization performance on the GPU using CUDA. In: Proceedings of the IEEE Congress on Evolutionary Computation, CEC 2013, Cancun, Mexico, June 20–23 pp. 1901–1908. IEEE (2013). doi:10.1109/CEC.2013.6557791
Delevacq A, Delisle P, Gravel M, Krajecki M (2013) Parallel ant colony optimization on graphics processing units. J. Parallel Distrib. Comput. 73(1):52–61. doi:10.1016/j.jpdc.2012.01.003
Sato M, Tsutsui S, Fujimoto N, Sato Y, Namiki M (2014) First results of performance comparisons on many-core processors in solving QAP with ACO: kepler GPU versus xeon PHI. In: Genetic and Evolutionary Computation Conference, GECCO ’14, Vancouver, BC, Canada, July 12-16, 2014, Companion Material Proceedings, pp. 1477–1478. ACM. doi:10.1145/2598394.2602274. http://dl.acm.org/citation.cfm?id=2598394
Tirado F, Urrutia A, Barrientos R.J (2015) Using a coprocessor to solve the ant colony optimization algorithm. In: 34th International Conference of the Chilean Computer Science Society (SCCC), pp. 1–6. doi:10.1109/SCCC.2015.7416584
TSPLIB Library. http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/
Dorigo M, Maniezzo V, Colorni A (1996) Ant system: optimization by a colony of cooperating agents. IEEE Trans Syst Man Cybern Part B 26(1):29–41. doi:10.1109/3477.484436
This research was supported by the Project of the Universidad Católica del Maule (Chile) “Plan de Desarrollo Anual Facultad de Ingeniería. Convenio de Desempeño”. This work was partially supported by the Project FONDEF IDeA en 2 Etapas ID15i10142, “Estimación del Contenido de Aceite en Olivas en base a Tecnologías no Destructivas” (Olive Oil Content Estimation based on non Destructive Technologies), Scientific and Technological Development Support Fund (FONDEF), Government of Chile. Powered@NLHPC: This research was partially supported by the supercomputing infrastructure of the NLHPC (ECM-02).
About this article
Cite this article
Tirado, F., Barrientos, R.J., González, P. et al. Efficient exploitation of the Xeon Phi architecture for the Ant Colony Optimization (ACO) metaheuristic. J Supercomput 73, 5053–5070 (2017). https://doi.org/10.1007/s11227-017-2124-5
- Xeon Phi
- Parallel computing