Cluster Computing

, Volume 19, Issue 1, pp 1–11 | Cite as

Dynamic load balancing on heterogeneous clusters for parallel ant colony optimization

  • Antonio Llanes
  • José M. Cecilia
  • Antonia Sánchez
  • José M. García
  • Martyn Amos
  • Manuel Ujaldón


Ant colony optimisation (ACO) is a nature-inspired, population-based metaheuristic that has been used to solve a wide variety of computationally hard problems. In order to take full advantage of the inherently stochastic and distributed nature of the method, we describe a parallelization strategy that leverages these features on heterogeneous and large-scale, massively-parallel hardware systems. Our approach balances workload effectively, by dynamically assigning jobs to heterogeneous resources which then run ACO implementations using different search strategies. Our experimental results confirm that we can obtain significant improvements in terms of both solution quality and energy expenditure, thus opening up new possibilities for the development of metaheuristic-based solutions to “real world” problems on high-performance, energy-efficient contemporary heterogeneous computing platforms.


Heterogeneous computing Ant colony optimization CUDA Power-aware systems 



This work is jointly supported by the Fundación Séneca (Agencia Regional de Ciencia y Tecnología, Región de Murcia) under Grants 15290/PI/2010 and 18946/JLI/13, by the Spanish MEC under grants TIN2012-31345 and TIN2013-42253-P, by the Nils Coordinated Mobility under Grant 012-ABEL-CM-2014A, in part financed by the European Regional Development Fund (ERDF), and by the Junta de Andalucía under Project of Excellence P12-TIC-1741. We also thank Nvidia for hardware donations within UCAM and UMA CUDA Teaching and Research Centers awards.


  1. 1.
    Alba, E., Luque, G., Nesmachnow, S.: Parallel metaheuristics: recent advances and new trends. Int. Trans. Oper. Res. 20(1), 1–48 (2013). doi: 10.1111/j.1475-3995.2012.00862.x CrossRefzbMATHGoogle Scholar
  2. 2.
    Carretero, J., Garcia-Blas, J., Singh, D.E., Isaila, F., Fahringer, T., Prodan, R., Bosilca, G., Lastovetsky, A., Symeonidou, C., Perez-Sanchez, H., et al.: Optimizations to enhance sustainability of mpi applications. In: Proceedings of the 21st European MPI Users’ Group Meeting, p. 145. ACM (2014)Google Scholar
  3. 3.
    Cecilia, J.M., Garcia, J.M., Ujaldon, M., Nisbet, A., Amos, M.: Parallelization strategies for ant colony optimisation on GPUs. In: Proceedings of the 2011 IEEE International Symposium on Parallel and Distributed Processing, pp. 339–346. IEEE (2011)Google Scholar
  4. 4.
    Cecilia, J.M., Garcia, J.M., Nisbet, A., Amos, M., Ujaldón, M.: Enhancing data parallelism for ant colony optimization on GPUs. J. Parallel Distrib. Comput. 73(1), 42–51 (2013)CrossRefGoogle Scholar
  5. 5.
    Cecilia, J.M., Nisbet, A., Amos, M., Garcia, J.M., Ujaldón, M.: Enhancing GPU parallelism in nature-inspired algorithms. J. Supercomput. 63(3), 773–789 (2013)CrossRefGoogle Scholar
  6. 6.
    Chang, R.S.S., Chang, J.S.S., Lin, P.S.S.: An ant algorithm for balanced job scheduling in grids. Future Gener. Comput. Syst. 25(1), 20–27 (2009). doi: 10.1016/j.future.2008.06.004 CrossRefGoogle Scholar
  7. 7.
    Chen, Y., Miao, D., Wang, R.: A rough set approach to feature selection based on ant colony optimization. Pattern Recognit. Lett. 31(3), 226–233 (2010). doi: 10.1016/j.patrec.2009.10.013 CrossRefGoogle Scholar
  8. 8.
    De Michell, G., Gupta, R.K.: Hardware/software co-design. Proc. IEEE 85(3), 349–365 (1997)CrossRefGoogle Scholar
  9. 9.
    Delévacq, A., Delisle, P., Gravel, M., Krajecki, M.: Parallel ant colony optimization on graphics processing units. J. Parallel Distrib. Comput. 73, 52–61 (2013). doi: 10.1016/j.jpdc.2012.01.003 CrossRefGoogle Scholar
  10. 10.
    Dorigo, M., Di Caro, G.: Ant colony optimization: a new meta-heuristic. In: Proceedings of the 1999 Congress on Evolutionary Computation (CEC’99), pp. 1470–1477. IEEE Press (1999)Google Scholar
  11. 11.
    Dorigo, M.: Optimization, learning and natural algorithms. Ph.D. thesis, Politecnico di Milano, Italy (1992)Google Scholar
  12. 12.
    Dorigo, M., Maniezzo, V., Colorni, A.: Ant system: optimization by a colony of cooperating agents. IEEE Trans. Syst. Man Cybernet. B 26(1), 29–41 (1996)CrossRefGoogle Scholar
  13. 13.
    Dorigo, M., Maniezzo, V., Colorni, A.: The ant system: optimization by a colony of cooperating agents. IEEE Trans. Syst. Man Cybernet. B 26, 29–41 (1996)CrossRefGoogle Scholar
  14. 14.
    Dorigo, M., Birattari, M., Stutzle, T.: Ant colony optimization. IEEE Comput. Intell. Mag. 1(4), 28–39 (2006)CrossRefGoogle Scholar
  15. 15.
    Dorigo, M., Stutzle, T.: Ant Colony Optimization. Bradford Company, Scituate (2004)CrossRefzbMATHGoogle Scholar
  16. 16.
    Dorigo, M., Stützle, T.: Ant colony optimization: overview and recent advances. Handbook of Metaheuristics, pp. 227–263. Springer, Berlin (2010)CrossRefGoogle Scholar
  17. 17.
    Garcia, M.P., Montiel, O., Castillo, O., Sepúlveda, R., Melin, P.: Path planning for autonomous mobile robot navigation with ant colony optimization and fuzzy cost function evaluation. Appl. Soft Comput. 9(3), 1102–1110 (2009). doi: 10.1016/j.asoc.2009.02.014 CrossRefGoogle Scholar
  18. 18.
    Goldberg, D.E.: Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley Professional, New York (1989)zbMATHGoogle Scholar
  19. 19.
    Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning, 1st edn. Addison-Wesley Longman Publishing Co. Inc, Boston (1989)zbMATHGoogle Scholar
  20. 20.
    González, R., Horowitz, M.: Energy dissipation in general purpose microprocessors. IEEE J. Solid-State Circuits 31(9), 1277–1284 (1996)CrossRefGoogle Scholar
  21. 21.
    Johnson, D.S., Mcgeoch, L.A.: The Traveling Salesman Problem: A Case Study in Local Optimization. Wiley, New York (1997)zbMATHGoogle Scholar
  22. 22.
    Ke, B.R., Chen, M.C., Lin, C.L.: Block-layout design using max-min ant system for saving energy on mass rapid transit systems. IEEE Trans. Intell. Transp. Syst. 10(2), 226–235 (2009). doi: 10.1109/TITS.2009.2018324 CrossRefGoogle Scholar
  23. 23.
    Kennedy, J., Eberhart, R.: Particle swarm optimization. In: Proceedings of IEEE International Conference on Neural Networks, vol. 4, pp. 1942–1948. IEEE (1995)Google Scholar
  24. 24.
    Komarudin, Wong, K.Y.: Applying ant system for solving unequal area facility layout problems. Eur. J. Oper. Res. 202(3), 730–746 (2010). doi: 10.1016/j.ejor.2009.06.016 CrossRefzbMATHGoogle Scholar
  25. 25.
    Krueger, J., Donofrio, D., Shalf, J., Mohiyuddin, M., Williams, S., Oliker, L., Pfreund, F.J.: Hardware/software co-design for energy-efficient seismic modeling. In: Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, p. 73. ACM (2011)Google Scholar
  26. 26.
    Lawler, E., Lenstra, J., Kan, A., Shmoys, D.: The Traveling Salesman Problem. Wiley, New York (1987)zbMATHGoogle Scholar
  27. 27.
    Manfrin, M., Manfrin, M., Stützle, T., Dorigo, M.: Parallel ant colony optimization for the traveling salesman problem. Ant Colony Optimization and Swarm Intelligence, pp. 224–234. Springer, Berlin (2006)CrossRefGoogle Scholar
  28. 28.
    Martin, A.: Towards an energy complexity of computations. Inf. Process. Lett. 77, 181–187 (2001)CrossRefzbMATHGoogle Scholar
  29. 29.
    Nickolls, J., Buck, I., Garland, M., Skadron, K.: Scalable parallel programming with cuda. Queue 6(2), 40–53 (2008)CrossRefGoogle Scholar
  30. 30.
    Nvidia Corporation. NVML API Reference ([last accesed 15 November 2014]).
  31. 31.
    NVIDIA: NVIDIA CUDA C Programming Guide 6.5 (2014)Google Scholar
  32. 32.
  33. 33.
    Pedemonte, M., Nesmachnow, S., Cancela, H.: A survey on parallel ant colony optimization. Appl. Soft Comput. 11(8), 5181–5197 (2011). doi: 10.1016/j.asoc.2011.05.042 CrossRefGoogle Scholar
  34. 34.
    Pénzes, P., Martin, A.: Energy-delay efficiency of vlsi computations. In: Proceedings of the ACM Great Lakes Symposium on VLSI (GLSVLSI). IEEE (2002)Google Scholar
  35. 35.
    Rahman, R.: Xeon phi system software. Intel \({\textregistered }\) Xeon Phi Coprocessor Architecture and Tools, pp. 97–112. Springer, Berlin (2013)CrossRefGoogle Scholar
  36. 36.
    Reinelt, G.: TSPLIB—a traveling salesman problem library. ORSA J. Comput. 3(4), 376–384 (1991)MathSciNetCrossRefzbMATHGoogle Scholar
  37. 37.
    Rozenberg, G., Bäck, T., Kok, J.N.: Handbook of Natural Computing. Springer, Berlin (2011)zbMATHGoogle Scholar
  38. 38.
    Shalf, J., Quinlan, D., Janssen, C.: Rethinking hardware-software codesign for exascale systems. Computer 44(11), 22–30 (2011)CrossRefGoogle Scholar
  39. 39.
    Stützle, T.: Parallelization strategies for ant colony optimization. In: PPSN V: Proceedings of the 5th International Conference on Parallel Problem Solving from Nature, pp. 722–731. Springer, London (1998)Google Scholar
  40. 40.
    Stützle, T.: Parallelization strategies for ant colony optimization. Parallel Problem Solving from Nature (PPSN V), pp. 722–731. Springer, Berlin (1998)CrossRefGoogle Scholar
  41. 41.
    Stutzle, T., Hoos, H.H.: MAX-MIN ant system. Future Gener. Comput. Syst. 16(8), 889–914 (2000)CrossRefzbMATHGoogle Scholar
  42. 42.
    Top 500 supercomputer site ([last accesed 15 November 2014]).
  43. 43.
  44. 44.
    Wolf, W.: A decade of hardware/software codesign. Computer 36(4), 38–43 (2003)CrossRefGoogle Scholar
  45. 45.
    Yu, B., Yang, Z.Z., Yao, B.: An improved ant colony optimization for vehicle routing problem. Eur. J. Oper. Res. 196(1), 171–176 (2009). doi: 10.1016/j.ejor.2008.02.028 CrossRefzbMATHGoogle Scholar
  46. 46.
    Zhu, W., Curry, J.: Parallel ant colony for nonlinear function optimization with graphics hardware acceleration. In: IEEE International Conference on Systems, Man and Cybernetics, SMC, pp. 1803–1808. IEEE (2009)Google Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  • Antonio Llanes
    • 1
  • José M. Cecilia
    • 1
  • Antonia Sánchez
    • 1
  • José M. García
    • 2
  • Martyn Amos
    • 3
  • Manuel Ujaldón
    • 4
  1. 1.Department of Computer ScienceUniversidad Católica San Antonio de Murcia (UCAM)MurciaSpain
  2. 2.Department of Computer EngineeringUniversity of MurciaMurciaSpain
  3. 3.School of Computing, Mathematics and Digital TechnologyManchester Metropolitan UniversityManchesterUK
  4. 4.Department of Computer ArchitectureUniversity of MálagaMálagaSpain

Personalised recommendations