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

Add hpx::runtime::suspend and hpx::runtime::resume #1063

Closed
hkaiser opened this issue Feb 12, 2014 · 2 comments
Closed

Add hpx::runtime::suspend and hpx::runtime::resume #1063

hkaiser opened this issue Feb 12, 2014 · 2 comments

Comments

@hkaiser
Copy link
Member

hkaiser commented Feb 12, 2014

Adding hpx::runtime::suspend and hpx::runtime::resume should help controlling contention for the case when there is too little parallelism available to the runtime and all os-threads constantly try to pull work from each other while all queues are (nearly) empty.

@hkaiser hkaiser added this to the 0.9.8 milestone Feb 12, 2014
@hkaiser hkaiser self-assigned this Feb 12, 2014
@hkaiser
Copy link
Member Author

hkaiser commented Feb 12, 2014

Alternatively (and this might be the better and more general solution) we could add some exponential stepping back in the os-threads running in the scheduler. After a certain idle time without new work the threads could suspend (timed wait). New work would immediately wake up the threads.

hkaiser added a commit that referenced this issue Feb 13, 2014
hkaiser added a commit that referenced this issue Feb 14, 2014
@hkaiser
Copy link
Member Author

hkaiser commented Feb 17, 2014

The commits above have added a cmake config variable HPX_THREAD_BACKOFF_ON_IDLE which enables some back off strategy for our os-threads if they are idle.

@hkaiser hkaiser closed this as completed Feb 17, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant