Designing a Distributed Agent Based Modelling Framework for Simulating Pathogen Transmission on and among Salmon Farms

Principal Investigator: Gregor McEwan
Co-Investigator: Crawford Revie

Simulation models allow us to ask “what-if” questions. Agent-Based Models (ABMs) simulate simple behaviours of individuals, or agents. Complex behaviours emerge from accumulations of simple individual behaviours, much like the complex patterns of a flock of birds emerge from the simple behaviours of each bird.

ABMs can provide powerful results, but suffer from a major limitation: they are computationally expensive. While modern computers can simulate many thousand agents’ behaviours, realistic situations may require simulation of hundreds of thousands or millions of individuals. One solution is to distribute the agents across a network of computers and balance the resource requirements. There are many options for creating a distributed ABM (dABM), with considerations of flexibility, usage effort, scalability, and hardware/software requirements. Currently we have little idea of the most effective creation of a dABM. Can we use an existing framework? Do we need to implement our own?

We propose a two-step solution. First, we will survey the options, ranging from existing dABM frameworks to customized implementations. Second, we will create a small number of exploratory prototypes using the most appropriate options. These are the necessary first steps to creation of a dABM for modelling pathogen transmission on salmon farms at realistic scales. An operational dABM will allow industry, researchers, and regulatory bodies to simulate and compare management strategies for pathogen control while balancing economic, resistance, health, and environmental concerns.


H1. There is an existing framework for implementing distributed agent based models that we can use, unmodified, for implementing a dABM for pathogen transmission on salmon farms, and this framework will be:

i.    Able to apply the functionality of the current model, and extensions;
ii.   Simple to program modelling extensions;
iii.  Easy to integrate with other functions, e.g. graphical user interface;
iv.  Minimal in cost for hardware and software;
v.   Easily scaled to different hardware, as it becomes available.

H2. It is possible to build a distributed ABM that can simulate behaviours of >500 000 individual salmon and execute simulations as quickly as the current, single-machine ABM.


  1. Survey existing options for building a dABM with the requirements in H1.
  2. Create a dABM prototype with functionality comparable to the current ABM, and test for scalability.