It’s finally there!
After 6 years of hard work we made it to 1.0 (Heroic Hippo). It combines stability and ergonomic interfaces to provide the best model exploration tool ever made. OpenMOLE is a workflow engine designed to leverage the computing power of distributed execution environments for naturally parallel processes. A process is said naturally parallel if the same computation runs many times for a set of different inputs, such as model experiment or data processing…
We are very proud of this success, that has been made possible thanks to the effort and support of a dynamic community of developers, users and also several academic funding.
This version has mostly focus on stabilization, with some novelties nevertheless:
* the distributed computing feature of OpenMOLE are now very robust and efficient,
* the evolutionary algorithm part has matured and is usable to explore models from the console API,
* a new distributed environments (SLURM) is now available.
In the next versions:
* the graphical interface will be multi-user, web based and run in the browser,
* new environments will be provided (Condor, SGE),
* advanced methods such as genetic algorithm will be usable from the graphical interface,
* it will be possible to generate console scripts from a graphical workflow,
* bootstrapping methods that quickly and automatically embed your models in OpenMOLE will be implemented.
The OpenMOLE team
OpenMOLE (version 0.5) is a piece of software for intensive scientific computing. OpenMOLE is the result of 4 years of daily work with model exploration issues in diverse fields (Human Sciences, Physics, Geography, Food-processing,…). It is 100% FOSS (Free and Open Source Software), 100% written in Scala.
It targets modelers who explore their models at wide scales. It makes it possible to generate automatically wide design of experiments (full-factorial, LHS, Saltelli…) and to take advantage of the computing power of massively parallel execution environments such as computing grids and clusters. It exposes a workflow formalism to design parallel processings in a natural way.
Strengths of OpenMOLE:
- a zero-deployment approach: the programs (C, C++, Python, Java, Scala, NetLogo, etc) are embedded at runtime and do not require installing software on execution machines,
- a small number of base concepts to handle (4):
- tasks (the executable components containing the model for instance);
- prototypes (types variables) which are transferred from one task to another;
- samplings (how to explore my model?);
- environments (where my jobs are executed?);
- a modular development for extending the platform with plug-ins in short time and based on OSGi,
- an optimized and effortless access to grid resources (automatic resource discovery, eager submission, failure handling, management of data transfer …),
- a specific task to embed NetLogo models,
- a formal workflow validation prior to the execution based on a strongly typed dataflow,
- its scalability: it manages up to hundreds of thousands of task executions from a laptop;
- a scripted interface as well as an ergonomic graphical user interface.
Mathieu Leclaire and Romain Reuillon