The OpenMOLE platform
Romain Reuillon
Géographie-cités, CNRS
Models of complex-systems expose complex behaviours
Large scale experimentations on models
Methods
Design of experiments on a space of parameters |
 |
Calibration |
 |
Methods
Optimization |
 |
 |
Sensitivity analysis |
Naturally parallel algorithms => leverage parallelism.
What does OpenMOLE do ?
It implements exploration algorithms. |
 |
It transparently delegates computational loads to massively parallel environments out of the box. |
 |
Upscaling
Prototype small
Experiment large
A naturally parallel formalism to design experiments.
Embed your model as a black box
C
R
C++
Java
Scala
Scilab
Octave
Python
Netlogo
...
A Netlogo Task in OpenMOLE GUI
Transition
- Precedence relationship
- Data transfer
- Naturally parallel representation
Exploration transition
The exploration transition unrolls a design of experiment.
It creates one execution stream by sample in the design of experiment.
Describe the way to explore your space of parameters.
Aggregation transition
The aggregation transition gathers the results of a model exploration.
It allows to compute global indicators upon multiple parallel execution streams.
Assign execution environments to tasks.
val i1 = Prototype[Int]("i1")
val i2 = Prototype[Int]("i2")
val j = Prototype[Int]("j")
val hello = GroovyTask("hello", "j = Model.compute(i1, i2)")
hello addInput i1
hello addInput i2
hello addOutput j
hello addLib "/path/to/model.jar"
val exploration = ExplorationTask(
"exploration",
Factor(i1, 0 to 100 by 2 toDomain) x
Factor(i2, UniformIntDistribution() take 10)
)
val ex = exploration -< (hello by 10 on biomed) toExecution
ex.start
Chromosome structuring |
 |
 |
C++ 2 days per simulation 1600 simulations 8.5 years / CPU |
Junier et al., CTCF-mediated transcriptional regulation through cell type-specific chromosome organization in the β-globin locus, Nucleic Acids Research, 2012.
SimTRAP project |
 |
 |
NetLogo 5 minutes per simulation 100000 simulations 1 year / CPU |
PhD thesis of J. Figuel, Modélisation et simulation des comportements piétonniers dans les espaces de transport – Application aux échanges quai / train de voyageurs.
Bioemergence project |
 |
C / C++ / Python Web service Image processing Daily production |
Simpop project |
 |
 |
Scala 5 minutes per simulation 360 000 000 simulations 22 years / CPU |
Reuillon et al., Algorithmes évolutionnaires sur grille de calcul pour le calibrage de modéles géographiques, proceedings of France Grilles 2012.
1.5s by simulation
100 replications by fitness evaluation: 3min
millions of fitness evaluation
=> several decades of computation
Gain > 2000: 5.5 year of computation / day
We have established that the modeling hypothesis are sufficient to reproduce the dynamic.
Reusable / model independant / integrated in OpenMOLE... for instance reused for an epidemic model in NetLogo.
Download: http://www.openmole.org
Join us on the users@list.openmole.org
and on openmole.org