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

precompileplkgs: release parallel limiter when waiting for another process #56844

Merged

Conversation

IanButterworth
Copy link
Member

@IanButterworth IanButterworth commented Dec 16, 2024

This prevents a process waiting for a pidlock if another process is working on that thing, if this process can do other things.

Should help resource constrained workers sharing a depot, however if those workers aren't properly CPU constrained then this could exacerbate oversubscribing the system.

Here both of these have 7 (CPU_THREADS+1) tasks actually precompiling
Screenshot 2024-12-16 at 4 41 13 PM

@IanButterworth IanButterworth added the backport 1.11 Change should be backported to release-1.11 label Dec 16, 2024
@IanButterworth IanButterworth marked this pull request as draft December 16, 2024 10:52
@IanButterworth IanButterworth force-pushed the ib/precompile_parallel_narrow branch from 9cd7234 to b7c4962 Compare December 16, 2024 11:12
@IanButterworth IanButterworth changed the title precompileplkgs: move parallel limiter to specifically around work being done precompileplkgs: release parallel limiter when waiting for another process Dec 16, 2024
@IanButterworth IanButterworth marked this pull request as ready for review December 16, 2024 11:15
@KristofferC
Copy link
Member

This means that if one process has 3 packages it wants to precompile and it now wants to precompile one which is already being precompiled by another process, it goes and precompiles one of the others instead?

@IanButterworth
Copy link
Member Author

IanButterworth commented Dec 16, 2024

Indeed. And the one it's waiting on will remain in the list with the pidlock message.

@IanButterworth
Copy link
Member Author

IanButterworth commented Dec 16, 2024

Here both of these have 7 (CPU_THREADS+1) tasks actually precompiling
Screenshot 2024-12-16 at 4 41 13 PM

@IanButterworth IanButterworth merged commit 3774014 into JuliaLang:master Dec 17, 2024
12 checks passed
@IanButterworth IanButterworth deleted the ib/precompile_parallel_narrow branch December 17, 2024 20:00
@KristofferC KristofferC mentioned this pull request Jan 2, 2025
51 tasks
KristofferC pushed a commit that referenced this pull request Jan 2, 2025
KristofferC pushed a commit that referenced this pull request Jan 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport 1.11 Change should be backported to release-1.11
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants