Low Effort Porting Gives Great Scaling of Seismic Code on Numascale Shared Memory Cluster
Numascale and Statoil have initiated a collaboration to optimize OPM for Numascale systems. The original OPM code showed poor scalability even within a single node. With very limited effort, the collaboration was able to obtain almost linear scaling across an entire Numascale system. The configuration enables simulation of entire oilfields with fine grid resolution.
The Open Porous Media (OPM) initiative provides a set of open-source tools centered around the simulation of flow and transport of fluids in porous media. The aim of the Open Porous Media initiative is to develop an open-source simulator suite for flow and transport in porous media. The OPM initiative was launched in June 2009 based upon a proposal by Dr. Alf Birger Rustad at the Statoil Research Center in Trondheim, Norway. The initiative is currently supported by six research groups in Norway and Germany and several industry partners.
The goal of the initiative is to establish a sustainable environment for the development of an efficient and well-maintained software suite based on the following principles:
- All OPM modules are free software available under the terms of the GNU General Public License (GPL) version 3.
- OPM strives to use an open development model. This means that anyone can contribute on equal grounds:
- All source-code is hosted on public repositories on github.
- All developer infrastructure (e.g. mailing lists, bug tracking system, wiki) is open to the general public.
OPM aims to be useful for applications in many industrially relevant fields including CO2 storage, environmental engineering, and reservoir engineering.
OPM also tries to be easy to extend with new functionality; for this reason most OPM modules use the DUNE C++ template library to achieve good computational performance while keeping the code as easy to understand and maintain as possible.
Currently, OPM development is focused on oil reservoir engineering, enhanced oil recovery and CO2 sequestration, although contributions aimed at different fields are always welcome.
Numascale and Statoil have initiated a collaboration to port OPM to Numascale systems. The OPM code had not been reworked for parallelization beforehand and the original code did not scale outside one node. Still, and with very limited effort, the collaboration was able to show very good results. The Numascale implementation scales linearly on a large number of processor nodes. This allows for simulation of entire oilfields with fine grid resolution.
Example from real data simulation on an 8-node Numascale system
- Numascale enables linear scaling over multiple nodes, while conventional implementations do not scale outside one node.
- Large shared memory and number of cores are key
Numascale’s NumaConnect works with standard volume servers and provides up to 256 TBytes of system-wide shared memory using cache coherency logic with a directory-based protocol that scales to 4096 nodes. The cache coherency logic is implemented in an ASIC together with interconnect fabric circuitry with routing tables for multi-dimensional Torus topologies. This type of fabric is very scalable and the same topology is used in many of the world’s largest supercomputers.