You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Proposal for how to modify OpenMalaria to allow patch models
Required scope: a patch model implementation that does not lead to complications or changes in the specification of single site models.
Proposed model:
Multiple OpenMalaria instances are run in parallel.
At each time step, some number of randomly sampled simulated humans are exchanged between each pair of instances.
These numbers are specified by a symmetric K x K matrix, where K is the number of patches.
Interface
The interface would be a list of xml specifications, and the ‘contact’ matrix.
The ‘model’ element of the xml should be identical across all instances, as should the numbers of simulation steps.
Parallelisation (issue #204) should be implemented as part of this.
We would only need a Unix version of this for running on a cluster.
The text was updated successfully, but these errors were encountered:
Technically there are two paths to implementing this:
Multiple executables communicating via shared memory or message passing. This is flexible (patch specifications are entirely independent), but requires establishment of multi-process communication, synchronisation between processes, and a serialisation format for all data shared between processes (already implemented for checkpointing, but requires adjustment).
Single-process model. This is simpler to implement except that (a) the monitoring system needs adjustment to handle multiple patches and (b) many parts of the specification, e.g. demography, would have to be identical in each case or require additional code changes.
It is my opinion that we should keep this goal in mind while implementing #204 and refine the proposal afterwards.
My initial suggestion was based on the idea that we would use path (1), which I would imagine could require fewer (no?) changes to the xml interface for the user running a single site model, with most of the new functionality programmed as a wrapper for instances of the existing executables.
Proposal for how to modify OpenMalaria to allow patch models
Required scope: a patch model implementation that does not lead to complications or changes in the specification of single site models.
Proposed model:
Multiple OpenMalaria instances are run in parallel.
At each time step, some number of randomly sampled simulated humans are exchanged between each pair of instances.
These numbers are specified by a symmetric K x K matrix, where K is the number of patches.
Interface
The interface would be a list of xml specifications, and the ‘contact’ matrix.
The ‘model’ element of the xml should be identical across all instances, as should the numbers of simulation steps.
Parallelisation (issue #204) should be implemented as part of this.
We would only need a Unix version of this for running on a cluster.
The text was updated successfully, but these errors were encountered: