tNavigator on workstations
The following novel approaches were implemented in tNavigator in order to increase the efficiency of parallel computations on multi-core workstations:
- All calculations should be carried out in parallel, including linear system solutions, well equations, matrix operations, etc.
- Within each CPU involved in simulation, all data exchange is handled directly by system threads (Boost ~ 30-40%).
- NUMA (Non-Uniform Memory Access) is supported for multi-CPU workstations (Boost ~ 50%).
- Hyperthreading technology support within each CPU (Boost ~15%).
- CPU+GPU technology. Acceleration of solution of system of linear equations using NVidia GPU. The only GPUs starting Pascal architecture and latest CUDA drivers are supported (The speedup from GPU significantly depend on model physics and ratio for CPU to GPU performance).
The basic parallel algorithm in tNavigator is designed for multicore PCs. It is based on direct utilization of system threads, which seems to be optimal for task distribution between different cores within one CPU. This approach allows almost linear acceleration factors when applied on a modern PC.
Now we can see the continuous increase of PC computational efficiency due to progressive growth in the number of cores. Thus, each reservoir engineer can actually get a supercomputer on his desk, and reasonable hardware utilization allows nearly unlimited boost.
Example on the following workstations:
2011: Dual Xeon X5650, (2×6) 12 cores, 2.66GHz, 3 channels DDR3 1333 MHz (e.g. HP Z800)
2012: Dual Xeon E2680, (2×8) 16 cores, 2.7GHz, 4 channels DDR3 1600 MHz (e.g. HP Z820)
2013: Dual Xeon E2697v2, (2×12) 24 cores, 2.7GHz, 4 channels DDR3 1866 MHz (e.g. HP Z820)
2014: Dual Xeon E2697v3, (2×12) 28 cores, 2.6GHz, 4 channels DDR4 2133 MHz (e.g. HP Z840)
2016: Dual Xeon E2699v4, (2×22) 44 cores, 2.2GHz, 4 channels DDR4 2400 MHz (e.g. HP Z840)