Open Systems Laboratory at Illinois

Agent framework services to reduce agent communication overhead in large-scale agent-based simulations

By Myeong-Wuk Jang and Gul Agha. Simulation Modelling Practice and Theory, 14(6):679–694, 2006.

Publisher Link:
http://dx.doi.org/10.1016/j.simpat.2005.10.002

Abstract

Agent-based simulations are an essential tool in analyzing the behavior of real-world systems. Agent-based distributed simulations can be a useful in addressing the scale and complexity of such simulations. Because agents in such simulations intensively communicate with each other to perform their shared tasks, performance of the simulation is strongly related to the amount of inter-node message passing. In this paper, we propose two agent framework services to reduce the amount of inter-node message passing: dynamic agent distribution and search object-based middle agent services. We have implemented this framework in Java-based tool and used it to conduct simulations of up to 10,000 agents, where each agent represents a micro-UAV or a physical agent on the ground. In our experiments, the use of the dynamic agent distribution service reduces the runtime by 60%, and the use of the search object-based brokering service reduces the runtime by 50%. Although the performance improvements will vary in different simulations, our conjecture is that in cases where an agent-based simulation is affected by the temporal communication locality between agents, and there is complex agent–environment interaction, the two services will considerably improve the overall performance of a simulation.

BibTeX

@article{journals/simpra/JangA06,
    author = "Jang, Myeong-Wuk and Agha, Gul",
    title = "Agent framework services to reduce agent communication
             overhead in large-scale agent-based simulations",
    ee = "http://dx.doi.org/10.1016/j.simpat.2005.10.002",
    journal = "Simulation Modelling Practice and Theory",
    keywords = "multi-agent systems",
    number = "6",
    pages = "679-694",
    volume = "14",
    year = "2006",
}