Highly scalable Erlang framework for agent-based metaheuristic computing

Abstract Difficult search and optimization problems, usually solved by metaheuristics, are very often implemented in concurrent and parallel environment, as many metaheuristics (e.g. population- or agent-based) are inherently easy to parallelize. Therefore search for easy-to-use, robust and efficient frameworks dedicated for such computing methods, especially in the era of ubiquitous many and multi-core systems, is very desirable. Indeed, the development of multi-core architectures is incredibly fast and multicore CPUs can be found nowadays not only in supercomputers, but also in ordinary laptops or even phones. Efficient use of multicore architectures requires applying suitable languages and technologies, like Erlang. Its concurrency model, based on lightweight processes and asynchronous message-passing, seems very well suited for running massively concurrent code on many cores. Most of existing Erlang industrial applications are deployed on computers with up to 24 CPU cores, and there are hardly any reports on using Erlang on architectures exceeding 32 physical cores. In this paper we present our experiences with developing a concurrent Erlang-based computing platform, scaling computationally-intensive and memory-intensive applications up to 64 cores, using as examples global optimization and urban traffic planning problems.

[1]  Konstantinos Sagonas,et al.  More scalable ordered set for ETS using adaptation , 2014, Erlang Workshop.

[2]  Marek Kisiel-Dorohinicki,et al.  Evolutionary multi-agent systems , 2015, The Knowledge Engineering Review.

[3]  Marek Kisiel-Dorohinicki,et al.  Agent Populations as Computational Intelligence , 2003 .

[4]  James Reinders,et al.  Intel Xeon Phi Coprocessor High Performance Programming , 2013 .

[5]  Wojciech Turek Erlang as a High Performance Software Agent Platform , 2013, KES-AMSTA.

[6]  Bing Wang,et al.  Rolling Horizon Procedure for Large-scale Job-shop Scheduling Problems , 2007, 2007 IEEE International Conference on Automation and Logistics.

[7]  Dave Thomas Functional Programming - Crossing The Chasm? , 2009, J. Object Technol..

[8]  Tapabrata Ray,et al.  Agent-Based Evolutionary Search , 2010 .

[9]  Joe Armstrong,et al.  Programming Erlang: Software for a Concurrent World , 1993 .

[10]  Arne Andersson General Balanced Trees , 1999, J. Algorithms.

[11]  Jacques Ferber,et al.  MadKit: a generic multi-agent platform , 2000, AGENTS '00.

[12]  Aleksander Byrski,et al.  Tuning of agent-based computing , 2013, Comput. Sci..

[13]  Raul Poler,et al.  Models for production planning under uncertainty: A review ☆ , 2006 .

[14]  Ioannis E. Venetis,et al.  A scalability benchmark suite for Erlang/OTP , 2012, Erlang '12.

[15]  Michael J. North,et al.  Complex adaptive systems modeling with Repast Simphony , 2013, Complex Adapt. Syst. Model..

[16]  Yuan Yan Tang,et al.  An evolutionary autonomous agents approach to image feature extraction , 1997, IEEE Trans. Evol. Comput..

[17]  Francesco Cesarini,et al.  Erlang Programming , 2009 .

[18]  El-Ghazali Talbi,et al.  ParadisEO: a framework for parallel and distributed biologically inspired heuristics , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[19]  Aleksander Byrski,et al.  Agent-Oriented Computing Platform in Python , 2014, 2014 IEEE/WIC/ACM International Joint Conferences on Web Intelligence (WI) and Intelligent Agent Technologies (IAT).

[20]  Leszek Siwik Agent-Based Multi-Objective Evolutionary Algorithms with Cultural and Immunological Mechanisms , 2009 .

[21]  Enrique Alba,et al.  Cellular genetic algorithms , 2014, GECCO.

[22]  Gennaro Cordasco,et al.  Distributed Load Balancing for Parallel Agent-Based Simulations , 2011, 2011 19th International Euromicro Conference on Parallel, Distributed and Network-Based Processing.

