Thomson 2006
Thomson 2006
SUMMARY cluding how it has been applied to seismic data interpolation, as well as
some specific new issues that our scheme introduces to this (and other)
We propose using overlapping, tapered windows to process seismic algorithms. Finally, we show and discuss the results of applying this
data in parallel. This method consists of numerically tight linear oper- algorithm to a synthetic seismic data set with missing traces.
ators and adjoints that are suitable for use in iterative algorithms. This
method is also highly scalable and makes parallel processing of large
seismic data sets feasible. We use this scheme to define the Parallel BACKGROUND
Windowed Fast Discrete Curvelet Transform (PWFDCT), which we
apply to a seismic data interpolation algorithm. The successful per- Parallel computation is necessary to solve realistic problems in many
formance of our parallel processing scheme and algorithm on a two- fields. The way in which computations are split in order to run in par-
dimensional synthetic data is shown. allel is highly dependent on the particular problem in question, but two
very basic approaches are commonly used in a wide variety of appli-
cations. Any algorithm that involves a large number of independent
operations on independent data are easily run in parallel by simply
INTRODUCTION
giving each computing node a share of the work, without the need for
any communication between nodes for the duration of the process. A
Realistic seismic data sets, especially three-dimensional ones, can be large Monte Carlo experiment, for instance, is easily run in parallel in
extremely large. It is not uncommon for a data set to be orders of mag- this way. Another approach to building parallel algorithms is to give
nitude larger than what one could hope to fit in a computer’s memory. each node a unique window of the data set that it is capable of han-
This presents obvious challenges when attempting to process seismic dling. In some cases, these windows can have small overlaps. This
data and ultimately use it to create images of the subsurface. One ap- is particularly useful in solving differential equations, where, for ex-
proach is to simply shrink the data set by downsampling or by consid- ample, finite difference solvers require knowledge of a function at a
ering only a small subsection of the full data set. In many situations, given point of interest as well as the value of that same function at all
however, this is not satisfactory, and so a means for processing (and of the points surrounding it (see e.g. J. Fan and Rector, 1997). How-
later imaging) the full data set is needed. Ideally, such a scheme would ever, under some circumstances, running an algorithm unchanged in
provide a straightforward way to make use of existing useful methods parallel becomes very difficult. The FFT, for instance, requires a mas-
for processing small data sets. sive amount of communication when the data are spread across mul-
tiple nodes in parallel. As the number of nodes grows, the amount of
The obvious solution to problems that require more memory than any
information that needs to be communicated becomes unfeasible. By
single computer can offer is to use a large number of computers in
extension, this also impacts the FDCT (L. Ying and Candès, 2005).
parallel. Parallel systems of various types are very common in high
performance computing, and are applied to problems of all sorts, in- FFT-based operations, like the FDCT, as well as other operations that
cluding many in seismic data processing. For instance, a parallel im- are not easily run in parallel, often have desirable properties that can
plementation of the Fast Discrete Curvelet Transform (FDCT), which be exploited to find solutions to various problems. Thus, it is advanta-
can be applied to a variety of problems in seismic processing, exists geous to have a system under which these operations can be performed
(L. Ying and Candès, 2005). However, there are limitations to the in parallel on large amounts of data. One approach is to split the data
scalability of this implementation, to the extent that processing typ- into subsections, or windows, and operate on these separately. This
ical large seismic data sets is still intractable. As is the case with approach is ”embarrassingly parallel” - in other words, no communi-
many classes of parallel algorithms, scalability is limited by growths cation between neighbouring processes is necessary during process-
in the amount of communication required between processors working ing. However, this approach often fails due to the creation of arti-
in parallel, though this is dependent on the properties of the specific facts at the edges of the windows (J. Fan and Rector, 1997) as a re-
system being used (see e.g. Gupta and Kumar, 1993). Other classes of sult of, for example, the Gibbs phenomenon, which arises when an
parallel algorithms involve splitting data sets into small pieces (”win- approximation of the data (rather than the full representation in the
dows”) and consider each window separately. While this is perfectly transform domain) is taken. Approximations in transform domains are
legitimate in many applications, problems can arise at window borders common, so a parallelization approach that eliminates the impact of
for a variety of reasons, including, commonly, artifacts related to the edge artifacts is necessary. Even when approximations are not taken
periodicity of the transform or to the discontinuity across the border. on separated windows, it is possible that differences between windows
will be introduced through the process. Also, to be scalable such
Here, we consider the application of overlapping windows processed
that it could feasibly handle large data sets, any parallel processing
in parallel to a seismic data interpolation algorithm that makes use
scheme must minimize the amount of necessary communication be-
of the FDCT. These overlapping windows include a taper that is ap-
tween nodes. Furthermore, any parallelized operation that is going to
plied to overlapping regions such that the overall energy of the system
be performed repeatedly (i.e. as part of some iterative solver) needs
is preserved throughout the operation. We restrict ourselves to two-
to have a defined adjoint operation, and should preserve energy. To-
dimensional data here, but this method is easily generalized to an ar-
gether, these properties create a numerically tight frame that will not
bitrary number of dimensions. This parallelization scheme addresses
introduce any growing error in an iterative process.
shortcomings of other schemes that could be applied to this problem,
and can be generalized to create parallel windowed versions of a wide
variety of operators.
The taper is applied across the outer region of the overlapping win-
dows, affecting points that are within a distance of 2ε from an edge.
The tapering function b must satisfy the relationship
where b0 and b00 signify the tapers in adjacent windows that cover the
same region. For consistency, we consider the application of an iden-
tical tapering function b to all windows. It follows from Eq. 1 that
where n is an integer on the interval [1, 2ε], and subject to the boundary
conditions b1 = 0 and b2ε = 1. This condition ensures that the energy
of the system is conserved when summing values from adjacent win-
dows that represent the data at the same location. There are many
examples of functions that satisfy this relationship (Mallat, 1998), the
simplest being:
(n − 1)π
bn = sin . (3)
2(2ε − 1)
To taper the end of the data set along each dimension, the function b is
translated to the points n = {N, N − 1, · · · , N − 2ε + 1}, where N is the
total size of the overlapping windows. The tapering function is then
(N − n)π
bn = sin . (4) Figure 1: 2D synthetic seismic data with 30% missing vertical traces.
2(2ε − 1)
Dotted lines represent borders of overlapping windows. Taper function
is shown above for clarity.
Once the data is split into overlapping windows and tapered, opera-
tions, like the FDCT in our particular case, can be performed on each
window independently. The shape of the taper function and the over- Perhaps the most useful part of considering windowing and tapering as
lap of neighbouring windows are both shown in Figure 1. The data in linear operators in matrix form is that looking at these matrices makes
this case is split into sixteen overlapping windows, four horizontally understanding the adjoints of these operations simple. Since T is diag-
and four vertically. The dashed lines in the image represent the edges onal, it is its own adjoint. For W, the adjoint operation involves sum-
of the overlapping windows, with the region between nearby paral- ming together overlapping regions. Since the forward operation was a
lel lines being shared between the two windows. The taper function ”scatter,” the adjoint becomes a ”gather,” where data that correspond
is shown, where one can see the value going to zero at the window to the same point are summed (Claerbout, 1992). In a parallel comput-
edges. Since the image and all windows are square in this case, the ing realization, this means that a given node sends its outer band to the
taper functions along the vertical axis are the same as the horizontal nodes to which they belong, then gathers data related to its inner band
ones that are shown. Also, note that tapering is not done at the edges from those same neigbours, and sums them together. Importantly, the
of the image, since this would remove energy from the system. This combination of these processes satisfies the relation
issue can be successfully dealt with in a number of ways, but we omit
this discussion. WH TH TW = I, (5)
Much future work is expected to arise from the ideas described herein.
In particular, we will apply the PWFDCT to other seismic data pro-
cessing algorithms, enabling them to work on much larger data sets
than is currently feasible. The parallelization method described here
will also be applied to other operators besides the FDCT. Finally, we
hope that this method will open up new possibilities in parallel signal
processing in a variety of fields.
ACKNOWLEDGMENTS
(a)
The authors would like to thank the authors of the Fast Discrete Curvelet
Transform (FDCT) for making this code available at www.curvelet.org.
This work was in part financially supported by NSERC Discovery
Grant 22R81254 of Felix J. Herrmann and was carried out as part of
the SINBAD project with support, secured through ITF (the Industry
Technology Facilitator), from the following organizations: BG Group,
BP, Chevron, ExxonMobil and Shell.
REFERENCES
REFERENCES
Claerbout, J. F., 1992, Earth soundings analysis, Processing versus inversion: Blackwell
Scientific Publishing.
Daubechies, I., M. Defrise, and C. de Mol, 2004, An iterative thresholding algorithm for
linear inverse problems with a sparsity constraint: Communications on Pure and
Applied Mathematics, 1413–1457.
Gupta, A., and V. Kumar, 1993, The scalability of FFT on parallel computers: IEEE
Transaction on Parallel and Distributed Systems.
Fan, J., K. T. Nihei, L. Meyer, N. Cook, and J. Rector, 1997, Overlap domain
decomposition method for wave propagation: 67th Annual International Meeting,
SEG, Expanded Abstracts, 1485–1488.
Hennenfent, G., and F. J. Herrmann, 2006, Application of stable seismic signal recovery
to seismic interpolation: Presented at the 76th Annual International Meeting,
SEG.
Herrmann, F. J., and G. Hennenfent, 2006, Non-parametric seismic data recovery with
curvelet frames: to be submitted.
Mallat, S., 1998, A wavelet tour of signal processing: Academic Press.
Ying, L., and E. Candés, 2005, 3D discrete curvelet transform: submitted for publication.