|Source||CMES: Computer Modeling in Engineering & Sciences, Vol. 106, No. 3, pp. 169-186, 2015|
|Download||Full length paper in PDF format. Size = 3,046,997 bytes|
|Keywords||Multi-agent simulation system, MAS, performance optimization, loadbalancing.|
This paper describes a scheme to improve efficiency of multi-agent simulation system (MAS) on single computer that has multiple processor cores. Simulation technology is applied for broad usage in the world, and MAS gathers attention from the fields that treat complicated and non-numeric issues such as traffic analysis, analyzing evacuation from a building, and defense training. Since the requirements of simulation scale and fidelity are growing, the importance of their performance is also increasing. However, CPU clock speedup is slowing, and improvement of computer performance has come to depend on the number of processors, cores, and graphics processing units. Consequently, load distribution and balancing are the keys to deriving better performance, and we consider there is a brilliant move to improve efficiency by utilizing MAS's peculiar attributes. We have developed a multi-agent system framework called Furuichi-lab Unified Simulation Environment (FUSE) that enables easy building of MAS systems and can control thousands of agents with human-like artificial intelligence in real time on standard personal computers. Since agents are heterogeneous and their cluster size can vary, including in our MAS application, we have based our load-balancing method on estimating each agent's workload. Load-balancing must be the basic function of the framework, and the load-balancing method must be available implicitly without any intention on the part of simulation developers. Therefore, the workload estimation process must be independent of the application. We propose an efficient load-balancing scheme for MAS that utilizes the history of agents' workload records. In this paper, we describe the algorithm of our proposed scheme, show an overview of preliminary experiments using a prototype core system, and then explain the results and discuss the effectiveness of this scheme by applying it to a practical simulation program.