equinor / equinor/oneseismic-api
Find the best place to split request / create threads
- Dominant language
- C++
- Stars
- 5
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
In theory whenever we get an attributes request it should be possible to immediately split it to several Regular Surfaces (by rows, by columns, by some rectangular grids?) and make each of them separately calculate the attributes.
That would in theory mean getting rid of goroutines in GetAttributes, no need to send from/to to c++ and so on. It should also be a good place to split request into several datahandles, which should bring additional performance benefits.
This task has many unknowns and requires experimentation - should we use goroutines both inside GetAttributes and outside, or just outside, how much performance benefit can we get, what the surface division should be, etc.
Other option is to use grpc and split request earlier on. That would allow us to utilize whole bandwidth and, if we would have several replicas, use all resources to process huge requests.
(might be done after or instead of #181)
Contributor guide
Assessment
This issue has not been assessed yet.