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

Runahead Scheduling is limited by VCU handling! #94

Open
wlruys opened this issue Apr 17, 2023 · 2 comments
Open

Runahead Scheduling is limited by VCU handling! #94

wlruys opened this issue Apr 17, 2023 · 2 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed performance

Comments

@wlruys
Copy link
Contributor

wlruys commented Apr 17, 2023

If a task is currently running it has consumed VCU resources on the device.

Runahead scheduling allows a dependent to be launched while the task is still running. However, the dependent consumes its own amount of VCUs when it launches. This restricts other tasks that could be enqueued from running.

Alternatively the dependent may not be able to launch due to resources in use. Consider the case when the predecessor (currently running) task has vcus=1, the dependent will not be able to launch ahead of time as the predecessor is still consuming all resources. In this case no runahead happens.

I am not sure of the best way to handle this without causing oversubscription of dependent tasks. But this is likely why we still see overheads in the runahead case.

@wlruys wlruys added bug Something isn't working enhancement New feature or request performance labels Apr 17, 2023
@wlruys wlruys self-assigned this May 1, 2023
@wlruys wlruys added the help wanted Extra attention is needed label May 1, 2023
@wlruys
Copy link
Contributor Author

wlruys commented May 1, 2023

As our highest overheads are in Python and not in dependency handling (which this would help hide), I'm marking this as lower priority for the moment.

@wlruys wlruys removed the bug Something isn't working label May 1, 2023
@nicelhc13
Copy link
Contributor

Thanks. Then, at this moment, we may just use the min() idea that you mentioned.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed performance
Projects
None yet
Development

No branches or pull requests

2 participants