Optimization of geophysical workflow performance using on-demand pre-fetching for large seismic datasets
A system to provide on-demand fetching of sequential sets of seismic data to local memory from slower storage mediums prior to performing computing operations, such as horizon auto-tracking, amplitude extraction and seismic attribute generation. As a result, the performance of the storage infrastructure (e.g., hard drives, storage filer “file server” over network, etc.) is maximized and the local memory/cache speed is fully utilized to deliver optimal system performance even when working with large seismic datasets that exceed the storage capacity of the local memory.
1. A computer-implemented method to analyze seismic data, the method comprising:
generating a seismic interpretation model of a hydrocarbon reservoir, the seismic interpretation model comprising seismic data defined by cartographic coordinates which form a plurality of traces, the traces being sets of seismic data positioned side-by-side in a defined cartographic direction;
selecting an input dataset from the seismic data, and an operation to be performed thereon;
defining a set of sequential traces required by the operation within the input dataset, the sequential traces being sets of traces positioned side-by-side in a defined cartographic direction;
fetching the set of sequential traces from a storage medium based upon a determination of whether the set of sequential traces is positioned outside a previously fetched set of sequential traces;
writing the fetched set of sequential traces to local memory;
performing the operation on the set of sequential traces in the local memory; and
generating an output dataset based upon the performed operation.
2. A computer-implemented method as defined in claim 1 , wherein fetching the set of sequential traces further comprises:
if the set of sequential traces is positioned outside the previously fetched set of sequential traces, fetching the set of sequential traces from the storage medium; or
if the set of sequential traces is positioned inside the previously fetched set of sequential traces, performing an operation on the set of sequential traces without re-fetching the set of sequential traces from the storage medium.
3. A computer-implemented method as defined in claim 1 , further comprising:
determining if the operation has been performed on all traces in the input dataset;
if the operation has not been performed on all traces in the input dataset, fetching a second set of sequential traces from the storage medium;
writing the fetched second set of sequential traces to the local memory;
performing the operation on the second set of sequential traces in the local memory; and
generating another output dataset based upon the performed operation.
4. A computer-implemented method as defined in claim 1 , wherein fetching the set of sequential traces comprises reading traces from the storage medium in an optimal cartographic direction as defined in a dataset volume header.
5. A computer-implemented method as defined in claim 1 , wherein writing the fetched set of sequential traces comprising writing the fetched set of sequential traces to random-access memory.
6. A computer-implemented method as defined in claim 1 , wherein writing the fetched set of sequential traces comprising writing the fetched set of sequential traces to a cache.
7. A computer-implemented method as defined in claim 1 , wherein performing the operation comprises performing an amplitude extraction, autotracking operation or seismic attribute generation on the set of sequential traces.
8. A computer-implemented method as defined in claim 1 , wherein the output dataset is utilized to plan, perform or analyze a wellbore operation.
9. A computer-implemented method as defined in claim 1 , further comprising:
visualizing the output dataset; or
using the output dataset to perform further operations.
10. A system to analyze seismic data, the system comprising:
processing circuitry to implement the method in claim 1 ;
a local memory communicably coupled to the processing circuitry; and
a storage medium communicably coupled to the processing circuitry.
11. A system as defined in claim 10 , wherein the local memory is a random-access memory.
12. A system as defined in claim 10 , wherein the local memory is a cache.
13. A system as defined in claim 10 , wherein the storage medium is a hard disk, network storage device, CD-RW, DVD-RW, or filer.
14. A non-transitory computer readable medium comprising instructions which, when executed by at least one processor, causes the processor to perform the method comprising:
generating a seismic interpretation model of a hydrocarbon reservoir, the seismic interpretation model comprising seismic data defined by cartographic coordinates which form a plurality of traces, the traces being sets of seismic data positioned side-by-side in a defined cartographic direction;
selecting an input dataset from the seismic data, and an operation to be performed thereon;
defining a set of sequential traces required by the operation within the input dataset, the sequential traces being sets of traces positioned side-by-side in a defined cartographic direction;
fetching the set of sequential traces from a storage medium based upon a determination whether the set of sequential traces is positioned outside a previously fetched set of sequential traces;
writing the fetched set of sequential traces to local memory;
performing the operation on the set of sequential traces in the local memory; and
generating an output dataset based upon the performed operation.
15. The computer readable medium of claim 14 , wherein fetching the set of sequential traces further comprises:
if the set of sequential traces is positioned outside the previously fetched set of sequential traces, fetching the set of sequential traces from the storage medium; or
if the set of sequential traces is positioned inside the previously fetched set of sequential traces, performing an operation on the set of sequential traces without re-fetching the set of sequential traces from the storage medium.
16. The computer readable medium of claim 14 , wherein the method further comprises:
determining if the operation has been performed on all traces in the input dataset;
if the operation has not been performed on all traces in the input dataset, fetching a second set of sequential traces from the storage medium;
writing the fetched second set of sequential traces to the local memory;
performing the operation on the second set of sequential traces in the local memory; and
generating another output dataset based upon the performed operation.
17. The computer readable medium of claim 14 , wherein fetching the set of sequential traces comprises reading traces from the storage medium in an optimal cartographic direction as defined in a dataset volume header.
18. The computer readable medium of claim 14 , wherein writing the fetched set of sequential traces comprises writing the fetched set of sequential traces to random-access memory.
19. The computer readable medium of claim 14 , wherein writing the fetched set of sequential traces comprises writing the fetched set of sequential traces to a cache.
20. The computer readable medium of claim 14 , wherein performing the operation comprises performing an amplitude extraction, autotracking operation or seismic attribute generation on the set of sequential traces.