Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pruning for repeated workflow calls #148

Open
SimonHeybrock opened this issue Mar 20, 2024 · 1 comment
Open

Pruning for repeated workflow calls #148

SimonHeybrock opened this issue Mar 20, 2024 · 1 comment

Comments

@SimonHeybrock
Copy link
Member

SimonHeybrock commented Mar 20, 2024

This is mainly a note about something we could do relatively easily when moving to a more graph-based approach (see recent work). Frequently, we may want to run the same workflow on a series of inputs. However, not all inputs may change, and we would like to avoid re-computation of unchanged data. This can be done quite easily, I think:

  • Given a task graph and input keys that are updated, find all affected nodes.
  • Find all unaffected parents of affected nodes.
  • Compute all the unaffected parents.
  • Set these computed results in the pipeline.
  • Rebuild the graph.

This is not a suggestion to implement the above in Sciline, rather something that should guide Sciline's data structure and interface design, to make it easy.

@SimonHeybrock
Copy link
Member Author

Not exactly the same, but have a look at https://scipp.github.io/essreduce/generated/modules/ess.reduce.streaming.html#module-ess.reduce.streaming for an implementation of a very similar feature, on top of Sciline.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant