Netlogo Model Evaluation with OpenMOLE

Mathieu Leclaire
Jonathan Passerat-Palmbach
Romain Reuillon

Purpose

  • Provide state-of-the-art exploration methods
  • Tackle scalability using distributed computing
  • Is not intrusive in the model logic
  • Interoperate smoothly with NetLogo Models

1 - Model?



Your NetLogo model here, with the plugins and data.

NetLogo on Fire


val model =
  NetLogo5Task(
    workDirectory / "Fire.nlogo",
    List("setup", "while [any? turtles] [go]")) set (
    inputs += seed,
    outputs += (seed, density),
    netLogoInputs += (density, "density"),
    netLogoOutputs += ("burned-trees", burned)
  )

You model uses plugins?


val model =
  NetLogo5Task(
    workDirectory / "model" / "Model.nlogo",
    List("setup", "go"),
    embedWorkspace = true) set (
    ...
  )

The directory "model" is copied along with the nlogo file

You model uses data?


val model =
  NetLogo5Task(
    workDirectory / "Model.nlogo",
    List("setup", "go")) set (
    ...
    resources += workDirectory / "data.shp"
  )

The file "data.shp" is copied in your NetLogo workspace

2 - Method?


  • Data reconstruction
  • Parameter estimation
  • Sensitivity analysis
  • Robustness assessment
  • Optimisation
  • Diversity research
  • Hybrid, ex: optimisation + diversity
Designed in a scalable manner, handle stochasticity, is usable on any models and environments.

Genetic Algorithm

Master/slave

Diversity research

3 - Execution environment?


Prototype Small, Scale for Free

Zero deployment approach

  • User code is automatically deployed at runtime
  • No prior knowledge of remote environment needed
  • No installation required on any machine

Transparent access

  • Access as the user would do it
  • Use user credential
  • No preliminary step

Automatic data transfers
(+ Replica management)

Files and folders transfers are handled transparently by OpenMOLE

Today

Multi-thread
Delegation through SSH
PBS (on ssh)
SLURM (on ssh)
Condor (on ssh)
SGE (on ssh)
OAR (on ssh)
EGI Grid (trough DIRAC)
Adhoc Desktop Grid

Grid Computing

4000 cores (after a little administrative process... we can help you)

And now: hands on!

The terminology



The interface



Useful Links

Documentation www.openmole.org
Development version next.openmole.org
Source code github.com/openmole
Market place github.com/openmole-market
Demo instance demo.openmole.org

Thanks!

romain.reuillon@iscpif.fr
mathieu.leclaire@iscpif.fr
j.passerat-palmbach@imperial.ac.uk