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




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