Skip to content

Incident raygrid bottleneck #14

@pavlis

Description

@pavlis

The migrate_event function in this package has a serial section that computes the incident P wave travel times in a 3D volume. That section takes about 2 minutes to run. Not a serious concern when the number of workers is small given the serial time to process the plane wave summation (not done in parallel) takes about 120 s per component. Serial that is typically several hours. However, with a reasonable cluster that could be reduced to something as low as around 5 minutes. 2 minutes is a large fraction of 5.

I think of two solutions to this problem:

  1. Write an application that precomputes the travel time volumes and stores them in files with indexing via mongodb.
  2. An in memory version could be created in parallel as a preparatory step for running a full data set through migrate_event. i.e. right now the model is parallelism only within migrate_event with the complete processing a loop over all events.

Approach 2 would be cleaner, but (a) much more complex, and (b) prone to creating a new memory problem since the travel time field volume are not exactly tiny.

mspass-team members please comment. Not a top priority but something we need to ultimately address to make this package work efficiently.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions