Agent based simulation using graph processing frameworks

Agent-Based Simulations have become a powerful tool for modeling complex systems with interacting agents, especially in the fields of Economics, Biology, and the Social Sciences. However, a key limitation of Agent-Based Simulation frameworks used today, is its inefficiency in handling large-scale...

Full description

Saved in:
Bibliographic Details
Main Author: Ang, Anson Wai Kit
Other Authors: Cai Wentong
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2024
Subjects:
Online Access:https://hdl.handle.net/10356/181060
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:Agent-Based Simulations have become a powerful tool for modeling complex systems with interacting agents, especially in the fields of Economics, Biology, and the Social Sciences. However, a key limitation of Agent-Based Simulation frameworks used today, is its inefficiency in handling large-scale simulations. Traditional Agent-Based Simulation often struggle with performance issues, particularly when simulating large networks or populations. For instance, traffic simulations with thousands of vehicles or social network simulations with millions of agents can result in extensive running times and resource consumption. One of the main reasons for these performance bottlenecks is the lack of optimization in managing the dynamic and interconnected nature of agent interactions. In many Agent-Based Simulation implementations, agents and their interactions are treated as discrete events, leading to inefficiencies when scaling to larger systems. These inefficiencies are worsened by scenarios that require frequent updates. An example would be contagion models in epidemiology, where interactions change rapidly over time. On the flip side, Graph processing frameworks provide a promising solution to opti- mize Agent-Based Simulations. By representing agents as nodes and interactions as edges in a graph, these frameworks can leverage advanced graph algorithms and the power of parallel processing to significantly reduce computational overhead. Graph- based Agent-Based Simulation enables efficient querying, updating, and processing of complex networks, leading to significant performance improvements. Thus, the shift to graph-based Agent-Based Simulation is critical for up-scaling simulations to han- dle real-world applications involving millions of agents. By harnessing the power of distributed computing and graph processing techniques, Agent-Based Simulations can i reach greater heights and in turn, become viable in modeling real-world applications across various domains. In light of these observations, this report aims to explore methods to improve the performance of Agent-Based Simulations and to provide insights on the difference in performance between the generic Agent-Based Simulation approach and a graph processing approach. To accomplish this, a couple of common agent based simulation applications were implemented using both approaches. The performance of these approaches were analysed in terms of time taken across various input sizes.