[23]  Juan Julián Merelo Guervós,et al.  A Peer-to-Peer Approach to Genetic Programming , 2011, EuroGP.

[24]  Juan Julián Merelo Guervós,et al.  Unreliable Heterogeneous Workers in a Pool-Based Evolutionary Algorithm , 2014, EvoApplications.

[25]  Franco Cicirelli,et al.  An Agent Framework for High Performance Simulations over Multi-core Clusters , 2013, AsiaSim.

[26]  Robert Schaefer,et al.  Multi-agent computing system in a heterogeneous network , 2002, Proceedings. International Conference on Parallel Computing in Electrical Engineering.

[27]  Bob Edwards,et al.  Programming the Adapteva Epiphany 64-Core Network-on-Chip Coprocessor , 2014, IPDPS Workshops.

[28]  Marek Kisiel-Dorohinicki,et al.  Massively concurrent agent-based evolutionary computing , 2015, J. Comput. Sci..

[29]  Yugeng Xi,et al.  A rolling horizon job shop rescheduling strategy in the dynamic environment , 1997 .

[30]  Ron Alterovitz,et al.  Motion planning under uncertainty using iterative local optimization in belief space , 2012, Int. J. Robotics Res..

[31]  Agostino Poggi,et al.  JADE: a FIPA2000 compliant agent development environment , 2001, AGENTS '01.

[32]  Aleksander Byrski,et al.  Evolutionary Multi-Agent Computing in Inverse Problems , 2013, Comput. Sci..

[33]  Tucker R. Balch,et al.  Behavior-based formation control for multirobot teams , 1998, IEEE Trans. Robotics Autom..

[34]  Carlos Cotta,et al.  Asymptotic guarantee of success for multi-agent memetic systems , 2013 .

[35]  Marek Kisiel-Dorohinicki,et al.  The Application of Evolution Process in Multi-Agent World to the Prediction System , 1996 .

[36]  Yuan Yan Tang,et al.  Multi-agent oriented constraint satisfaction , 2002, Artif. Intell..

[37]  Konstantinos G. Margaritis,et al.  An Experimental Study of Benchmarking Functions for Genetic Algorithms , 2002, Int. J. Comput. Math..

[38]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[39]  Krzysztof Cetnarowicz,et al.  Software Agent Systems for Improving Performance of Multi-Robot Groups , 2011, Fundam. Informaticae.

[40]  Robert Schaefer,et al.  Formal model for agent-based asynchronous evolutionary computation , 2009, 2009 IEEE Congress on Evolutionary Computation.

[41]  El-Ghazali Talbi,et al.  ParadisEO: A Framework for the Reusable Design of Parallel and Distributed Metaheuristics , 2004, J. Heuristics.

[42]  Winfried Lamersdorf,et al.  Jadex: Implementing a BDI-Infrastructure for JADE Agents , 2003 .

[43]  Marek Kisiel-Dorohinicki,et al.  Immunological Selection Mechanism in Agent-Based Evolutionary Computation , 2005, Intelligent Information Systems.

[44]  Michael Pinedo,et al.  Planning and Scheduling in Manufacturing and Services , 2008 .

[45]  J. Banks,et al.  Discrete-Event System Simulation , 1995 .

[46]  Sean Luke,et al.  MASON: A Multiagent Simulation Environment , 2005, Simul..

[47]  Marek Kisiel-Dorohinicki,et al.  Generation-free Agent-based Evolutionary Computing , 2014, ICCS.

[48]  Jingwei Yang,et al.  Using many-core coprocessor to boost up Erlang VM , 2013, Erlang '13.

[49]  Marek Kisiel-Dorohinicki,et al.  Computing agents for decision support systems , 2014, Future Gener. Comput. Syst..

[50]  Marek Kisiel-Dorohinicki,et al.  Agent-Based Framework Facilitating Component-Based Implementation of Distributed Computational Intelligence Systems , 2013, Trans. Comput. Collect. Intell..