Heterogeneous Scalable Multi-languages Optimization via Simulation

  • Gennaro Cordasco
  • Matteo D’Auria
  • Carmine SpagnuoloEmail author
  • Vittorio Scarano
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 946)


Scientific Computing (SC) is a multidisciplinary field that uses the computational approach to understand and study complex artificial and natural systems belonging many scientific sectors. Optimization via Simulation (OvS) is a fast developing area in SC field. OvS combines classical optimization algorithms and stochastic simulations to face problems with unknown and/or dynamic data distribution. We present Heterogeneous Simulation Optimization (HSO), an architecture that enable to distribute the OvS process on an Heterogeneous Computing systems. HSO is designed according to two levels of heterogeneity: hardware heterogeneity, that is the ability to exploit the computational power of several general-purpose CPUs and/or hardware accelerators such as Graphics Processing Units (GPUs); programming languages heterogeneity, that is the capability to develop the OvS methodology combining different programming languages such as C++, C, Clojure, Erlang, Go, Haskel, Java, Node.js, Objective-C, PHP, Python, Scala and many others. The proposed HSO architecture has been fully developed and is available on a public GitHub repository. We have validated and tested the scalability of HSO developing two different use cases that show both the levels of heterogeneity, and showing how to exploit Optimal Computing Budget Allocation (OCBA) algorithm and a Genetic Algorithm in a OvS process.


Simulation via optimization Multi agent-based simulation Optimization Parallel computing Heterogeneous computing GPU Computing 


  1. 1.
    Abar, S., Theodoropoulos, G., Lemarinier, P., O’Hare, G.: Agent based modelling and simulation tools: a review of the state-of-art software. Comput. Sci. Rev. 24, 13–33 (2017)CrossRefGoogle Scholar
  2. 2.
    Balan, G., Cioffi-Revilla, C., Luke, S., Panait, L., Paus, S.: MASON: a Java multi-agent simulation library. In: Proceedings of the Agent 2003 Conference (2003)Google Scholar
  3. 3.
    Bianchi, L., Dorigo, M., Gambardella, L., Gutjahr, W.: A survey on metaheuristics for stochastic combinatorial optimization. Nat. Comput. 8(2), 239–287 (2009)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Carillo, M., Cordasco, G., Serrapica, F., Scarano, V., Spagnuolo, C., Szufel, P.: SOF: zero configuration simulation optimization framework on the cloud. In: 2016 24th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP), pp. 341–344. IEEE (2016)Google Scholar
  5. 5.
    Carson, Y., Maria, A.: Simulation optimization: methods and applications. In: Proceedings of the 29th Conference on Winter Simulation, WSC 1997, pp. 118–126. IEEE Computer Society, Washington, DC (1997)Google Scholar
  6. 6.
    Dakota. Accessed 2017
  7. 7.
    David, E., Jon, K.: Networks, Crowds, and Markets: Reasoning About a Highly Connected World. Cambridge University Press, New York (2010)zbMATHGoogle Scholar
  8. 8.
    Donaldson, V., Berman, F., Paturi, R.: Program speedup in a heterogeneous computing network. J. Parallel Distrib. Comput. 21(3), 316–322 (1994)CrossRefGoogle Scholar
  9. 9.
    A Java-based evolutionary computation research system. Accessed 2017
  10. 10.
    Epstein, J.: Generative Social Science: Studies in Agent-Based Computational Modeling (Princeton Studies in Complexity). Princeton University Press, Princeton (2007)Google Scholar
  11. 11.
    Fu, M. (ed.): Handbook of Simulation Optimization. Springer, New York (2014). Scholar
  12. 12.
    Gabriel, E., et al.: Open MPI: goals, concept, and design of a next generation MPI implementation. In: Kranzlmüller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol. 3241, pp. 97–104. Springer, Heidelberg (2004). Scholar
  13. 13.
    Gao, S., Xiao, H., Zhou, E., Chen, W.: Optimal computing budget allocation with input uncertainty. In: Proceedings of the 2016 Winter Simulation Conference, WSC 2016, pp. 839–846. IEEE Press, Piscataway (2016)Google Scholar
  14. 14.
    Goux, J., Kulkarni, K., Linderoth, J., Yoder, M.: An enabling framework for master-worker applications on the computational grid. In: Proceedings the Ninth International Symposium on High-Performance Distributed Computing, pp. 43–50 (2000)Google Scholar
  15. 15.
    Gulyás, L., Szabó, A., Legéndi, R., Máhr T., Bocsi, R., Kampis, G.: Tools for large scale (distributed) agent-based computational experiments. In: Proceedings of CSSSA (2011)Google Scholar
  16. 16.
    Heterogeneous scalable multi-languages optimization via simulation GitHUb repository. Accessed 2017
  17. 17.
    Kempe, D., Kleinberg, J., Tardos, E.: Maximizing the spread of influence through a social network. In: Proceedings of the Ninth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD 2003, pp. 137–146. ACM, New York (2003)Google Scholar
  18. 18.
    Leskovec, J., Adamic, L.A., Huberman, B.A.: The dynamics of viral marketing. ACM Trans. Web 1(1) (2007)CrossRefGoogle Scholar
  19. 19.
    Leskovec, J., Krevl, A.: SNAP datasets: stanford large network dataset collection, June 2014.
  20. 20.
    Nickolls, J., Buck, I., Garland, M., Skadron, K.: Scalable parallel programming with CUDA. Queue 6(2), 40–53 (2008)CrossRefGoogle Scholar
  21. 21.
    OptTek metaheuristic optimization. Accessed 2017
  22. 22.
    Ozik, J., Collier, N.T., Wozniak, J., Spagnuolo, C.: From desktop to large-scale model exploration with swift/T. In: Proceedings of the 2016 Winter Simulation Conference, WSC 2016, pp. 206–220. IEEE Press, Piscataway (2016)Google Scholar
  23. 23.
    ParadisEO. Accessed 2017
  24. 24.
    Reuillon, R., Leclaire, M., Rey-Coyrehourcq, S.: OpenMOLE, a workflow engine specifically tailored for the distributed exploration of simulation models. Futur. Gener. Comput. Syst. 29(8), 1981–1990 (2013)CrossRefGoogle Scholar
  25. 25.
    Richmond, P.: Flame GPU technical report and user guide. Department of Computer Science Technical report CS-11-03 (2011)Google Scholar
  26. 26.
    Tisue, S., Wilensky, U.: NetLogo: a simple environment for modeling complexity. In: International Conference on Complex Systems, pp. 16–21 (2004)Google Scholar

Copyright information

© Springer Nature Singapore Pte Ltd. 2018

Authors and Affiliations

  • Gennaro Cordasco
    • 1
  • Matteo D’Auria
    • 2
  • Carmine Spagnuolo
    • 2
    Email author
  • Vittorio Scarano
    • 2
  1. 1.Dipartimento di PsicologiaUniversità degli Studi della Campania “Luigi Vanvitelli”CasertaItaly
  2. 2.ISISLab, Dipartimento di InformaticaUniversità degli Studi di SalernoFiscianoItaly

Personalised recommendations