A Hybrid Approach to Parallel Compositions Reservoir Simulation
Authors: Sherman A.H. 
Published: October 2008

Abstract
Parallel computation offers a cost-effective approach to important petroleum computations such as compositional reservoir simulation. However, straightforward approaches to parallel simulation seem unlikely to work well, since different portions of the computation require quite different parallel designs in order to properly balance the computational load among the computational processes. This paper describes a hybrid approach to parallel simulation that uses both static decomposition and dynamic load balancing techniques. When implemented in a high-level language, the hybrid approach should lead to a reservoir simulator that is both portable and efficient.

1 Introduction
The numerical simulation of petroleum reservoirs is now widely accepted as a means of planning, evaluating, and even defending development strategies for oil and gas reservoirs.* The application of simulation has gone far beyond its traditional targets of engineering strategies related to drilling, injection, and production. Simulations are frequently used for economic evaluation (including allocation of revenues of unitized fields), as part of government regulatory activities, and for other purposes including the study of environmental issues.
The complexity of simulation modeIs may vary depending on the application. We are interested here in situations where the model is intended to provide a detailed quantitative understanding of the multiphase flow of hydrocarbons, water, and other fluids through an underground porous-rock reservoir. Such a rnoclcl is by nature dynamic, since significant fluid movements and changes may occur, and its use will be very compute intensive, since a relatively fine-scale model must be applied over an extended period of (model) time. As a result, we expmt that the effective use of the highest performance computers will be required in order to provide a simulation tool that is responsive enough to be useful for practical engineering work. A few years ago, that meant the use of vector computers such as those provided by Cray Research, Inc. and others. Today, it means the use of any of a number parallel computers that are either on the market or under development by several different vendors.
In this paper, we propose an approach to reservoir simulation suitable for usc on MIMD parallel computers, i.e., those in which many processors run independent programs and cooperate to carry out the simulation. Examples include computers from Intel Corporation, NCube, and others; in certain circumstances, a large set of network-connected workstations might also qualify. The essence of the machines from our point of view is that there are a large number of processors (several tens or more) and that each processor runs its own separate program process (which may differ from those of other processors). Interaction and synchronization among processes is assumed to be explicit through 'shared data or data exchange.
A number of issues are critical to achieve high performance on MIMD parallel computers. For example, it is important that there be a balance between process computation and interprocess interaction so that the various resources (memory, cpu, etc.) are utilized as well as possible.