Open MOdeL Experiment
Mathieu Leclaire
Romain Reuillon
Jonathan Passerat-Palmbach
Context
- Complex-system community
- Various scientific fields (not only physicists !)
- No global strategy for SSH community
- Large needs of HPC
OpenMOLE specifications

Embed a model as a black box
Zero deployment approach
- The code is the user's code, not a web service
- User code is automatically deployed at runtime
- Ships to remote environment
- No prior knowledge of remote environment needed
- No installation required on any machine
Portable code ... or not
Codes running on JVM (Java, Scala, Netlogo)

And others ... C, C++, Python, R, Fortran, Octave, Scilab, Haskell, OCaml, etc
Port (almost) any program to the grid in 3 simple steps
- Archive it with CARE* <=> execute it on linux
- Write your OpenMOLE workflow
- Click the run button
* http://reproducible.io
Packaging an application with Care
Applications have dependencies:
- Shared libraries
- Packages (Python, R, ...)
- Low level system calls
- Environment variables
- ...
Capture these dependencies and transfer along with the application from Linux to Linux
Automatic data transfers
and
Replica management
Files and folders transfers are handled transparently by OpenMOLE
What OpenMOLE does
Data parallelism
What OpenMOLE does not

Parallelisation by message / Task Parallelism
Example: Spark, MPI, ...
Powered by EGI
(and others)
Naturally parallel formalism to design experiments: a workflow
A workflow
val i = Val[Double]
val res = Val[Double]
val exploration = ExplorationTask ( i in (0.0 to 10.0 by 1.0) )
val model =
ScalaTask ("val res = i * 2") set (
inputs += i,
outputs += (i, res)
)
val env = LocalEnvironment(5)
val ex = exploration -< (model on env) start
Same workflow on the Grid !
val i = Val[Double]
val res = Val[Double]
val exploration = ExplorationTask ( i in (0.0 to 10.0 by 1.0) )
val model =
ScalaTask ("val res = i * 2") set (
inputs += i,
outputs += (i, res)
)
val env = EGIEnvironment("biomed")
val ex = exploration -< (model on env) start
Switching to the Grid Environment is so easy !
Web Application
Console interface

Market place
OpenMOLE for all communities, for all languages
OpenMOLE is neither dedicated to a scientific field nor to a language
- Chromosome structuring: Neuro Sciences, C++
- The SimTRAP project: Social Sciences, Netlogo
- The SimPOP project: Geography, Scala
- The BioEmergence project: Biology, C