Continuously combining seismic migration results using a massively parallel processing (MPP) database
AssigneeEMC IP Holding Company LLC
InventorsAngelo Ciarlini, Edward Pacheco, Luiz Guilherme Santos
Life of this patent
Estimating the term…
Abstract
In one aspect, a method includes continuously combining seismic migration results using a massively parallel processing (MPP) database. In another aspect, an apparatus includes electronic hardware circuitry configured to continuously combine seismic migration results using a massively parallel processing (MPP) database. In a further aspect, an article includes a non-transitory computer-readable medium that stores computer-executable instructions. The instructions cause a machine to continuously combine seismic migration results using a massively parallel processing (MPP) database.
Claims20
A method comprising:
- (a-1) configuring a first number of compute nodes, each respective compute node comprising a migration process and a result transfer process, wherein each respective compute node is configured for receiving and processing seismic raw data associated with a plurality of shots, wherein each respective compute node is configured to process an entire shot within the respective compute node;
- (a-2) configuring a set of result buffers to provide, for each respective compute node, at least one corresponding result buffer in operable communication with the respective compute node, the corresponding result buffer configured to store a respective set of seismic migration results generated at the respective compute node;
- (a-3) configuring a massively parallel processing (MPP) database to be in operable communication with the first number of compute nodes and with the set of result buffers, wherein the MPP database comprises:
- a second first number of segment database nodes available to store seismic migration results;
- a data ingestion module configured to receive seismic migration results from the respective result buffers and to control ingestion of seismic migration results into the segment database nodes;
- and
- a sum controller configured to sum the results stored in the second number of segment database nodes;
- (b-1) receiving, into the first number of compute nodes, the seismic raw data associated with a plurality of shots;
- (b-2) processing, in each respective compute node, the seismic raw data into a respective set of seismic migration results;
- (c) configuring the migration process in each respective compute node to migrate a respective subset of the seismic raw data associated with a respective first or next one of the plurality of shots from the respective compute node to the corresponding at least one result buffer for the respective compute node;
- (d-1) in parallel with the migration process, configuring the result transfer process in each respective compute node to transfer and store the respective set of seismic migration results from the corresponding at least one result buffer to the data ingestion module of the segment database nodes of the MPP database;
- (d-2) in parallel with the migration process, configuring the data ingestion module to ingest the transferred seismic migration results, in parallel, into the corresponding one or more segment database nodes of the MPP, wherein the transferred seismic migration results are ingested and grouped into the one or more corresponding segment database nodes according to the position of the seismic migration results in a seismic cube that is associated with the seismic migration results;
- (e) in parallel with the migration process, selecting a next respective one of the plurality of shots to be processed at a respective one of the first number of compute nodes;
- (f) repeating (c) through (e) continuously until a number of seismic migration results in the MPP database reaches a predefined limit, the predefined limit based at least in part on the first number of compute nodes and the second number of segment database nodes, wherein the predetermined limit is selected to ensure that a time for data ingestion into the MPP database and for combining in the MPP database does not substantially increase an overall time for migration;
- and
- (g) in parallel with the migration process, when the predefined limit is reached, configuring the sum controller to execute a parallel sum that combines, within the MPP database, the seismic migration results that were transferred and stored in (d-1) up to the time the predefined limit is reached, into a plurality of accumulated values;
- wherein (a-1) through (g) are configured and wherein the predefined limit is selected, so that a time to complete (g) is less than a time to complete (b-1) through (e), such that (b-1)-(e) occur substantially in parallel with (g) without interruption for checkpointing;
- and
- wherein (a-1) through (g) are configured to continuously ingest, combine, and stack the seismic migration results, within the MPP database, using the data ingestion module, sum controller and segment database nodes of the MPP database.
An apparatus, comprising electronic hardware circuitry configured to:
- (a-1) provide a first number of compute nodes, each respective compute node comprising a migration process and a result transfer process, wherein each respective compute node is configured for receiving and processing seismic raw data associated with a plurality of shots, wherein each respective compute node is configured to process an entire shot within the respective compute node;
- (a-2) provide, for each respective compute node, at least one corresponding result buffer in operable communication with the respective compute node, the result buffer configured to store a respective set of seismic migration results generated at the respective compute node;
- (a-3) provide a massively parallel processing (MPP) database to be in operable communication with the first number of compute nodes and with the set of result buffer, wherein the MPP database comprises:
- a second number of segment database nodes available to store seismic migration results;
- a data ingestion module configured to receive seismic migration results from the respective result buffers and to control ingestion of seismic migration results into the segment database nodes;
- and
- a sum controller configured to sum the results stored in the second number of segment database nodes;
- (b-1) receive, into the first number of compute nodes, the seismic raw data associated with a plurality of shots;
- (b-2) process, in each respective compute node, the seismic raw data into a respective set of seismic migration results;
- (c) cause the migration process in each respective compute node to migrate a respective subset of the seismic raw data associated with a respective first or next one of the plurality of shots from the respective compute node to the corresponding at least one to a result buffer for the respective compute node;
- (d-1) in parallel with the migration process, cause the result transfer process in each respective compute node to transfer and store the respective set of seismic migration results from the corresponding at least one result buffer to the data ingestion module of the segment database nodes of the MPP database;
- (d-2) in parallel with the migration process, cause the data ingestion module to ingest the transferred seismic migration results, in parallel, into the corresponding one or more segment database nodes of the MPP, wherein the transferred seismic migration results are ingested and grouped into the one or more corresponding segment database nodes according to the position of the seismic migration results in a seismic cube that is associated with the seismic migration results;
- (e) in parallel with the migration process, select, a next respective one of the plurality of shots to be processed at a respective one of the first number of compute nodes;
- (f) repeat (c) through (e) continuously until a number of seismic migration results in the MPP database reaches a predefined limit, the predefined limit based at least in part on the first number of compute nodes and the second number of segment database nodes, wherein the predetermined limit is selected to ensure that a time for data ingestion into the MPP database and for combining in the MPP database does not substantially increase an overall time for migration;
- and
- (g) in parallel with the migration process, when the predefined limit is reached, configuring the sum controller to execute a parallel sum that combines, in the MPP database, the seismic migration results that were transferred and stored in (d-1) up to the time the predefined limit is reached, into a plurality of accumulated values;
- wherein (a-1) through (g) are configured and wherein the predefined limit is selected, so that a time to complete (g) is less than a time to complete (b-1) through (e), such that (b-1)-(e) occur substantially in parallel with (g) without interruption for checkpointing;
- and
- wherein (a-1) through (g) are configured to continuously ingest, combine, and stack the seismic migration results, within the MPP database, using the data ingestion module, sum controller and segment database nodes of the MPP database.
An article comprising:
- a non-transitory computer-readable medium that stores computer-executable instructions, the instructions causing a machine to:
- (a-1) configure a first number of compute nodes, each respective compute node comprising a migration process and a result transfer process, wherein each respective compute node is configured for receiving and processing seismic raw data associated with a plurality of shots, wherein each respective compute node is configured to process an entire shot within the respective compute node;
- (a-2) configure a set of result buffers to provide, for each respective compute node, at least one corresponding result buffer in operable communication with the respective compute node, the corresponding result buffer configured to store a respective set of seismic migration results generated at the respective compute node;
- (a-3) configure a a massively parallel processing (MPP) database to be in operable communication with the first number of compute nodes and with the set of result buffers, wherein the MPP database comprises:
- a second number of segment database nodes available to store seismic migration results;
- a data ingestion module configured to receive seismic migration results from the respective result buffers and to control ingestion of seismic migration results into the segment database nodes;
- and
- a sum controller configured to sum the results stored in the second number of segment database nodes;
- (b-1) receive, into the first number of compute nodes, the seismic raw data associated with a plurality of shots;
- (b-2) processing, in each respective compute node, the seismic raw data into a respective set of seismic migration results;
- (c) configure the migration process in each respective compute node to migrate a respective subset of the seismic raw data associated with a respective first or next one of the plurality of shots from the respective compute node to the corresponding at least one a result buffer for the respective compute node;
- (d-1) in parallel with the migration process, configure the result transfer process in each respective compute node to transfer and store the respective set of seismic migration results from the corresponding at least one result buffer to the data ingestion module of the segment database nodes of the MPP database;
- (d-2) in parallel with the migration process, configure the data ingestion module to ingest the transferred seismic migration results, in parallel, into the corresponding one or more segment database nodes of the MPP, wherein the transferred seismic migration results are ingested and grouped into the one or more corresponding segment database nodes according to the position of the seismic migration results in a seismic cube that is associated with the seismic migration results;
- (e) in parallel with the migration process, select a next respective one of the plurality of shots to be processed at a respective one of the first number of compute nodes;
- repeat (c) through (e) continuously until a number of seismic migration results in the MPP database reaches a predefined limit, the predefined limit based at least in part on the first number of compute nodes and the second number of segment database nodes, wherein the predetermined limit is selected to ensure that a time for data ingestion into the MPP database and for combining in the MPP database does not substantially increase an overall time for migration;
- and
- (g) in parallel with the migration process, when the predefined limit is reached, configure the sum controller to execute a parallel sum that combines, within the MPP database, the seismic migration results that were transferred and stored in (d-1) up to the time the predefined limit is reached, into a plurality of accumulated values;
- wherein (a-1) through (g) are configured and wherein the predefined limit is selected, so that a time to complete (g) is less than a time to complete (b-1) through (e), such that (b-1)-(e) occur substantially in parallel with (g) without interruption for checkpointing;
- and
- wherein (a-1) through (g) are configured to continuously ingest, combine and stack the seismic migration results, within the MPP database, using the sum data ingestion module, controller and segment database nodes of the MPP database.
Dependencies are inferred from the claim text.