Efficient exploitation of the Xeon Phi architecture for the Ant Colony Optimization (ACO) metaheuristic
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.
KeywordsACO Metaheuristic Xeon Phi Parallel computing Coprocessors
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).
- 3.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
- 4.Dorigo M (1992) Optimization, learning and natural algorithms. Ph.D. thesis, Politecnico di Milano, ItalyGoogle Scholar
- 5.NVIDIA GPU Computing. http://www.nvidia.com/object/what-is-gpu-computing.html
- 6.Hwu W (2012) Programming massively parallel processors, second edition: a hands-on approach. Morgan Kaufmann, BurlingtonGoogle Scholar
- 7.Jeffers J, Reinders J (2013) Intel Xeon Phi coprocessor high performance programming. Elsevier, Philadelphia. ISBN:9780124104143Google Scholar
- 8.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, BerlinGoogle Scholar
- 10.Dorigo M, Di Caro G (1999) New ideas in optimization. Chap. The ant colony optimization meta-heuristic. McGraw-Hill Ltd., Maidenhead, pp 11–32Google Scholar
- 13.PRACE (2017) (Partnership for advanced computing in Europe). Best Practice Guide Intel Xeon Phi v2.0. http://www.prace-ri.eu/best-practice-guides/
- 15.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
- 17.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
- 18.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
- 19.TSPLIB Library. http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/