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

Lack of asynchronous processing #329

Open
MilesCranmer opened this issue Jul 1, 2024 · 2 comments
Open

Lack of asynchronous processing #329

MilesCranmer opened this issue Jul 1, 2024 · 2 comments

Comments

@MilesCranmer
Copy link
Owner

For some reason it seems like the line

isready(state.channels[j][i])
is always returning true.

I really don't understand this. But it seems as though this would mean there isn't a chance for asynchronous processing to take place?

@MilesCranmer
Copy link
Owner Author

Okay it's not always true. But by the time the loop gets back to it, it is true.

Is this the Julia scheduler's fault maybe? Is it finishing tasks without giving the head node enough time to work?

@MilesCranmer
Copy link
Owner Author

Apparently quinnj has a workaround for this issue:

Just as an FYI, I made a very lightweight package that allows spawning multithreaded tasks on a non-main thread. i.e. it will keep a single main thread free to respond to other tasks/things, and only extra "worker" threads will be eligible to perform @spawn-ed tasks. It works well in the application/microservice setup where it's important to keep a "main" thread open to respond to health checks, heartbeats, etc. ref: https://github.com/JuliaServices/WorkerUtilities.jl

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