External Parallelization of Reservoir Simulators Using a Network of Workstations and PVM.
This paper shows a simple way to perform external parallelization of reservoir simulators to help engineers in the process of production history matching. The key idea is to use external parallelization without modification of the existent reservoir simulators sequential codes, providing efficient and simple solutions procedures. An homogeneous network of workstations is used to create a virtual machine by using the software PVM.
This work provides a procedure to make sensitivity analysis of different reservoir parameters and an optimization technique to choose the best value for each parameter. The influence of the number of workstations is studied and a comparison between the wall clock time and number of iterations of sequential and parallel algorithms for different cases is presented. The sensitivity analysis and the optimization algorithm are tested and the advantages of external parallelization are presented. It is shown that it is not necessary to modify or adapt reservoir simulators codes to take advantage of parallelization.
This procedure is a possible solution to the lack of parallel software in reservoir simulation and is the first step to perform efficient semi-automatic history matching by using external parallelization. The process shows a good performance and can also be used in other areas of the petroleum industry such us production optimization, well spacing optimization, etc.
The big time consumption of reservoir simulations is forcing the development of codes that take advantage of parallel machines. However, the development of petroleum engineering software is not following the improvement of parallel computer technology. One reason for this gap may be the complexity of the development of good parallel reservoir simulators.
Published papers in the petroleum engineering literature show that great attention has been given to internal parallelization through development of new software or modification of existing simulators codes. Authors choose different parallelizable parts of the simulator code where they apply parallelization techniques. They propose different ways and algorithms to take advantage of parallel computers.
This procedure has many advantages but the development of such software can be very complex. One alternative to this procedure is to take advantage of parallel computers and network of workstations without modification of reservoir simulators codes (external parallelization).
This paper shows some advantages of applying external parallelization to a commercial simulator and shows a methodology to use an existing network of workstations to save time in the history matching process. This type of procedure has the advantage of simplicity, shortening the time of software development.
In most of the petroleum engineering literature about parallelization of reservoir simulation, most of the attention has been given to the solution of the system of equations resulting from the conservation equations. Some attention has been dedicated to other parts that consume computing time. Sometimes, this is the best procedure but in many others, the resulting codes are complex, their development is slow, and their reusability is complicated.
Ouenes and Weiss, for instance, used PVM to perform an "automatic" history matching using internal parallelization. The same type of work is shown in many other papers in the petroleum engineering literature. This procedure is important but the development of such software can require an excessive amount of work.
Because many companies have a network of workstations that are not fully utilized, especially during the night, we tried to develop a technique that is very easy to use, simple to learn and to program, and that can use all the potential of the existing machines.
The objective of this work is to study the viability to do external parallelization of a commercial simulator that was built to run serially. The simulator is run in each workstation available in the virtual machine created by PVM. This kind of parallelization allows the simulation of different input files at the same time and, therefore, it is easy to do a sensitivity analysis followed by an optimization method to choose the value that makes the best history matching. The efficiency of the process is evaluated comparing the performances of parallel and serial algorithms, studying also the number of workstations that gives the best performance for the parallel process.