Scientific models can be refined and explored using genetic/evolutionary algorithms (GA/EA). EAs form a class of generic optimisation methods, able to find optimal solutions to various problems at the cost of large computation workloads.
OpenMOLE implements distributed versions of these scientific algorithms and is thus a natural fit to exploit the computing resources made available in the iExec marketplace.
Our “DApp of the Week” series regularly features the most innovative applications built on top of iExec, to showcase what can be achieved with the tools and libraries made in iExec. Decentralized AI (ML), Birdie Blue (Fintech), Websensors (ML-based oracles) and Cerebrum (ML) were the first dapps to be featured in this series.
OpenMOLE is a platform for exploring digital models. It allows to:
OpenMOLE allows scientists to reduce the complexity of large-scale experiments. They do not need to acquire any specific skills to do high performance computing. They can ask broader scientific questions thanks to innovative model exploration methods and scale up thanks to simplified deployment on high-performance computers. In particular, it is possible to deploy experiments on the European EGI grid. The project team trains users and supports them in the learning process in line with the tool’s potential.
Its development began in the interdisciplinary framework of the Institut des Systèmes Complexes in 2008 driven by Dr. Romain Reuillon, quickly joined by Mathieu Leclaire.
OpenMOLE has been adopted by the scientific communities as diverse as social sciences and medical image analysis, showing its high genericity
It is free (AGPL 3 license) and its development continues today under the partnership framework of the ISC-PIF.
The iExec component of the platform is led by Dr. Jonathan Passerat-Palmbach, who is a research associate at Imperial College London, in the BioMedIA group, under Prof. Daniel Rueckert. He’s leading the informatics platform of the developing Human Connectome Project.
His research interests focus on distributed computing and software engineering applied to medical image analysis. He has worked on leveraging distributed computing to process large neuroscientific datasets and algorithms.
More recently, he started investigating the potential of decentralisation techniques (Web3, P2P, blockchains, …) for distributed computing and scientific data sharing.
SimPLU3D is a simulation model providing an implementation of multi-dimensional simulated annealing algorithm to produce built configuration from a set of boxes constrained by urban regulation that optimizes a utility function.
In the video, we can see SimPLU3D using OpenMOLE to find a large number of different design of simple buildings. Contrary to a classical optimisation problem where the objective function decreases as the optimizer is finding the best input parameters, here the exploration method is encouraged to find diverse outputs. A typical use case would be to reduce the number of options available for a local council to develop an urban area, while exposing many different configurations to the deciders.
In the diagram below, the SimPLU3D model is fed 7 different parameters ruling the design of a block of buildings. From this parameter space, 22,000,000 different configurations can be generated, using 2,551 years of equivalent CPU-time from a single desktop machine.
OpenMOLE’s input is to apply its advanced parameter space exploration methods to sift through all these configurations and identify the unique ones. The deciders can then restrict the number of different configurations they want to study and go from millions of configurations to a hundred to manually review for instance.
This approach is called Pattern Space Exploration and is extremely computationally greedy. It is however a perfect candidate for distributed computing techniques and the exploration and the configuration described in the diagram above has been processed in only 13 days using 4,000 workers in parallel thanks to the PSE method.
The OpenMOLE team aims to bring the optimisation and parameter space exploration methods at the heart of the OpenMOLE ecosystem to the iExec platform. We believe our joint expertise in modelling and simulation, optimisation methods and distributed computing is a unique advantage to build the first Dapp usable by many different scientific communities on the iExec Dapp Store.
OpenMOLE’s contributions will bring multiple valuable assets to the iExec network:
OpenMOLE has been using the iExec SDK to launch their off-chain computations. The optimization consist in running the same application with different sets of parameters each time. This is what we call a ‘bag of tasks’, this is a feature that will be implemented in the coming weeks.
OpenMOLE is now preparing the release of their version 8.
In addition to that, the OpenMOLE team also worked on their own Scala version of the iExec SDK. The OpenMOLE ecosystem is almost entirely written in Scala, making the integration of the current iExec SDK difficult. The Scala SDK is still at a very early stage but contributors are welcome :)
There’s still some work to do before OpenMOLE can directly benefit from iExec’s decentralized computing marketplace. Namely, the team will work in collaboration with iExec’s researchers to study decentralized storage solutions and how they can be inserted in the iExec workflow.
Telegram • Reddit • Twitter • Facebook • LinkedIn• Youtube • Github • Docs
Many thanks to Dr. Jonathan Passerat-Palmbach and Eric Rodriguez who contributed to this post.