|
||
|
|
||
|
Although WIT Inc. itself is fairly new, its operations are based on the
WavePak processing system, which has a
history going back to 1984. WavePak was created to support research
on algorithms for seismic data processing. It was intended to provide
a friendly environment for developers and was also intended to be easy to
maintain and to port to new computer systems. Portability meant that good
software no longer was lost when companies moved to new hardware and operating
system environments. WavePak succeeded and lives today largely because the
industry moved to the "Unix" type operating systems that were reasonably
consistent over a variety of hardware platforms.
From piping to parallelism
Initially WavePak simply executed a sequence of programs. Later it was realized that there were many cases in which a sequence of seismic operations could act on a single seismic gather without having to write to disk after each operation. This required that the WavePak system tie the seismic operations together under a main program which would pass the seismic gather from one operation to another. This action is called "piping" of data. The "piping" in WavePak is not implemented using operating system pipes but is programmed directly into the WavePak system - important for support of automatic parallelism as mentioned below. In the early 1990's the industry was in the middle of a move to parallel processing. There were parallel algorithms that depended on the availability of shared memory across many compute nodes and what was called a "symmetric multi-processor operating system." Another scheme for parallel processing was the "distributed" viewpoint in which each machine was viewed as a separate compute unit that communicated with other compute units via the network. Data was moved between the machines by the use of message passing schemes. One of the first of these schemes to gain wide use was the "Parallel Virtual Machine" software (PVM) which was created at the University of Tennessee and Oak Ridge National Laboratory. This software was free and as development continued through the 1990's, it became very stable. The first implementations of another popular message passing scheme called MPI were made on top of PVM.
WavePak exploits PVM to implement "automatic parallelism" for a certain class of
algorithms that used the WavePak system piping.
There are two important features of the parallel processing supported by the
WavePak system. The first is that it does not inherently use any disk space on
the slave nodes - use of local disk is optional. The second and most important
feature of the parallelism in WavePak is that it supports fault tolerance
and load balancing in cases where the number of units of data to be processed is
large compared to the number of compute nodes in use.
WavePak Applications
|