Agent-based modelling constitutes a versatile approach to representing and simulating complex systems. Studying large-scale systems is challenging because of the computational time required for the simulation runs: scaling is at least linear in system size (number of agents). Given the inherently modular nature of MABSs, parallel computing is a natural approach to overcoming this challenge. However, because of the shared information and communication between agents, parellelization is not simple. We present a protocol for shared-memory, parallel execution of MABSs. This approach is useful for models that can be formulated in terms of sequential computations, and that involve updates that are localized, in the sense of involving small numbers of agents. The protocol has a bottom-up and asynchronous nature, allowing it to deal with heterogeneous computation in an adaptive, yet graceful manner. We illustrate the potential performance gains on exemplar cultural dynamics and disease spreading MABSs.
翻译:代理模型是一种表示和模拟复杂系统的通用方法。由于模拟所需的计算时间,研究大型系统是具有挑战性的:在系统规模(代理数量)上至少是线性的。考虑到MABS的固有模块化性质,并行计算是克服这个挑战的自然途径。然而,由于代理之间的共享信息和通信,因此并行化并不简单。我们提出了一种用于MABS的共享内存并行执行的协议。该方法适用于可以用顺序计算形式表示、并涉及仅涉及少量代理的更新的模型。协议具有自下而上和异步的特性,使其能够以自适应而优雅的方式处理异构计算。我们通过示例文化动态和疾病传播MABS展示了潜在的性能提升。