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

[Core feature] Fast cache hit success #2886

Closed
2 tasks done
hamersaw opened this issue Sep 15, 2022 · 2 comments · Fixed by flyteorg/flytepropeller#485
Closed
2 tasks done

[Core feature] Fast cache hit success #2886

hamersaw opened this issue Sep 15, 2022 · 2 comments · Fixed by flyteorg/flytepropeller#485
Assignees
Labels
enhancement New feature or request propeller Issues related to flyte propeller
Milestone

Comments

@hamersaw
Copy link
Contributor

Motivation: Why do you think this is important?

Currently a cached task requires a sequence of state changes to successfully proceed within FlytePropeller. For example, (1) copying inputs from previous nodes, (2) performing cache lookup, (3) writing outputs. Each of these stages requires additional I/O (and time overhead) in committing workflow state at each stage, which may have significant effect on overall workflow performance containing many cached tasks.

Users typically expect cache lookups to be almost instantaneous

Goal: What should the final outcome look like, ideally?

The state change commits required for cache lookups is orthogonal to what users expect. Rather, cache lookups should be almost instantaneous. As a proposal, we can update FlytePropeller to perform cache lookup sequences without stopping to commit node phase updates. This will greatly improve performance and still maintain the correctness guarantees because a node cache lookup is an idempotent operation.

Describe alternatives you've considered

Leaving cache evaluations as is may result in significant workflow evaluation overhead.

Propose: Link/Inline OR Additional context

No response

Are you sure this issue hasn't been raised already?

  • Yes

Have you read the Code of Conduct?

  • Yes
@dylanwilder
Copy link

+1 this would be awesome! what's the status of this?

@hamersaw
Copy link
Contributor Author

hamersaw commented May 4, 2023

+1 this would be awesome! what's the status of this?

@dylanwilder not going to be ready for 1.6, but planning on merging for 1.7. Just making sure it syncs with the ongoing ArrayNode work. Another benefit here, that I know you'll be interested in, is that this moves cache lookups to the node layer, making it possible to support caching of launchplans and subworkflows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request propeller Issues related to flyte propeller
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants