Experimenting on complex-system models in the cloud

Romain Reuillon, Mathieu Leclaire
Institut des Systémes Complexes, Paris Île de France

Romain Reuillon
Mathieu Leclaire

Complex-systems

The interactions matter


Large scale experimentations on models


Naturally parallel algorithms => leverage parallelism.

Generic solution for data driven parallelism

  • Model exploration
  • Stochastic process replication
  • Optimisation algorithms
  • Data processing

What does OpenMOLE do ?

It implements a workflow formalism for massively distributed algorithms.

It delegates transparently the computational loads to massively parallel environments.

Upscaling

Prototype small
Experiment large

Embed your model as a black box . . .

C
R
C++
Java
Scala
Scilab
Octave
Python
Netlogo
...

. . . in a Task

Provide executable commands, inputs and outputs with it.

.

Describe the way to explore your space of parameters.

Connect the tasks and build a workflow.

Assign execution environments to tasks.

Run and control the workflow execution.

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, new UniformIntDistribution take 10)
  )

val ex = exploration -< (hello by 10 on biomed) toExecution        
ex.start

Download: http://www.openmole.org

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.

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.

Bioemergence project

C / C++ / Python
Web service
Image processing
Daily production

3 months release cycle

  • June 2012: Boundless Bamboo (0.5)
  • September 2012: Crazy Coconut (0.6)
  • January 2013: Daddy Django (0.7)
  • April 2013: Elastic Earth (0.8)
  • July 2013: Funky Fakir (0.9)

  • Ergonomic (console and GUI).
  • Support DIRAC.
  • Runtime size divided by 2

Coming versions

  • Stabilization of the format - backward compatibilty.
  • Integration of state-of-the-art methods using HPC to study models.
  • Place the model at the center.
  • OpenMOLE server.

Join us on the users@list.openmole.org

and on openmole.org