Parallel/Distributed Software for the Petroleum Industry
Many applications in the petroleum industry can benefit tremendously
from parallel computation. Examples include both seismic data processing
and reservoir simulation.
One of the most popular software tools for parallel processing is Linda. Linda is a high-level language for developing portable
parallel applications. Using Linda, it is possible to rapidly develop efficient
versions of FORTRAN and C programs to run on a variety of platforms, including
parallel MIMD computers or across networks of high performance workstations.
SCIENTIFIC has worked closely with the petroleum industry to develop parallel
applications. In a joint project with Weidlinger
Associates, SCIENTIFIC helped to develop parallel raytracing software
for seismic modeling.
INTEGRA 3-D Seismic Modeling Program
Computing acoustic wavefields is extremely difficult for complex 3-D
geophysical models. One successful technique for this task involves the
use of ray-tracing, in which the software computes the travel paths of rays
orthogonal to the acoustic wavefronts. The INTEGRA seismic modeling program,
developed by Weidlinger Associates, is a commercial implementation of the
ray-tracing approach.
To speed up the modeling process, Weidlinger Associates reimplemented INTEGRA
for execution on parallel computes and on networks of workstations using
Linda. Linda was chosen because of its efficiency, portability, ease of
use, and commercial support from SCIENTIFIC.
To parallelize INTEGRA, the well-known master-worker paradigm was used.
In this approach, the master process sets up the problem, creates a number
of worker processes and generates a collection of ray-tracing tasks. Each
worker process then repeatedly grabs a task, computes the required ray paths
and records the results. Meanwhile, the master process collects the results
and carries out post-processing such as visualization. The computation ends
when all ray tracing tasks have been completed. So long as there are sufficiently
many tasks, the total computation time may be decreased simply by creating
a large number of workers.
Linda is ideal for this application since it permits dynamic load balancing
among the worker processes in a particularly simple and natural way. The
code was easy to develop and debug, and as shown in the accompanying chart,
it performs well. Notice that the code displays essentially linear speedup--that
is, the computational speed increases in direct proportion to the number
of workers. Thus the program makes particularly effective use of system
resources.

Looking for Oil with Linda
The search for oil and gas makes heavy use of reflection seismology to
promote an understanding of subsurface geology. The first step is the collection
of raw data by seismic surveys (experiments measuring the strength of signals
reflected from pulses induced at the earth's surface). Typical surveys use
multiple source and receiver locations and yield large quantities of data
for analysis. Since the trend is toward the generation of large three-dimensional
datasets to increase the accuracy of the subsurface information, the problem
size can be expected to grow rapidly.
To build up an image of the subsurface geological structure for analysis
by a trained geophysicist, the raw data must be correlated and corrected
for distortion caused by such things as variations in signal strength and
subsurface material densities.
A technique know as prestack depth migration gives the most focused and
correctly positioned images. However, besides number-crunching power, it
demands much in terms of storage and data movement. So most of the 3-D prestack
migration work to date has been conducted on large vector or parallel supercomputers,
and using such machines for such enormous computations has proved too costly
for most exploration programs.
At IBM's Parallel and Geoscience Computing Group in Dallas, TX, however,
James Black, Chen Bin Su, and their colleagues have called on Linda
to process seismic data on networks of IBM RS/6000 workstations. They used
Network Linda to run 3-D prestack migration on a dataset of 900 traces of
500 samples each. (The output image was a box containing 64 by 64 by 256
points) The computation was carried out on a cluster of 32 workstations,
each with a 62.5-MHz clock and 64 MB of memory, connected by a token ring.
For the basic migration computation (that is, for the parallelizable compute-intensive
part of the processing), nearly perfect parallel speedups (based on elapsed
times) were obtained with four to 31 workstations.
However, the speedups ignore the additional time required to integrate the
partial images on the master workstation for display or other purposes.
The time for image collection depends on the interconnection network, and
for relatively slow networks based on Ethernet or token ring technology,
it can be a significant fraction of the total application time. For this
example, the limiting effects of the token ring network have little impact
for cluster sizes of 20 nodes or so, but markedly degrade parallel performance
past that point.
~ Leigh D. Cagan and Andrew H. Sherman